module AWS.RDS.Types.DBInstance
( DBInstance(..)
, VpcSecurityGroupMembership(..)
, DBParameterGroupStatus(..)
, DBSecurityGroupMembership(..)
, Endpoint(..)
, OptionGroupMembership(..)
, PendingModifiedValue(..)
, CreateDBInstanceRequest(..)
, DBInstanceClass
, Engine
, LicenseModel(..)
, FinalSnapshot(..)
, CreateReadReplicaRequest(..)
) where
import AWS.Lib.FromText (Text, UTCTime, deriveFromText)
import AWS.RDS.Types.DBSubnetGroup (DBSubnetGroup)
data DBInstance = DBInstance
{ dbInstanceIops :: Maybe Int
, dbInstanceBackupRetentionPeriod :: Int
, dbInstanceStatus :: Maybe Text
, dbInstanceMultiAZ :: Bool
, dbInstanceVpcSecurityGroups :: [VpcSecurityGroupMembership]
, dbInstanceIdentifier :: Text
, dbInstancePreferredBackupWindow :: Text
, dbInstancePreferredMaintenanceWindow :: Text
, dbInstanceOptionGroupMembership :: Maybe OptionGroupMembership
, dbInstanceAvailabilityZone :: Maybe Text
, dbInstanceLatestRestorableTime :: Maybe UTCTime
, dbInstanceReadReplicaDBInstanceIdentifiers :: [Text]
, dbInstanceEngine :: Engine
, dbInstancePendingModifiedValues :: [PendingModifiedValue]
, dbInstanceCharacterSetName :: Maybe Text
, dbInstanceLicenseModel :: LicenseModel
, dbInstanceSubnetGroup :: Maybe DBSubnetGroup
, dbInstanceDBParameterGroups :: [DBParameterGroupStatus]
, dbInstanceEndpoint :: Maybe Endpoint
, dbInstanceEngineVersion :: Text
, dbInstanceReadReplicaSourceDBInstanceIdentifier :: Maybe Text
, dbInstancePubliclyAccessible :: Bool
, dbInstanceSecurityGroups :: [DBSecurityGroupMembership]
, dbInstanceAutoMinorVersionUpgrade :: Bool
, dbInstanceDBName :: Maybe Text
, dbInstanceCreateTime :: Maybe UTCTime
, dbInstanceAllocatedStorage :: Int
, dbInstanceClass :: DBInstanceClass
, dbInstanceMasterUsername :: Text
}
deriving (Show, Eq)
data VpcSecurityGroupMembership = VpcSecurityGroupMembership
{ vpcSecurityGroupStatus :: Text
, vpcSecurityGroupId :: Text
}
deriving (Show, Eq)
data DBParameterGroupStatus = DBParameterGroupStatus
{ dbParameterGroupStatusStatus :: Text
, dbParameterGroupStatusName :: Text
}
deriving (Show, Eq)
data DBSecurityGroupMembership = DBSecurityGroupMembership
{ dbSecurityGroupMembershipStatus :: Text
, dbSecurityGroupMembershipName :: Text
}
deriving (Show, Eq)
data Endpoint = Endpoint
{ endpointPort :: Int
, endpointAddress :: Text
}
deriving (Show, Eq)
data OptionGroupMembership = OptionGroupMembership
{ optionGroupName :: Text
, optionGroupStatus :: Text
}
deriving (Show, Eq)
data PendingModifiedValue
= PendingModifiedValueAllocatedStorage Int
| PendingModifiedValueBackupRetentionPeriod Int
| PendingModifiedValueDBInstanceClass Text
| PendingModifiedValueEngineVersion Text
| PendingModifiedValueIops Int
| PendingModifiedValueMasterUserPassword Text
| PendingModifiedValueMultiAZ Bool
| PendingModifiedValuePort Int
| PendingModifiedValueDBInstanceIdentifier Text
deriving (Show, Eq)
data CreateDBInstanceRequest = CreateDBInstanceRequest
{ createDBInstanceAllocatedStorage :: Int
, createDBInstanceAutoMinorVersionUpgrade :: Maybe Bool
, createDBInstanceAvailabilityZone :: Maybe Text
, createDBInstanceBackupRetentionPeriod :: Maybe Int
, createDBInstanceCharacterSetName :: Maybe Text
, createDBInstanceClass :: DBInstanceClass
, createDBInstanceIdentifier :: Text
, createDBInstanceDBName :: Maybe Text
, createDBInstanceDBParameterGroupName :: Maybe Text
, createDBInstanceDBSecurityGroups :: [Text]
, createDBInstanceDBSubnetGroupName :: Maybe Text
, createDBInstanceEngine :: Engine
, createDBInstanceEngineVersion :: Maybe Text
, createDBInstanceIops :: Maybe Int
, createDBInstanceLicenseModel :: Maybe LicenseModel
, createDBInstanceMasterUserPassword :: Text
, createDBInstanceMasterUsername :: Text
, createDBInstanceMultiAZ :: Maybe Bool
, createDBInstanceOptionGroupName :: Maybe Text
, createDBInstancePort :: Maybe Int
, createDBInstancePreferredBackupWindow :: Maybe Text
, createDBInstancePreferredMaintenanceWindow :: Maybe Text
, createDBInstancePubliclyAccessible :: Maybe Bool
, createDBInstanceVpcSecurityGroupIds :: [Text]
}
deriving (Show, Eq)
type DBInstanceClass = Text
type Engine = Text
data LicenseModel
= LicenseIncluded
| BringYourOwnLicense
| GeneralPublicLicense
deriving (Read, Eq)
instance Show LicenseModel where
show LicenseIncluded = "license-included"
show BringYourOwnLicense = "bring-your-own-license"
show GeneralPublicLicense = "general-public-license"
data FinalSnapshot
= FinalSnapshotIdentifier Text
| SkipFinalSnapshot
data CreateReadReplicaRequest = CreateReadReplicaRequest
{ createReadReplicaAutoMinorVersionUpgrade :: Maybe Bool
, createReadReplicaAvailabilityZone :: Maybe Text
, createReadReplicaDBInstanceClass :: DBInstanceClass
, createReadReplicaDBInstanceIdentifier :: Text
, createReadReplicaIops :: Maybe Int
, createReadReplicaOptionGroupName :: Maybe Text
, createReadReplicaPort :: Maybe Int
, createReadReplicaPubliclyAccessible :: Maybe Bool
, createReadReplicaSourceDBInstanceIdentifier :: Text
}
deriving (Show, Eq)
deriveFromText "LicenseModel"
[ "license-included", "bring-your-own-license", "general-public-license"
]