{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.RDS.CreateDBInstance -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Creates a new DB instance. -- -- /See:/ for CreateDBInstance. module Network.AWS.RDS.CreateDBInstance ( -- * Creating a Request createDBInstance , CreateDBInstance -- * Request Lenses , cdiDBSecurityGroups , cdiEngineVersion , cdiStorageEncrypted , cdiDBClusterIdentifier , cdiAutoMinorVersionUpgrade , cdiMasterUserPassword , cdiMasterUsername , cdiPubliclyAccessible , cdiDBSubnetGroupName , cdiIOPS , cdiDomain , cdiTDECredentialPassword , cdiLicenseModel , cdiPreferredMaintenanceWindow , cdiCharacterSetName , cdiPreferredBackupWindow , cdiAvailabilityZone , cdiBackupRetentionPeriod , cdiKMSKeyId , cdiDBParameterGroupName , cdiVPCSecurityGroupIds , cdiMultiAZ , cdiAllocatedStorage , cdiTDECredentialARN , cdiOptionGroupName , cdiCopyTagsToSnapshot , cdiDBName , cdiTags , cdiPort , cdiStorageType , cdiDBInstanceIdentifier , cdiDBInstanceClass , cdiEngine -- * Destructuring the Response , createDBInstanceResponse , CreateDBInstanceResponse -- * Response Lenses , cdirsDBInstance , cdirsStatus ) where import Network.AWS.Prelude import Network.AWS.RDS.Types import Network.AWS.RDS.Types.Product import Network.AWS.Request import Network.AWS.Response -- | -- -- /See:/ 'createDBInstance' smart constructor. data CreateDBInstance = CreateDBInstance' { _cdiDBSecurityGroups :: !(Maybe [Text]) , _cdiEngineVersion :: !(Maybe Text) , _cdiStorageEncrypted :: !(Maybe Bool) , _cdiDBClusterIdentifier :: !(Maybe Text) , _cdiAutoMinorVersionUpgrade :: !(Maybe Bool) , _cdiMasterUserPassword :: !(Maybe Text) , _cdiMasterUsername :: !(Maybe Text) , _cdiPubliclyAccessible :: !(Maybe Bool) , _cdiDBSubnetGroupName :: !(Maybe Text) , _cdiIOPS :: !(Maybe Int) , _cdiDomain :: !(Maybe Text) , _cdiTDECredentialPassword :: !(Maybe Text) , _cdiLicenseModel :: !(Maybe Text) , _cdiPreferredMaintenanceWindow :: !(Maybe Text) , _cdiCharacterSetName :: !(Maybe Text) , _cdiPreferredBackupWindow :: !(Maybe Text) , _cdiAvailabilityZone :: !(Maybe Text) , _cdiBackupRetentionPeriod :: !(Maybe Int) , _cdiKMSKeyId :: !(Maybe Text) , _cdiDBParameterGroupName :: !(Maybe Text) , _cdiVPCSecurityGroupIds :: !(Maybe [Text]) , _cdiMultiAZ :: !(Maybe Bool) , _cdiAllocatedStorage :: !(Maybe Int) , _cdiTDECredentialARN :: !(Maybe Text) , _cdiOptionGroupName :: !(Maybe Text) , _cdiCopyTagsToSnapshot :: !(Maybe Bool) , _cdiDBName :: !(Maybe Text) , _cdiTags :: !(Maybe [Tag]) , _cdiPort :: !(Maybe Int) , _cdiStorageType :: !(Maybe Text) , _cdiDBInstanceIdentifier :: !Text , _cdiDBInstanceClass :: !Text , _cdiEngine :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'CreateDBInstance' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'cdiDBSecurityGroups' -- -- * 'cdiEngineVersion' -- -- * 'cdiStorageEncrypted' -- -- * 'cdiDBClusterIdentifier' -- -- * 'cdiAutoMinorVersionUpgrade' -- -- * 'cdiMasterUserPassword' -- -- * 'cdiMasterUsername' -- -- * 'cdiPubliclyAccessible' -- -- * 'cdiDBSubnetGroupName' -- -- * 'cdiIOPS' -- -- * 'cdiDomain' -- -- * 'cdiTDECredentialPassword' -- -- * 'cdiLicenseModel' -- -- * 'cdiPreferredMaintenanceWindow' -- -- * 'cdiCharacterSetName' -- -- * 'cdiPreferredBackupWindow' -- -- * 'cdiAvailabilityZone' -- -- * 'cdiBackupRetentionPeriod' -- -- * 'cdiKMSKeyId' -- -- * 'cdiDBParameterGroupName' -- -- * 'cdiVPCSecurityGroupIds' -- -- * 'cdiMultiAZ' -- -- * 'cdiAllocatedStorage' -- -- * 'cdiTDECredentialARN' -- -- * 'cdiOptionGroupName' -- -- * 'cdiCopyTagsToSnapshot' -- -- * 'cdiDBName' -- -- * 'cdiTags' -- -- * 'cdiPort' -- -- * 'cdiStorageType' -- -- * 'cdiDBInstanceIdentifier' -- -- * 'cdiDBInstanceClass' -- -- * 'cdiEngine' createDBInstance :: Text -- ^ 'cdiDBInstanceIdentifier' -> Text -- ^ 'cdiDBInstanceClass' -> Text -- ^ 'cdiEngine' -> CreateDBInstance createDBInstance pDBInstanceIdentifier_ pDBInstanceClass_ pEngine_ = CreateDBInstance' { _cdiDBSecurityGroups = Nothing , _cdiEngineVersion = Nothing , _cdiStorageEncrypted = Nothing , _cdiDBClusterIdentifier = Nothing , _cdiAutoMinorVersionUpgrade = Nothing , _cdiMasterUserPassword = Nothing , _cdiMasterUsername = Nothing , _cdiPubliclyAccessible = Nothing , _cdiDBSubnetGroupName = Nothing , _cdiIOPS = Nothing , _cdiDomain = Nothing , _cdiTDECredentialPassword = Nothing , _cdiLicenseModel = Nothing , _cdiPreferredMaintenanceWindow = Nothing , _cdiCharacterSetName = Nothing , _cdiPreferredBackupWindow = Nothing , _cdiAvailabilityZone = Nothing , _cdiBackupRetentionPeriod = Nothing , _cdiKMSKeyId = Nothing , _cdiDBParameterGroupName = Nothing , _cdiVPCSecurityGroupIds = Nothing , _cdiMultiAZ = Nothing , _cdiAllocatedStorage = Nothing , _cdiTDECredentialARN = Nothing , _cdiOptionGroupName = Nothing , _cdiCopyTagsToSnapshot = Nothing , _cdiDBName = Nothing , _cdiTags = Nothing , _cdiPort = Nothing , _cdiStorageType = Nothing , _cdiDBInstanceIdentifier = pDBInstanceIdentifier_ , _cdiDBInstanceClass = pDBInstanceClass_ , _cdiEngine = pEngine_ } -- | A list of DB security groups to associate with this DB instance. -- -- Default: The default DB security group for the database engine. cdiDBSecurityGroups :: Lens' CreateDBInstance [Text] cdiDBSecurityGroups = lens _cdiDBSecurityGroups (\ s a -> s{_cdiDBSecurityGroups = a}) . _Default . _Coerce; -- | The version number of the database engine to use. -- -- The following are the database engines and major and minor versions that -- are available with Amazon RDS. Not every database engine is available -- for every AWS region. -- -- __MySQL__ -- -- - __Version 5.1 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 5.1.73a | 5.1.73b' -- - __Version 5.5 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 5.5.40 | 5.5.40a' -- - __Version 5.5 (Available in all regions):__ -- ' 5.5.40b | 5.5.41 | 5.5.42' -- - __Version 5.6 (Available in all regions):__ -- ' 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22 | 5.6.23' -- -- __MySQL__ -- -- - __Version 5.1 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 5.1.73a | 5.1.73b' -- - __Version 5.5 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 5.5.40 | 5.5.40a' -- - __Version 5.5 (Available in all regions):__ -- ' 5.5.40b | 5.5.41 | 5.5.42' -- - __Version 5.6 (Available in all regions):__ -- ' 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22 | 5.6.23' -- -- __MySQL__ -- -- - __Version 5.1 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 5.1.73a | 5.1.73b' -- - __Version 5.5 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 5.5.40 | 5.5.40a' -- - __Version 5.5 (Available in all regions):__ -- ' 5.5.40b | 5.5.41 | 5.5.42' -- - __Version 5.6 (Available in all regions):__ -- ' 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22 | 5.6.23' -- -- __MySQL__ -- -- - __Version 5.1 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 5.1.73a | 5.1.73b' -- - __Version 5.5 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 5.5.40 | 5.5.40a' -- - __Version 5.5 (Available in all regions):__ -- ' 5.5.40b | 5.5.41 | 5.5.42' -- - __Version 5.6 (Available in all regions):__ -- ' 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22 | 5.6.23' -- -- __Oracle Database Enterprise Edition (oracle-ee)__ -- -- - __Version 11.2 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ -- ' 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7' -- - __Version 11.2 (Available in all regions):__ -- ' 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.4.v1 | 11.2.0.4.v3' -- - __Version 12.1 (Available in all regions):__ ' 12.1.0.1.v1' -- -- __Oracle Database Enterprise Edition (oracle-ee)__ -- -- - __Version 11.2 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ -- ' 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7' -- - __Version 11.2 (Available in all regions):__ -- ' 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.4.v1 | 11.2.0.4.v3' -- - __Version 12.1 (Available in all regions):__ ' 12.1.0.1.v1' -- -- __Oracle Database Enterprise Edition (oracle-ee)__ -- -- - __Version 11.2 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ -- ' 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7' -- - __Version 11.2 (Available in all regions):__ -- ' 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.4.v1 | 11.2.0.4.v3' -- - __Version 12.1 (Available in all regions):__ ' 12.1.0.1.v1' -- -- __Oracle Database Standard Edition (oracle-se)__ -- -- - __Version 11.2 (Only available in the following regions: -- us-west-1):__ -- ' 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7' -- - __Version 11.2 (Only available in the following regions: -- eu-central-1, us-west-1):__ -- ' 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.4.v1 | 11.2.0.4.v3' -- - __Version 12.1 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 12.1.0.1.v1' -- -- __Oracle Database Standard Edition (oracle-se)__ -- -- - __Version 11.2 (Only available in the following regions: -- us-west-1):__ -- ' 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7' -- - __Version 11.2 (Only available in the following regions: -- eu-central-1, us-west-1):__ -- ' 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.4.v1 | 11.2.0.4.v3' -- - __Version 12.1 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 12.1.0.1.v1' -- -- __Oracle Database Standard Edition (oracle-se)__ -- -- - __Version 11.2 (Only available in the following regions: -- us-west-1):__ -- ' 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7' -- - __Version 11.2 (Only available in the following regions: -- eu-central-1, us-west-1):__ -- ' 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.4.v1 | 11.2.0.4.v3' -- - __Version 12.1 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 12.1.0.1.v1' -- -- __Oracle Database Standard Edition One (oracle-se1)__ -- -- - __Version 11.2 (Only available in the following regions: -- us-west-1):__ -- ' 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7' -- - __Version 11.2 (Only available in the following regions: -- eu-central-1, us-west-1):__ -- ' 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.4.v1 | 11.2.0.4.v3' -- - __Version 12.1 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 12.1.0.1.v1' -- -- __Oracle Database Standard Edition One (oracle-se1)__ -- -- - __Version 11.2 (Only available in the following regions: -- us-west-1):__ -- ' 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7' -- - __Version 11.2 (Only available in the following regions: -- eu-central-1, us-west-1):__ -- ' 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.4.v1 | 11.2.0.4.v3' -- - __Version 12.1 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 12.1.0.1.v1' -- -- __Oracle Database Standard Edition One (oracle-se1)__ -- -- - __Version 11.2 (Only available in the following regions: -- us-west-1):__ -- ' 11.2.0.2.v3 | 11.2.0.2.v4 | 11.2.0.2.v5 | 11.2.0.2.v6 | 11.2.0.2.v7' -- - __Version 11.2 (Only available in the following regions: -- eu-central-1, us-west-1):__ -- ' 11.2.0.3.v1 | 11.2.0.3.v2 | 11.2.0.4.v1 | 11.2.0.4.v3' -- - __Version 12.1 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 12.1.0.1.v1' -- -- __PostgreSQL__ -- -- - __Version 9.3 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 9.3.1 | 9.3.2' -- - __Version 9.3 (Available in all regions):__ ' 9.3.3 | 9.3.5 | 9.3.6' -- - __Version 9.4 (Available in all regions):__ ' 9.4.1' -- -- __PostgreSQL__ -- -- - __Version 9.3 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 9.3.1 | 9.3.2' -- - __Version 9.3 (Available in all regions):__ ' 9.3.3 | 9.3.5 | 9.3.6' -- - __Version 9.4 (Available in all regions):__ ' 9.4.1' -- -- __PostgreSQL__ -- -- - __Version 9.3 (Only available in the following regions: -- ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, -- sa-east-1, us-west-1, us-west-2):__ ' 9.3.1 | 9.3.2' -- - __Version 9.3 (Available in all regions):__ ' 9.3.3 | 9.3.5 | 9.3.6' -- - __Version 9.4 (Available in all regions):__ ' 9.4.1' -- -- __Microsoft SQL Server Enterprise Edition (sqlserver-ee)__ -- -- - __Version 10.50 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 10.50.2789.0.v1' -- - __Version 11.00 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 11.00.2100.60.v1' -- -- __Microsoft SQL Server Enterprise Edition (sqlserver-ee)__ -- -- - __Version 10.50 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 10.50.2789.0.v1' -- - __Version 11.00 (Only available in the following regions: -- eu-central-1, us-west-1):__ ' 11.00.2100.60.v1' -- -- __Microsoft SQL Server Express Edition (sqlserver-ex)__ -- -- - __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1' -- - __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1' -- -- __Microsoft SQL Server Express Edition (sqlserver-ex)__ -- -- - __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1' -- - __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1' -- -- __Microsoft SQL Server Standard Edition (sqlserver-se)__ -- -- - __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1' -- - __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1' -- -- __Microsoft SQL Server Standard Edition (sqlserver-se)__ -- -- - __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1' -- - __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1' -- -- __Microsoft SQL Server Web Edition (sqlserver-web)__ -- -- - __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1' -- - __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1' -- -- __Microsoft SQL Server Web Edition (sqlserver-web)__ -- -- - __Version 10.50 (Available in all regions):__ ' 10.50.2789.0.v1' -- - __Version 11.00 (Available in all regions):__ ' 11.00.2100.60.v1' cdiEngineVersion :: Lens' CreateDBInstance (Maybe Text) cdiEngineVersion = lens _cdiEngineVersion (\ s a -> s{_cdiEngineVersion = a}); -- | Specifies whether the DB instance is encrypted. -- -- Default: false cdiStorageEncrypted :: Lens' CreateDBInstance (Maybe Bool) cdiStorageEncrypted = lens _cdiStorageEncrypted (\ s a -> s{_cdiStorageEncrypted = a}); -- | The identifier of the DB cluster that the instance will belong to. -- -- For information on creating a DB cluster, see CreateDBCluster. -- -- Type: String cdiDBClusterIdentifier :: Lens' CreateDBInstance (Maybe Text) cdiDBClusterIdentifier = lens _cdiDBClusterIdentifier (\ s a -> s{_cdiDBClusterIdentifier = a}); -- | Indicates that minor engine upgrades will be applied automatically to -- the DB instance during the maintenance window. -- -- Default: 'true' cdiAutoMinorVersionUpgrade :: Lens' CreateDBInstance (Maybe Bool) cdiAutoMinorVersionUpgrade = lens _cdiAutoMinorVersionUpgrade (\ s a -> s{_cdiAutoMinorVersionUpgrade = a}); -- | The password for the master database user. Can be any printable ASCII -- character except \"\/\", \"\"\", or \"\'\". -- -- Type: String -- -- __MySQL__ -- -- Constraints: Must contain from 8 to 41 characters. -- -- __Oracle__ -- -- Constraints: Must contain from 8 to 30 characters. -- -- __SQL Server__ -- -- Constraints: Must contain from 8 to 128 characters. -- -- __PostgreSQL__ -- -- Constraints: Must contain from 8 to 128 characters. cdiMasterUserPassword :: Lens' CreateDBInstance (Maybe Text) cdiMasterUserPassword = lens _cdiMasterUserPassword (\ s a -> s{_cdiMasterUserPassword = a}); -- | The name of master user for the client DB instance. -- -- __MySQL__ -- -- Constraints: -- -- - Must be 1 to 16 alphanumeric characters. -- - First character must be a letter. -- - Cannot be a reserved word for the chosen database engine. -- -- Type: String -- -- __Oracle__ -- -- Constraints: -- -- - Must be 1 to 30 alphanumeric characters. -- - First character must be a letter. -- - Cannot be a reserved word for the chosen database engine. -- -- __SQL Server__ -- -- Constraints: -- -- - Must be 1 to 128 alphanumeric characters. -- - First character must be a letter. -- - Cannot be a reserved word for the chosen database engine. -- -- __PostgreSQL__ -- -- Constraints: -- -- - Must be 1 to 63 alphanumeric characters. -- - First character must be a letter. -- - Cannot be a reserved word for the chosen database engine. cdiMasterUsername :: Lens' CreateDBInstance (Maybe Text) cdiMasterUsername = lens _cdiMasterUsername (\ s a -> s{_cdiMasterUsername = a}); -- | Specifies the accessibility options for the DB instance. A value of true -- specifies an Internet-facing instance with a publicly resolvable DNS -- name, which resolves to a public IP address. A value of false specifies -- an internal instance with a DNS name that resolves to a private IP -- address. -- -- Default: The default behavior varies depending on whether a VPC has been -- requested or not. The following list shows the default behavior in each -- case. -- -- - __Default VPC:__ true -- - __VPC:__ false -- -- If no DB subnet group has been specified as part of the request and the -- PubliclyAccessible value has not been set, the DB instance will be -- publicly accessible. If a specific DB subnet group has been specified as -- part of the request and the PubliclyAccessible value has not been set, -- the DB instance will be private. cdiPubliclyAccessible :: Lens' CreateDBInstance (Maybe Bool) cdiPubliclyAccessible = lens _cdiPubliclyAccessible (\ s a -> s{_cdiPubliclyAccessible = a}); -- | A DB subnet group to associate with this DB instance. -- -- If there is no DB subnet group, then it is a non-VPC DB instance. cdiDBSubnetGroupName :: Lens' CreateDBInstance (Maybe Text) cdiDBSubnetGroupName = lens _cdiDBSubnetGroupName (\ s a -> s{_cdiDBSubnetGroupName = a}); -- | The amount of Provisioned IOPS (input\/output operations per second) to -- be initially allocated for the DB instance. -- -- Constraints: To use PIOPS, this value must be an integer greater than -- 1000. cdiIOPS :: Lens' CreateDBInstance (Maybe Int) cdiIOPS = lens _cdiIOPS (\ s a -> s{_cdiIOPS = a}); -- | Specify the Active Directory Domain to create the instance in. cdiDomain :: Lens' CreateDBInstance (Maybe Text) cdiDomain = lens _cdiDomain (\ s a -> s{_cdiDomain = a}); -- | The password for the given ARN from the Key Store in order to access the -- device. cdiTDECredentialPassword :: Lens' CreateDBInstance (Maybe Text) cdiTDECredentialPassword = lens _cdiTDECredentialPassword (\ s a -> s{_cdiTDECredentialPassword = a}); -- | License model information for this DB instance. -- -- Valid values: 'license-included' | 'bring-your-own-license' | -- 'general-public-license' cdiLicenseModel :: Lens' CreateDBInstance (Maybe Text) cdiLicenseModel = lens _cdiLicenseModel (\ s a -> s{_cdiLicenseModel = a}); -- | The weekly time range during which system maintenance can occur, in -- Universal Coordinated Time (UTC). For more information, see -- . -- -- Format: 'ddd:hh24:mi-ddd:hh24:mi' -- -- Default: A 30-minute window selected at random from an 8-hour block of -- time per region, occurring on a random day of the week. To see the time -- blocks available, see -- -- in the /Amazon RDS User Guide./ -- -- Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun -- -- Constraints: Minimum 30-minute window. cdiPreferredMaintenanceWindow :: Lens' CreateDBInstance (Maybe Text) cdiPreferredMaintenanceWindow = lens _cdiPreferredMaintenanceWindow (\ s a -> s{_cdiPreferredMaintenanceWindow = a}); -- | For supported engines, indicates that the DB instance should be -- associated with the specified CharacterSet. cdiCharacterSetName :: Lens' CreateDBInstance (Maybe Text) cdiCharacterSetName = lens _cdiCharacterSetName (\ s a -> s{_cdiCharacterSetName = a}); -- | The daily time range during which automated backups are created if -- automated backups are enabled, using the 'BackupRetentionPeriod' -- parameter. For more information, see -- . -- -- Default: A 30-minute window selected at random from an 8-hour block of -- time per region. To see the time blocks available, see -- -- in the /Amazon RDS User Guide./ -- -- Constraints: -- -- - Must be in the format 'hh24:mi-hh24:mi'. -- - Times should be in Universal Coordinated Time (UTC). -- - Must not conflict with the preferred maintenance window. -- - Must be at least 30 minutes. cdiPreferredBackupWindow :: Lens' CreateDBInstance (Maybe Text) cdiPreferredBackupWindow = lens _cdiPreferredBackupWindow (\ s a -> s{_cdiPreferredBackupWindow = a}); -- | The EC2 Availability Zone that the database instance will be created in. -- For information on regions and Availability Zones, see -- . -- -- Default: A random, system-chosen Availability Zone in the endpoint\'s -- region. -- -- Example: 'us-east-1d' -- -- Constraint: The AvailabilityZone parameter cannot be specified if the -- MultiAZ parameter is set to 'true'. The specified Availability Zone must -- be in the same region as the current endpoint. cdiAvailabilityZone :: Lens' CreateDBInstance (Maybe Text) cdiAvailabilityZone = lens _cdiAvailabilityZone (\ s a -> s{_cdiAvailabilityZone = a}); -- | The number of days for which automated backups are retained. Setting -- this parameter to a positive number enables backups. Setting this -- parameter to 0 disables automated backups. -- -- Default: 1 -- -- Constraints: -- -- - Must be a value from 0 to 35 -- - Cannot be set to 0 if the DB instance is a source to Read Replicas cdiBackupRetentionPeriod :: Lens' CreateDBInstance (Maybe Int) cdiBackupRetentionPeriod = lens _cdiBackupRetentionPeriod (\ s a -> s{_cdiBackupRetentionPeriod = a}); -- | The KMS key identifier for an encrypted DB instance. -- -- The KMS key identifier is the Amazon Resoure Name (ARN) for the KMS -- encryption key. If you are creating a DB instance with the same AWS -- account that owns the KMS encryption key used to encrypt the new DB -- instance, then you can use the KMS key alias instead of the ARN for the -- KM encryption key. -- -- If the 'StorageEncrypted' parameter is true, and you do not specify a -- value for the 'KmsKeyId' parameter, then Amazon RDS will use your -- default encryption key. AWS KMS creates the default encryption key for -- your AWS account. Your AWS account has a different default encryption -- key for each AWS region. cdiKMSKeyId :: Lens' CreateDBInstance (Maybe Text) cdiKMSKeyId = lens _cdiKMSKeyId (\ s a -> s{_cdiKMSKeyId = a}); -- | The name of the DB parameter group to associate with this DB instance. -- If this argument is omitted, the default DBParameterGroup for the -- specified engine will be used. -- -- Constraints: -- -- - Must be 1 to 255 alphanumeric characters -- - First character must be a letter -- - Cannot end with a hyphen or contain two consecutive hyphens cdiDBParameterGroupName :: Lens' CreateDBInstance (Maybe Text) cdiDBParameterGroupName = lens _cdiDBParameterGroupName (\ s a -> s{_cdiDBParameterGroupName = a}); -- | A list of EC2 VPC security groups to associate with this DB instance. -- -- Default: The default EC2 VPC security group for the DB subnet group\'s -- VPC. cdiVPCSecurityGroupIds :: Lens' CreateDBInstance [Text] cdiVPCSecurityGroupIds = lens _cdiVPCSecurityGroupIds (\ s a -> s{_cdiVPCSecurityGroupIds = a}) . _Default . _Coerce; -- | Specifies if the DB instance is a Multi-AZ deployment. You cannot set -- the AvailabilityZone parameter if the MultiAZ parameter is set to true. -- Do not set this value if you want a Multi-AZ deployment for a SQL Server -- DB instance. Multi-AZ for SQL Server is set using the Mirroring option -- in an option group. cdiMultiAZ :: Lens' CreateDBInstance (Maybe Bool) cdiMultiAZ = lens _cdiMultiAZ (\ s a -> s{_cdiMultiAZ = a}); -- | The amount of storage (in gigabytes) to be initially allocated for the -- database instance. -- -- Type: Integer -- -- __MySQL__ -- -- Constraints: Must be an integer from 5 to 6144. -- -- __PostgreSQL__ -- -- Constraints: Must be an integer from 5 to 6144. -- -- __Oracle__ -- -- Constraints: Must be an integer from 10 to 6144. -- -- __SQL Server__ -- -- Constraints: Must be an integer from 200 to 4096 (Standard Edition and -- Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition) cdiAllocatedStorage :: Lens' CreateDBInstance (Maybe Int) cdiAllocatedStorage = lens _cdiAllocatedStorage (\ s a -> s{_cdiAllocatedStorage = a}); -- | The ARN from the Key Store with which to associate the instance for TDE -- encryption. cdiTDECredentialARN :: Lens' CreateDBInstance (Maybe Text) cdiTDECredentialARN = lens _cdiTDECredentialARN (\ s a -> s{_cdiTDECredentialARN = a}); -- | Indicates that the DB instance should be associated with the specified -- option group. -- -- Permanent options, such as the TDE option for Oracle Advanced Security -- TDE, cannot be removed from an option group, and that option group -- cannot be removed from a DB instance once it is associated with a DB -- instance cdiOptionGroupName :: Lens' CreateDBInstance (Maybe Text) cdiOptionGroupName = lens _cdiOptionGroupName (\ s a -> s{_cdiOptionGroupName = a}); -- | This property is not currently implemented. cdiCopyTagsToSnapshot :: Lens' CreateDBInstance (Maybe Bool) cdiCopyTagsToSnapshot = lens _cdiCopyTagsToSnapshot (\ s a -> s{_cdiCopyTagsToSnapshot = a}); -- | The meaning of this parameter differs according to the database engine -- you use. -- -- Type: String -- -- __MySQL__ -- -- The name of the database to create when the DB instance is created. If -- this parameter is not specified, no database is created in the DB -- instance. -- -- Constraints: -- -- - Must contain 1 to 64 alphanumeric characters -- - Cannot be a word reserved by the specified database engine -- -- __PostgreSQL__ -- -- The name of the database to create when the DB instance is created. If -- this parameter is not specified, the default \"postgres\" database is -- created in the DB instance. -- -- Constraints: -- -- - Must contain 1 to 63 alphanumeric characters -- - Must begin with a letter or an underscore. Subsequent characters can -- be letters, underscores, or digits (0-9). -- - Cannot be a word reserved by the specified database engine -- -- __Oracle__ -- -- The Oracle System ID (SID) of the created DB instance. -- -- Default: 'ORCL' -- -- Constraints: -- -- - Cannot be longer than 8 characters -- -- __SQL Server__ -- -- Not applicable. Must be null. cdiDBName :: Lens' CreateDBInstance (Maybe Text) cdiDBName = lens _cdiDBName (\ s a -> s{_cdiDBName = a}); -- | Undocumented member. cdiTags :: Lens' CreateDBInstance [Tag] cdiTags = lens _cdiTags (\ s a -> s{_cdiTags = a}) . _Default . _Coerce; -- | The port number on which the database accepts connections. -- -- __MySQL__ -- -- Default: '3306' -- -- Valid Values: '1150-65535' -- -- Type: Integer -- -- __PostgreSQL__ -- -- Default: '5432' -- -- Valid Values: '1150-65535' -- -- Type: Integer -- -- __Oracle__ -- -- Default: '1521' -- -- Valid Values: '1150-65535' -- -- __SQL Server__ -- -- Default: '1433' -- -- Valid Values: '1150-65535' except for '1434', '3389', '47001', '49152', -- and '49152' through '49156'. cdiPort :: Lens' CreateDBInstance (Maybe Int) cdiPort = lens _cdiPort (\ s a -> s{_cdiPort = a}); -- | Specifies the storage type to be associated with the DB instance. -- -- Valid values: 'standard | gp2 | io1' -- -- If you specify 'io1', you must also include a value for the 'Iops' -- parameter. -- -- Default: 'io1' if the 'Iops' parameter is specified; otherwise -- 'standard' cdiStorageType :: Lens' CreateDBInstance (Maybe Text) cdiStorageType = lens _cdiStorageType (\ s a -> s{_cdiStorageType = a}); -- | The DB instance identifier. This parameter is stored as a lowercase -- string. -- -- Constraints: -- -- - Must contain from 1 to 63 alphanumeric characters or hyphens (1 to -- 15 for SQL Server). -- - First character must be a letter. -- - Cannot end with a hyphen or contain two consecutive hyphens. -- -- Example: 'mydbinstance' cdiDBInstanceIdentifier :: Lens' CreateDBInstance Text cdiDBInstanceIdentifier = lens _cdiDBInstanceIdentifier (\ s a -> s{_cdiDBInstanceIdentifier = a}); -- | The compute and memory capacity of the DB instance. -- -- Valid Values: -- 'db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium' cdiDBInstanceClass :: Lens' CreateDBInstance Text cdiDBInstanceClass = lens _cdiDBInstanceClass (\ s a -> s{_cdiDBInstanceClass = a}); -- | The name of the database engine to be used for this instance. -- -- Valid Values: 'MySQL' | 'oracle-se1' | 'oracle-se' | 'oracle-ee' | -- 'sqlserver-ee' | 'sqlserver-se' | 'sqlserver-ex' | 'sqlserver-web' | -- 'postgres' -- -- Not every database engine is available for every AWS region. cdiEngine :: Lens' CreateDBInstance Text cdiEngine = lens _cdiEngine (\ s a -> s{_cdiEngine = a}); instance AWSRequest CreateDBInstance where type Sv CreateDBInstance = RDS type Rs CreateDBInstance = CreateDBInstanceResponse request = postQuery response = receiveXMLWrapper "CreateDBInstanceResult" (\ s h x -> CreateDBInstanceResponse' <$> (x .@? "DBInstance") <*> (pure (fromEnum s))) instance ToHeaders CreateDBInstance where toHeaders = const mempty instance ToPath CreateDBInstance where toPath = const "/" instance ToQuery CreateDBInstance where toQuery CreateDBInstance'{..} = mconcat ["Action" =: ("CreateDBInstance" :: ByteString), "Version" =: ("2014-10-31" :: ByteString), "DBSecurityGroups" =: toQuery (toQueryList "DBSecurityGroupName" <$> _cdiDBSecurityGroups), "EngineVersion" =: _cdiEngineVersion, "StorageEncrypted" =: _cdiStorageEncrypted, "DBClusterIdentifier" =: _cdiDBClusterIdentifier, "AutoMinorVersionUpgrade" =: _cdiAutoMinorVersionUpgrade, "MasterUserPassword" =: _cdiMasterUserPassword, "MasterUsername" =: _cdiMasterUsername, "PubliclyAccessible" =: _cdiPubliclyAccessible, "DBSubnetGroupName" =: _cdiDBSubnetGroupName, "Iops" =: _cdiIOPS, "Domain" =: _cdiDomain, "TdeCredentialPassword" =: _cdiTDECredentialPassword, "LicenseModel" =: _cdiLicenseModel, "PreferredMaintenanceWindow" =: _cdiPreferredMaintenanceWindow, "CharacterSetName" =: _cdiCharacterSetName, "PreferredBackupWindow" =: _cdiPreferredBackupWindow, "AvailabilityZone" =: _cdiAvailabilityZone, "BackupRetentionPeriod" =: _cdiBackupRetentionPeriod, "KmsKeyId" =: _cdiKMSKeyId, "DBParameterGroupName" =: _cdiDBParameterGroupName, "VpcSecurityGroupIds" =: toQuery (toQueryList "VpcSecurityGroupId" <$> _cdiVPCSecurityGroupIds), "MultiAZ" =: _cdiMultiAZ, "AllocatedStorage" =: _cdiAllocatedStorage, "TdeCredentialArn" =: _cdiTDECredentialARN, "OptionGroupName" =: _cdiOptionGroupName, "CopyTagsToSnapshot" =: _cdiCopyTagsToSnapshot, "DBName" =: _cdiDBName, "Tags" =: toQuery (toQueryList "Tag" <$> _cdiTags), "Port" =: _cdiPort, "StorageType" =: _cdiStorageType, "DBInstanceIdentifier" =: _cdiDBInstanceIdentifier, "DBInstanceClass" =: _cdiDBInstanceClass, "Engine" =: _cdiEngine] -- | /See:/ 'createDBInstanceResponse' smart constructor. data CreateDBInstanceResponse = CreateDBInstanceResponse' { _cdirsDBInstance :: !(Maybe DBInstance) , _cdirsStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'CreateDBInstanceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'cdirsDBInstance' -- -- * 'cdirsStatus' createDBInstanceResponse :: Int -- ^ 'cdirsStatus' -> CreateDBInstanceResponse createDBInstanceResponse pStatus_ = CreateDBInstanceResponse' { _cdirsDBInstance = Nothing , _cdirsStatus = pStatus_ } -- | Undocumented member. cdirsDBInstance :: Lens' CreateDBInstanceResponse (Maybe DBInstance) cdirsDBInstance = lens _cdirsDBInstance (\ s a -> s{_cdirsDBInstance = a}); -- | The response status code. cdirsStatus :: Lens' CreateDBInstanceResponse Int cdirsStatus = lens _cdirsStatus (\ s a -> s{_cdirsStatus = a});