{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Module : Network.AWS.RDS.CreateDBInstance -- Copyright : (c) 2013-2014 Brendan Hay -- License : This Source Code Form is subject to the terms of -- the Mozilla Public License, v. 2.0. -- A copy of the MPL can be found in the LICENSE file or -- you can obtain it at http://mozilla.org/MPL/2.0/. -- Maintainer : Brendan Hay -- Stability : experimental -- Portability : non-portable (GHC extensions) -- -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | Creates a new DB instance. -- -- module Network.AWS.RDS.CreateDBInstance ( -- * Request CreateDBInstance -- ** Request constructor , createDBInstance -- ** Request lenses , cdbiAllocatedStorage , cdbiAutoMinorVersionUpgrade , cdbiAvailabilityZone , cdbiBackupRetentionPeriod , cdbiCharacterSetName , cdbiDBInstanceClass , cdbiDBInstanceIdentifier , cdbiDBName , cdbiDBParameterGroupName , cdbiDBSecurityGroups , cdbiDBSubnetGroupName , cdbiEngine , cdbiEngineVersion , cdbiIops , cdbiKmsKeyId , cdbiLicenseModel , cdbiMasterUserPassword , cdbiMasterUsername , cdbiMultiAZ , cdbiOptionGroupName , cdbiPort , cdbiPreferredBackupWindow , cdbiPreferredMaintenanceWindow , cdbiPubliclyAccessible , cdbiStorageEncrypted , cdbiStorageType , cdbiTags , cdbiTdeCredentialArn , cdbiTdeCredentialPassword , cdbiVpcSecurityGroupIds -- * Response , CreateDBInstanceResponse -- ** Response constructor , createDBInstanceResponse -- ** Response lenses , cdbirDBInstance ) where import Network.AWS.Prelude import Network.AWS.Request.Query import Network.AWS.RDS.Types import qualified GHC.Exts data CreateDBInstance = CreateDBInstance { _cdbiAllocatedStorage :: Int , _cdbiAutoMinorVersionUpgrade :: Maybe Bool , _cdbiAvailabilityZone :: Maybe Text , _cdbiBackupRetentionPeriod :: Maybe Int , _cdbiCharacterSetName :: Maybe Text , _cdbiDBInstanceClass :: Text , _cdbiDBInstanceIdentifier :: Text , _cdbiDBName :: Maybe Text , _cdbiDBParameterGroupName :: Maybe Text , _cdbiDBSecurityGroups :: List "member" Text , _cdbiDBSubnetGroupName :: Maybe Text , _cdbiEngine :: Text , _cdbiEngineVersion :: Maybe Text , _cdbiIops :: Maybe Int , _cdbiKmsKeyId :: Maybe Text , _cdbiLicenseModel :: Maybe Text , _cdbiMasterUserPassword :: Text , _cdbiMasterUsername :: Text , _cdbiMultiAZ :: Maybe Bool , _cdbiOptionGroupName :: Maybe Text , _cdbiPort :: Maybe Int , _cdbiPreferredBackupWindow :: Maybe Text , _cdbiPreferredMaintenanceWindow :: Maybe Text , _cdbiPubliclyAccessible :: Maybe Bool , _cdbiStorageEncrypted :: Maybe Bool , _cdbiStorageType :: Maybe Text , _cdbiTags :: List "member" Tag , _cdbiTdeCredentialArn :: Maybe Text , _cdbiTdeCredentialPassword :: Maybe Text , _cdbiVpcSecurityGroupIds :: List "member" Text } deriving (Eq, Read, Show) -- | 'CreateDBInstance' constructor. -- -- The fields accessible through corresponding lenses are: -- -- * 'cdbiAllocatedStorage' @::@ 'Int' -- -- * 'cdbiAutoMinorVersionUpgrade' @::@ 'Maybe' 'Bool' -- -- * 'cdbiAvailabilityZone' @::@ 'Maybe' 'Text' -- -- * 'cdbiBackupRetentionPeriod' @::@ 'Maybe' 'Int' -- -- * 'cdbiCharacterSetName' @::@ 'Maybe' 'Text' -- -- * 'cdbiDBInstanceClass' @::@ 'Text' -- -- * 'cdbiDBInstanceIdentifier' @::@ 'Text' -- -- * 'cdbiDBName' @::@ 'Maybe' 'Text' -- -- * 'cdbiDBParameterGroupName' @::@ 'Maybe' 'Text' -- -- * 'cdbiDBSecurityGroups' @::@ ['Text'] -- -- * 'cdbiDBSubnetGroupName' @::@ 'Maybe' 'Text' -- -- * 'cdbiEngine' @::@ 'Text' -- -- * 'cdbiEngineVersion' @::@ 'Maybe' 'Text' -- -- * 'cdbiIops' @::@ 'Maybe' 'Int' -- -- * 'cdbiKmsKeyId' @::@ 'Maybe' 'Text' -- -- * 'cdbiLicenseModel' @::@ 'Maybe' 'Text' -- -- * 'cdbiMasterUserPassword' @::@ 'Text' -- -- * 'cdbiMasterUsername' @::@ 'Text' -- -- * 'cdbiMultiAZ' @::@ 'Maybe' 'Bool' -- -- * 'cdbiOptionGroupName' @::@ 'Maybe' 'Text' -- -- * 'cdbiPort' @::@ 'Maybe' 'Int' -- -- * 'cdbiPreferredBackupWindow' @::@ 'Maybe' 'Text' -- -- * 'cdbiPreferredMaintenanceWindow' @::@ 'Maybe' 'Text' -- -- * 'cdbiPubliclyAccessible' @::@ 'Maybe' 'Bool' -- -- * 'cdbiStorageEncrypted' @::@ 'Maybe' 'Bool' -- -- * 'cdbiStorageType' @::@ 'Maybe' 'Text' -- -- * 'cdbiTags' @::@ ['Tag'] -- -- * 'cdbiTdeCredentialArn' @::@ 'Maybe' 'Text' -- -- * 'cdbiTdeCredentialPassword' @::@ 'Maybe' 'Text' -- -- * 'cdbiVpcSecurityGroupIds' @::@ ['Text'] -- createDBInstance :: Text -- ^ 'cdbiDBInstanceIdentifier' -> Int -- ^ 'cdbiAllocatedStorage' -> Text -- ^ 'cdbiDBInstanceClass' -> Text -- ^ 'cdbiEngine' -> Text -- ^ 'cdbiMasterUsername' -> Text -- ^ 'cdbiMasterUserPassword' -> CreateDBInstance createDBInstance p1 p2 p3 p4 p5 p6 = CreateDBInstance { _cdbiDBInstanceIdentifier = p1 , _cdbiAllocatedStorage = p2 , _cdbiDBInstanceClass = p3 , _cdbiEngine = p4 , _cdbiMasterUsername = p5 , _cdbiMasterUserPassword = p6 , _cdbiDBName = Nothing , _cdbiDBSecurityGroups = mempty , _cdbiVpcSecurityGroupIds = mempty , _cdbiAvailabilityZone = Nothing , _cdbiDBSubnetGroupName = Nothing , _cdbiPreferredMaintenanceWindow = Nothing , _cdbiDBParameterGroupName = Nothing , _cdbiBackupRetentionPeriod = Nothing , _cdbiPreferredBackupWindow = Nothing , _cdbiPort = Nothing , _cdbiMultiAZ = Nothing , _cdbiEngineVersion = Nothing , _cdbiAutoMinorVersionUpgrade = Nothing , _cdbiLicenseModel = Nothing , _cdbiIops = Nothing , _cdbiOptionGroupName = Nothing , _cdbiCharacterSetName = Nothing , _cdbiPubliclyAccessible = Nothing , _cdbiTags = mempty , _cdbiStorageType = Nothing , _cdbiTdeCredentialArn = Nothing , _cdbiTdeCredentialPassword = Nothing , _cdbiStorageEncrypted = Nothing , _cdbiKmsKeyId = Nothing } -- | 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 3072. -- -- PostgreSQL -- -- Constraints: Must be an integer from 5 to 3072. -- -- Oracle -- -- Constraints: Must be an integer from 10 to 3072. -- -- SQL Server -- -- Constraints: Must be an integer from 200 to 1024 (Standard Edition and -- Enterprise Edition) or from 20 to 1024 (Express Edition and Web Edition) cdbiAllocatedStorage :: Lens' CreateDBInstance Int cdbiAllocatedStorage = lens _cdbiAllocatedStorage (\s a -> s { _cdbiAllocatedStorage = a }) -- | Indicates that minor engine upgrades will be applied automatically to the DB -- instance during the maintenance window. -- -- Default: 'true' cdbiAutoMinorVersionUpgrade :: Lens' CreateDBInstance (Maybe Bool) cdbiAutoMinorVersionUpgrade = lens _cdbiAutoMinorVersionUpgrade (\s a -> s { _cdbiAutoMinorVersionUpgrade = 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. cdbiAvailabilityZone :: Lens' CreateDBInstance (Maybe Text) cdbiAvailabilityZone = lens _cdbiAvailabilityZone (\s a -> s { _cdbiAvailabilityZone = 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 cdbiBackupRetentionPeriod :: Lens' CreateDBInstance (Maybe Int) cdbiBackupRetentionPeriod = lens _cdbiBackupRetentionPeriod (\s a -> s { _cdbiBackupRetentionPeriod = a }) -- | For supported engines, indicates that the DB instance should be associated -- with the specified CharacterSet. cdbiCharacterSetName :: Lens' CreateDBInstance (Maybe Text) cdbiCharacterSetName = lens _cdbiCharacterSetName (\s a -> s { _cdbiCharacterSetName = 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' cdbiDBInstanceClass :: Lens' CreateDBInstance Text cdbiDBInstanceClass = lens _cdbiDBInstanceClass (\s a -> s { _cdbiDBInstanceClass = 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' cdbiDBInstanceIdentifier :: Lens' CreateDBInstance Text cdbiDBInstanceIdentifier = lens _cdbiDBInstanceIdentifier (\s a -> s { _cdbiDBInstanceIdentifier = 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, no 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. cdbiDBName :: Lens' CreateDBInstance (Maybe Text) cdbiDBName = lens _cdbiDBName (\s a -> s { _cdbiDBName = 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 -- cdbiDBParameterGroupName :: Lens' CreateDBInstance (Maybe Text) cdbiDBParameterGroupName = lens _cdbiDBParameterGroupName (\s a -> s { _cdbiDBParameterGroupName = a }) -- | A list of DB security groups to associate with this DB instance. -- -- Default: The default DB security group for the database engine. cdbiDBSecurityGroups :: Lens' CreateDBInstance [Text] cdbiDBSecurityGroups = lens _cdbiDBSecurityGroups (\s a -> s { _cdbiDBSecurityGroups = a }) . _List -- | 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. cdbiDBSubnetGroupName :: Lens' CreateDBInstance (Maybe Text) cdbiDBSubnetGroupName = lens _cdbiDBSubnetGroupName (\s a -> s { _cdbiDBSubnetGroupName = 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. cdbiEngine :: Lens' CreateDBInstance Text cdbiEngine = lens _cdbiEngine (\s a -> s { _cdbiEngine = a }) -- | 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' Version 5.6 (Available in all regions): '5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22' 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' Version 5.6 (Available in all regions): '5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22' 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' Version 5.6 (Available in all regions): '5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22' 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' Version 5.6 (Available in all regions): '5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22' 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' 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' 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' 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' 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' 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' 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' 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' 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' cdbiEngineVersion :: Lens' CreateDBInstance (Maybe Text) cdbiEngineVersion = lens _cdbiEngineVersion (\s a -> s { _cdbiEngineVersion = 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. cdbiIops :: Lens' CreateDBInstance (Maybe Int) cdbiIops = lens _cdbiIops (\s a -> s { _cdbiIops = 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. cdbiKmsKeyId :: Lens' CreateDBInstance (Maybe Text) cdbiKmsKeyId = lens _cdbiKmsKeyId (\s a -> s { _cdbiKmsKeyId = a }) -- | License model information for this DB instance. -- -- Valid values: 'license-included' | 'bring-your-own-license' | 'general-public-license' cdbiLicenseModel :: Lens' CreateDBInstance (Maybe Text) cdbiLicenseModel = lens _cdbiLicenseModel (\s a -> s { _cdbiLicenseModel = 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. cdbiMasterUserPassword :: Lens' CreateDBInstance Text cdbiMasterUserPassword = lens _cdbiMasterUserPassword (\s a -> s { _cdbiMasterUserPassword = 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. -- cdbiMasterUsername :: Lens' CreateDBInstance Text cdbiMasterUsername = lens _cdbiMasterUsername (\s a -> s { _cdbiMasterUsername = a }) -- | Specifies if the DB instance is a Multi-AZ deployment. You cannot set the -- AvailabilityZone parameter if the MultiAZ parameter is set to true. cdbiMultiAZ :: Lens' CreateDBInstance (Maybe Bool) cdbiMultiAZ = lens _cdbiMultiAZ (\s a -> s { _cdbiMultiAZ = 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 cdbiOptionGroupName :: Lens' CreateDBInstance (Maybe Text) cdbiOptionGroupName = lens _cdbiOptionGroupName (\s a -> s { _cdbiOptionGroupName = a }) -- | 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'. cdbiPort :: Lens' CreateDBInstance (Maybe Int) cdbiPort = lens _cdbiPort (\s a -> s { _cdbiPort = 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. See the Amazon RDS User Guide for the time blocks for each region -- from which the default backup windows are assigned. -- -- Constraints: Must be in the format 'hh24:mi-hh24:mi'. Times should be -- Universal Time Coordinated (UTC). Must not conflict with the preferred -- maintenance window. Must be at least 30 minutes. cdbiPreferredBackupWindow :: Lens' CreateDBInstance (Maybe Text) cdbiPreferredBackupWindow = lens _cdbiPreferredBackupWindow (\s a -> s { _cdbiPreferredBackupWindow = a }) -- | The weekly time range (in UTC) during which system maintenance can occur. -- 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. cdbiPreferredMaintenanceWindow :: Lens' CreateDBInstance (Maybe Text) cdbiPreferredMaintenanceWindow = lens _cdbiPreferredMaintenanceWindow (\s a -> s { _cdbiPreferredMaintenanceWindow = 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. cdbiPubliclyAccessible :: Lens' CreateDBInstance (Maybe Bool) cdbiPubliclyAccessible = lens _cdbiPubliclyAccessible (\s a -> s { _cdbiPubliclyAccessible = a }) -- | Specifies whether the DB instance is encrypted. -- -- Default: false cdbiStorageEncrypted :: Lens' CreateDBInstance (Maybe Bool) cdbiStorageEncrypted = lens _cdbiStorageEncrypted (\s a -> s { _cdbiStorageEncrypted = 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' cdbiStorageType :: Lens' CreateDBInstance (Maybe Text) cdbiStorageType = lens _cdbiStorageType (\s a -> s { _cdbiStorageType = a }) cdbiTags :: Lens' CreateDBInstance [Tag] cdbiTags = lens _cdbiTags (\s a -> s { _cdbiTags = a }) . _List -- | The ARN from the Key Store with which to associate the instance for TDE -- encryption. cdbiTdeCredentialArn :: Lens' CreateDBInstance (Maybe Text) cdbiTdeCredentialArn = lens _cdbiTdeCredentialArn (\s a -> s { _cdbiTdeCredentialArn = a }) -- | The password for the given ARN from the Key Store in order to access the -- device. cdbiTdeCredentialPassword :: Lens' CreateDBInstance (Maybe Text) cdbiTdeCredentialPassword = lens _cdbiTdeCredentialPassword (\s a -> s { _cdbiTdeCredentialPassword = 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. cdbiVpcSecurityGroupIds :: Lens' CreateDBInstance [Text] cdbiVpcSecurityGroupIds = lens _cdbiVpcSecurityGroupIds (\s a -> s { _cdbiVpcSecurityGroupIds = a }) . _List newtype CreateDBInstanceResponse = CreateDBInstanceResponse { _cdbirDBInstance :: Maybe DBInstance } deriving (Eq, Read, Show) -- | 'CreateDBInstanceResponse' constructor. -- -- The fields accessible through corresponding lenses are: -- -- * 'cdbirDBInstance' @::@ 'Maybe' 'DBInstance' -- createDBInstanceResponse :: CreateDBInstanceResponse createDBInstanceResponse = CreateDBInstanceResponse { _cdbirDBInstance = Nothing } cdbirDBInstance :: Lens' CreateDBInstanceResponse (Maybe DBInstance) cdbirDBInstance = lens _cdbirDBInstance (\s a -> s { _cdbirDBInstance = a }) instance ToPath CreateDBInstance where toPath = const "/" instance ToQuery CreateDBInstance where toQuery CreateDBInstance{..} = mconcat [ "AllocatedStorage" =? _cdbiAllocatedStorage , "AutoMinorVersionUpgrade" =? _cdbiAutoMinorVersionUpgrade , "AvailabilityZone" =? _cdbiAvailabilityZone , "BackupRetentionPeriod" =? _cdbiBackupRetentionPeriod , "CharacterSetName" =? _cdbiCharacterSetName , "DBInstanceClass" =? _cdbiDBInstanceClass , "DBInstanceIdentifier" =? _cdbiDBInstanceIdentifier , "DBName" =? _cdbiDBName , "DBParameterGroupName" =? _cdbiDBParameterGroupName , "DBSecurityGroups" =? _cdbiDBSecurityGroups , "DBSubnetGroupName" =? _cdbiDBSubnetGroupName , "Engine" =? _cdbiEngine , "EngineVersion" =? _cdbiEngineVersion , "Iops" =? _cdbiIops , "KmsKeyId" =? _cdbiKmsKeyId , "LicenseModel" =? _cdbiLicenseModel , "MasterUserPassword" =? _cdbiMasterUserPassword , "MasterUsername" =? _cdbiMasterUsername , "MultiAZ" =? _cdbiMultiAZ , "OptionGroupName" =? _cdbiOptionGroupName , "Port" =? _cdbiPort , "PreferredBackupWindow" =? _cdbiPreferredBackupWindow , "PreferredMaintenanceWindow" =? _cdbiPreferredMaintenanceWindow , "PubliclyAccessible" =? _cdbiPubliclyAccessible , "StorageEncrypted" =? _cdbiStorageEncrypted , "StorageType" =? _cdbiStorageType , "Tags" =? _cdbiTags , "TdeCredentialArn" =? _cdbiTdeCredentialArn , "TdeCredentialPassword" =? _cdbiTdeCredentialPassword , "VpcSecurityGroupIds" =? _cdbiVpcSecurityGroupIds ] instance ToHeaders CreateDBInstance instance AWSRequest CreateDBInstance where type Sv CreateDBInstance = RDS type Rs CreateDBInstance = CreateDBInstanceResponse request = post "CreateDBInstance" response = xmlResponse instance FromXML CreateDBInstanceResponse where parseXML = withElement "CreateDBInstanceResult" $ \x -> CreateDBInstanceResponse <$> x .@? "DBInstance"