module AWS.RDS.Types.DBInstance
( DBInstance(..)
, VpcSecurityGroupMembership(..)
, DBParameterGroupStatus(..)
, DBSecurityGroupMembership(..)
, Endpoint(..)
, OptionGroupMembership(..)
, PendingModifiedValue(..)
) where
import AWS.Lib.FromText (Text, UTCTime)
import AWS.RDS.Types.DBSubnetGroup (DBSubnetGroup)
data DBInstance = DBInstance
{ dbiIops :: Maybe Int
, dbiBackupRetentionPeriod :: Int
, dbiDBInstanceStatus :: Maybe Text
, dbiMultiAZ :: Bool
, dbiVpcSecurityGroups :: [VpcSecurityGroupMembership]
, dbiDBInstanceIdentifier :: Text
, dbiPreferredBackupWindow :: Text
, dbiPreferredMaintenanceWindow :: Text
, dbiOptionGroupMembership :: Maybe OptionGroupMembership
, dbiAvailabilityZone :: Text
, dbiLatestRestorableTime :: Maybe UTCTime
, dbiReadReplicaDBInstanceIdentifiers :: [Text]
, dbiEngine :: Text
, dbiPendingModifiedValues :: [PendingModifiedValue]
, dbiCharacterSetName :: Maybe Text
, dbiLicenseModel :: Text
, dbiSubnetGroup :: Maybe DBSubnetGroup
, dbiDBParameterGroups :: [DBParameterGroupStatus]
, dbiEndpoint :: Maybe Endpoint
, dbiEngineVersion :: Text
, dbiReadReplicaSourceDBInstanceIdentifier :: Maybe Text
, dbiPubliclyAccessible :: Bool
, dbiSecurityGroups :: [DBSecurityGroupMembership]
, dbiAutoMinorVersionUpgrade :: Bool
, dbiDBName :: Maybe Text
, dbiInstanceCreateTime :: Maybe UTCTime
, dbiAllocatedStorage :: Int
, dbiDBInstanceClass :: Text
, dbiMasterUsername :: Text
}
deriving (Show, Eq)
data VpcSecurityGroupMembership = VpcSecurityGroupMembership
{ vpcSecurityGroupMembershipStatus :: Text
, vpcSecurityGroupMembershipVpcSecurityGroupId :: Text
}
deriving (Show, Eq)
data DBParameterGroupStatus = DBParameterGroupStatus
{ dbpgsParameterApplyStatus :: Text
, dbpgsDBParameterGroupName :: Text
}
deriving (Show, Eq)
data DBSecurityGroupMembership = DBSecurityGroupMembership
{ dbsgmStatus :: Text
, dbsgmDBSecurityGroupName :: Text
}
deriving (Show, Eq)
data Endpoint = Endpoint
{ epPort :: Int
, epAddress :: Text
}
deriving (Show, Eq)
data OptionGroupMembership = OptionGroupMembership
{ ogmOptionGroupName :: Text
, ogmStatus :: Text
}
deriving (Show, Eq)
data PendingModifiedValue
= PMVAllocatedStorage Int
| PMVBackupRetentionPeriod Int
| PMVDBInstanceClass Text
| PMVEngineVersion Text
| PMVIops Int
| PMVMasterUserPassword Text
| PMVMultiAZ Bool
| PMVPort Int
deriving (Show, Eq)