Documentation ¶
Index ¶
- func CfnCustomDBEngineVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCustomDBEngineVersion_IsCfnElement(x interface{}) *bool
- func CfnCustomDBEngineVersion_IsCfnResource(x interface{}) *bool
- func CfnCustomDBEngineVersion_IsConstruct(x interface{}) *bool
- func CfnDBClusterParameterGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBClusterParameterGroup_IsCfnElement(x interface{}) *bool
- func CfnDBClusterParameterGroup_IsCfnResource(x interface{}) *bool
- func CfnDBClusterParameterGroup_IsConstruct(x interface{}) *bool
- func CfnDBCluster_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBCluster_IsCfnElement(x interface{}) *bool
- func CfnDBCluster_IsCfnResource(x interface{}) *bool
- func CfnDBCluster_IsConstruct(x interface{}) *bool
- func CfnDBInstance_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBInstance_IsCfnElement(x interface{}) *bool
- func CfnDBInstance_IsCfnResource(x interface{}) *bool
- func CfnDBInstance_IsConstruct(x interface{}) *bool
- func CfnDBParameterGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBParameterGroup_IsCfnElement(x interface{}) *bool
- func CfnDBParameterGroup_IsCfnResource(x interface{}) *bool
- func CfnDBParameterGroup_IsConstruct(x interface{}) *bool
- func CfnDBProxyEndpoint_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBProxyEndpoint_IsCfnElement(x interface{}) *bool
- func CfnDBProxyEndpoint_IsCfnResource(x interface{}) *bool
- func CfnDBProxyEndpoint_IsConstruct(x interface{}) *bool
- func CfnDBProxyTargetGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBProxyTargetGroup_IsCfnElement(x interface{}) *bool
- func CfnDBProxyTargetGroup_IsCfnResource(x interface{}) *bool
- func CfnDBProxyTargetGroup_IsConstruct(x interface{}) *bool
- func CfnDBProxy_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBProxy_IsCfnElement(x interface{}) *bool
- func CfnDBProxy_IsCfnResource(x interface{}) *bool
- func CfnDBProxy_IsConstruct(x interface{}) *bool
- func CfnDBSecurityGroupIngress_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBSecurityGroupIngress_IsCfnElement(x interface{}) *bool
- func CfnDBSecurityGroupIngress_IsCfnResource(x interface{}) *bool
- func CfnDBSecurityGroupIngress_IsConstruct(x interface{}) *bool
- func CfnDBSecurityGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBSecurityGroup_IsCfnElement(x interface{}) *bool
- func CfnDBSecurityGroup_IsCfnResource(x interface{}) *bool
- func CfnDBSecurityGroup_IsConstruct(x interface{}) *bool
- func CfnDBSubnetGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDBSubnetGroup_IsCfnElement(x interface{}) *bool
- func CfnDBSubnetGroup_IsCfnResource(x interface{}) *bool
- func CfnDBSubnetGroup_IsConstruct(x interface{}) *bool
- func CfnEventSubscription_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEventSubscription_IsCfnElement(x interface{}) *bool
- func CfnEventSubscription_IsCfnResource(x interface{}) *bool
- func CfnEventSubscription_IsConstruct(x interface{}) *bool
- func CfnGlobalCluster_CFN_RESOURCE_TYPE_NAME() *string
- func CfnGlobalCluster_IsCfnElement(x interface{}) *bool
- func CfnGlobalCluster_IsCfnResource(x interface{}) *bool
- func CfnGlobalCluster_IsConstruct(x interface{}) *bool
- func CfnIntegration_CFN_RESOURCE_TYPE_NAME() *string
- func CfnIntegration_IsCfnElement(x interface{}) *bool
- func CfnIntegration_IsCfnResource(x interface{}) *bool
- func CfnIntegration_IsConstruct(x interface{}) *bool
- func CfnOptionGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnOptionGroup_IsCfnElement(x interface{}) *bool
- func CfnOptionGroup_IsCfnResource(x interface{}) *bool
- func CfnOptionGroup_IsConstruct(x interface{}) *bool
- func DatabaseClusterBase_IsConstruct(x interface{}) *bool
- func DatabaseClusterBase_IsOwnedResource(construct constructs.IConstruct) *bool
- func DatabaseClusterBase_IsResource(construct constructs.IConstruct) *bool
- func DatabaseClusterFromSnapshot_IsConstruct(x interface{}) *bool
- func DatabaseClusterFromSnapshot_IsOwnedResource(construct constructs.IConstruct) *bool
- func DatabaseClusterFromSnapshot_IsResource(construct constructs.IConstruct) *bool
- func DatabaseCluster_IsConstruct(x interface{}) *bool
- func DatabaseCluster_IsOwnedResource(construct constructs.IConstruct) *bool
- func DatabaseCluster_IsResource(construct constructs.IConstruct) *bool
- func DatabaseInstanceBase_IsConstruct(x interface{}) *bool
- func DatabaseInstanceBase_IsOwnedResource(construct constructs.IConstruct) *bool
- func DatabaseInstanceBase_IsResource(construct constructs.IConstruct) *bool
- func DatabaseInstanceFromSnapshot_IsConstruct(x interface{}) *bool
- func DatabaseInstanceFromSnapshot_IsOwnedResource(construct constructs.IConstruct) *bool
- func DatabaseInstanceFromSnapshot_IsResource(construct constructs.IConstruct) *bool
- func DatabaseInstanceReadReplica_IsConstruct(x interface{}) *bool
- func DatabaseInstanceReadReplica_IsOwnedResource(construct constructs.IConstruct) *bool
- func DatabaseInstanceReadReplica_IsResource(construct constructs.IConstruct) *bool
- func DatabaseInstance_IsConstruct(x interface{}) *bool
- func DatabaseInstance_IsOwnedResource(construct constructs.IConstruct) *bool
- func DatabaseInstance_IsResource(construct constructs.IConstruct) *bool
- func DatabaseProxy_IsConstruct(x interface{}) *bool
- func DatabaseProxy_IsOwnedResource(construct constructs.IConstruct) *bool
- func DatabaseProxy_IsResource(construct constructs.IConstruct) *bool
- func DatabaseSecret_FromSecretAttributes(scope constructs.Construct, id *string, ...) awssecretsmanager.ISecret
- func DatabaseSecret_FromSecretCompleteArn(scope constructs.Construct, id *string, secretCompleteArn *string) awssecretsmanager.ISecret
- func DatabaseSecret_FromSecretNameV2(scope constructs.Construct, id *string, secretName *string) awssecretsmanager.ISecret
- func DatabaseSecret_FromSecretPartialArn(scope constructs.Construct, id *string, secretPartialArn *string) awssecretsmanager.ISecret
- func DatabaseSecret_IsConstruct(x interface{}) *bool
- func DatabaseSecret_IsOwnedResource(construct constructs.IConstruct) *bool
- func DatabaseSecret_IsResource(construct constructs.IConstruct) *bool
- func DatabaseSecret_IsSecret(x interface{}) *bool
- func NewCfnCustomDBEngineVersion_Override(c CfnCustomDBEngineVersion, scope constructs.Construct, id *string, ...)
- func NewCfnDBClusterParameterGroup_Override(c CfnDBClusterParameterGroup, scope constructs.Construct, id *string, ...)
- func NewCfnDBCluster_Override(c CfnDBCluster, scope constructs.Construct, id *string, ...)
- func NewCfnDBInstance_Override(c CfnDBInstance, scope constructs.Construct, id *string, ...)
- func NewCfnDBParameterGroup_Override(c CfnDBParameterGroup, scope constructs.Construct, id *string, ...)
- func NewCfnDBProxyEndpoint_Override(c CfnDBProxyEndpoint, scope constructs.Construct, id *string, ...)
- func NewCfnDBProxyTargetGroup_Override(c CfnDBProxyTargetGroup, scope constructs.Construct, id *string, ...)
- func NewCfnDBProxy_Override(c CfnDBProxy, scope constructs.Construct, id *string, props *CfnDBProxyProps)
- func NewCfnDBSecurityGroupIngress_Override(c CfnDBSecurityGroupIngress, scope constructs.Construct, id *string, ...)
- func NewCfnDBSecurityGroup_Override(c CfnDBSecurityGroup, scope constructs.Construct, id *string, ...)
- func NewCfnDBSubnetGroup_Override(c CfnDBSubnetGroup, scope constructs.Construct, id *string, ...)
- func NewCfnEventSubscription_Override(c CfnEventSubscription, scope constructs.Construct, id *string, ...)
- func NewCfnGlobalCluster_Override(c CfnGlobalCluster, scope constructs.Construct, id *string, ...)
- func NewCfnIntegration_Override(c CfnIntegration, scope constructs.Construct, id *string, ...)
- func NewCfnOptionGroup_Override(c CfnOptionGroup, scope constructs.Construct, id *string, ...)
- func NewClusterInstanceType_Override(c ClusterInstanceType, instanceType *string, type_ InstanceType)
- func NewCredentials_Override(c Credentials)
- func NewDatabaseClusterBase_Override(d DatabaseClusterBase, scope constructs.Construct, id *string, ...)
- func NewDatabaseClusterEngine_Override(d DatabaseClusterEngine)
- func NewDatabaseClusterFromSnapshot_Override(d DatabaseClusterFromSnapshot, scope constructs.Construct, id *string, ...)
- func NewDatabaseCluster_Override(d DatabaseCluster, scope constructs.Construct, id *string, ...)
- func NewDatabaseInstanceBase_Override(d DatabaseInstanceBase, scope constructs.Construct, id *string, ...)
- func NewDatabaseInstanceEngine_Override(d DatabaseInstanceEngine)
- func NewDatabaseInstanceFromSnapshot_Override(d DatabaseInstanceFromSnapshot, scope constructs.Construct, id *string, ...)
- func NewDatabaseInstanceReadReplica_Override(d DatabaseInstanceReadReplica, scope constructs.Construct, id *string, ...)
- func NewDatabaseInstance_Override(d DatabaseInstance, scope constructs.Construct, id *string, ...)
- func NewDatabaseProxy_Override(d DatabaseProxy, scope constructs.Construct, id *string, ...)
- func NewDatabaseSecret_Override(d DatabaseSecret, scope constructs.Construct, id *string, ...)
- func NewEndpoint_Override(e Endpoint, address *string, port *float64)
- func NewOptionGroup_Override(o OptionGroup, scope constructs.Construct, id *string, props *OptionGroupProps)
- func NewParameterGroup_Override(p ParameterGroup, scope constructs.Construct, id *string, ...)
- func NewServerlessClusterFromSnapshot_Override(s ServerlessClusterFromSnapshot, scope constructs.Construct, id *string, ...)
- func NewServerlessCluster_Override(s ServerlessCluster, scope constructs.Construct, id *string, ...)
- func NewSnapshotCredentials_Override(s SnapshotCredentials)
- func NewSubnetGroup_Override(s SubnetGroup, scope constructs.Construct, id *string, props *SubnetGroupProps)
- func OptionGroup_IsConstruct(x interface{}) *bool
- func OptionGroup_IsOwnedResource(construct constructs.IConstruct) *bool
- func OptionGroup_IsResource(construct constructs.IConstruct) *bool
- func ParameterGroup_IsConstruct(x interface{}) *bool
- func ParameterGroup_IsOwnedResource(construct constructs.IConstruct) *bool
- func ParameterGroup_IsResource(construct constructs.IConstruct) *bool
- func ServerlessClusterFromSnapshot_IsConstruct(x interface{}) *bool
- func ServerlessClusterFromSnapshot_IsOwnedResource(construct constructs.IConstruct) *bool
- func ServerlessClusterFromSnapshot_IsResource(construct constructs.IConstruct) *bool
- func ServerlessCluster_IsConstruct(x interface{}) *bool
- func ServerlessCluster_IsOwnedResource(construct constructs.IConstruct) *bool
- func ServerlessCluster_IsResource(construct constructs.IConstruct) *bool
- func SubnetGroup_IsConstruct(x interface{}) *bool
- func SubnetGroup_IsOwnedResource(construct constructs.IConstruct) *bool
- func SubnetGroup_IsResource(construct constructs.IConstruct) *bool
- type AuroraCapacityUnit
- type AuroraClusterEngineProps
- type AuroraEngineVersion
- func AuroraEngineVersion_Of(auroraFullVersion *string, auroraMajorVersion *string) AuroraEngineVersion
- func AuroraEngineVersion_VER_10A() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_17_9() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_19_0() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_19_1() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_19_2() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_19_5() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_19_6() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_20_0() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_20_1() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_21_0() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_22_0() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_22_1() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_22_1_3() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_22_2() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_22_3() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_22_4() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_22_5() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_23_0() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_23_1() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_23_2() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_23_3() AuroraEngineVersion
- func AuroraEngineVersion_VER_1_23_4() AuroraEngineVersion
- type AuroraMysqlClusterEngineProps
- type AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_Of(auroraMysqlFullVersion *string, auroraMysqlMajorVersion *string) AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_02_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_03_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_03_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_03_4() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_4() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_5() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_6() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_7() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_8() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_04_9() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_05_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_05_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_06_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_10() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_4() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_5() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_6() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_7() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_8() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_07_9() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_08_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_08_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_08_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_08_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_08_4() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_09_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_09_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_09_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_09_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_10_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_10_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_10_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_10_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_11_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_11_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_11_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_11_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_11_4() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_11_5() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_12_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_12_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_2_12_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_01_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_01_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_02_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_02_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_02_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_02_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_03_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_03_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_03_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_03_3() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_04_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_04_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_04_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_05_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_05_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_05_2() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_06_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_06_1() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_3_07_0() AuroraMysqlEngineVersion
- func AuroraMysqlEngineVersion_VER_5_7_12() AuroraMysqlEngineVersion
- type AuroraPostgresClusterEngineProps
- type AuroraPostgresEngineFeatures
- type AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_Of(auroraPostgresFullVersion *string, auroraPostgresMajorVersion *string, ...) AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_11() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_12() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_13() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_14() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_16() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_17() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_18() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_19() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_20() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_21() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_4() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_5() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_6() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_10_7() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_11() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_12() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_13() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_14() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_15() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_16() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_17() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_18() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_19() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_20() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_21() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_4() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_6() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_7() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_8() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_11_9() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_10() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_11() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_12() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_13() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_14() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_15() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_16() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_17() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_18() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_4() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_6() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_7() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_8() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_12_9() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_10() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_11() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_12() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_13() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_14() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_3() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_4() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_5() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_6() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_7() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_8() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_13_9() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_14_10() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_14_11() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_14_3() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_14_4() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_14_5() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_14_6() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_14_7() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_14_8() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_14_9() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_15_2() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_15_3() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_15_4() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_15_5() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_15_6() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_16_0() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_16_1() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_16_2() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_9_6_11() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_9_6_12() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_9_6_16() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_9_6_17() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_9_6_18() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_9_6_19() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_9_6_22() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_9_6_8() AuroraPostgresEngineVersion
- func AuroraPostgresEngineVersion_VER_9_6_9() AuroraPostgresEngineVersion
- type BackupProps
- type CaCertificate
- func CaCertificate_Of(identifier *string) CaCertificate
- func CaCertificate_RDS_CA_2019() CaCertificate
- func CaCertificate_RDS_CA_ECC384_G1() CaCertificate
- func CaCertificate_RDS_CA_RDS2048_G1() CaCertificate
- func CaCertificate_RDS_CA_RDS4096_G1() CaCertificate
- func CaCertificate_RDS_CA_RSA2048_G1() CaCertificate
- func CaCertificate_RDS_CA_RSA4096_G1() CaCertificate
- type CfnCustomDBEngineVersion
- type CfnCustomDBEngineVersionProps
- type CfnDBCluster
- type CfnDBClusterParameterGroup
- type CfnDBClusterParameterGroupProps
- type CfnDBClusterProps
- type CfnDBCluster_DBClusterRoleProperty
- type CfnDBCluster_EndpointProperty
- type CfnDBCluster_MasterUserSecretProperty
- type CfnDBCluster_ReadEndpointProperty
- type CfnDBCluster_ScalingConfigurationProperty
- type CfnDBCluster_ServerlessV2ScalingConfigurationProperty
- type CfnDBInstance
- type CfnDBInstanceProps
- type CfnDBInstance_CertificateDetailsProperty
- type CfnDBInstance_DBInstanceRoleProperty
- type CfnDBInstance_EndpointProperty
- type CfnDBInstance_MasterUserSecretProperty
- type CfnDBInstance_ProcessorFeatureProperty
- type CfnDBParameterGroup
- type CfnDBParameterGroupProps
- type CfnDBProxy
- type CfnDBProxyEndpoint
- type CfnDBProxyEndpointProps
- type CfnDBProxyEndpoint_TagFormatProperty
- type CfnDBProxyProps
- type CfnDBProxyTargetGroup
- type CfnDBProxyTargetGroupProps
- type CfnDBProxyTargetGroup_ConnectionPoolConfigurationInfoFormatProperty
- type CfnDBProxy_AuthFormatProperty
- type CfnDBProxy_TagFormatProperty
- type CfnDBSecurityGroup
- type CfnDBSecurityGroupIngress
- type CfnDBSecurityGroupIngressProps
- type CfnDBSecurityGroupProps
- type CfnDBSecurityGroup_IngressProperty
- type CfnDBSubnetGroup
- type CfnDBSubnetGroupProps
- type CfnEventSubscription
- type CfnEventSubscriptionProps
- type CfnGlobalCluster
- type CfnGlobalClusterProps
- type CfnIntegration
- type CfnIntegrationProps
- type CfnOptionGroup
- type CfnOptionGroupProps
- type CfnOptionGroup_OptionConfigurationProperty
- type CfnOptionGroup_OptionSettingProperty
- type ClientPasswordAuthType
- type ClusterEngineBindOptions
- type ClusterEngineConfig
- type ClusterEngineFeatures
- type ClusterInstance
- type ClusterInstanceBindOptions
- type ClusterInstanceOptions
- type ClusterInstanceProps
- type ClusterInstanceType
- type CommonRotationUserOptions
- type Credentials
- func Credentials_FromGeneratedSecret(username *string, options *CredentialsBaseOptions) Credentials
- func Credentials_FromPassword(username *string, password awscdk.SecretValue) Credentials
- func Credentials_FromSecret(secret awssecretsmanager.ISecret, username *string) Credentials
- func Credentials_FromUsername(username *string, options *CredentialsFromUsernameOptions) Credentials
- type CredentialsBaseOptions
- type CredentialsFromUsernameOptions
- type DBClusterStorageType
- type DatabaseCluster
- type DatabaseClusterAttributes
- type DatabaseClusterBase
- type DatabaseClusterEngine
- type DatabaseClusterFromSnapshot
- type DatabaseClusterFromSnapshotProps
- type DatabaseClusterProps
- type DatabaseInstance
- type DatabaseInstanceAttributes
- type DatabaseInstanceBase
- type DatabaseInstanceEngine
- type DatabaseInstanceFromSnapshot
- type DatabaseInstanceFromSnapshotProps
- type DatabaseInstanceNewProps
- type DatabaseInstanceProps
- type DatabaseInstanceReadReplica
- type DatabaseInstanceReadReplicaProps
- type DatabaseInstanceSourceProps
- type DatabaseProxy
- type DatabaseProxyAttributes
- type DatabaseProxyOptions
- type DatabaseProxyProps
- type DatabaseSecret
- type DatabaseSecretProps
- type Endpoint
- type EngineVersion
- type IAuroraClusterInstance
- type IClusterEngine
- func DatabaseClusterEngine_AURORA() IClusterEngine
- func DatabaseClusterEngine_AURORA_MYSQL() IClusterEngine
- func DatabaseClusterEngine_AURORA_POSTGRESQL() IClusterEngine
- func DatabaseClusterEngine_Aurora(props *AuroraClusterEngineProps) IClusterEngine
- func DatabaseClusterEngine_AuroraMysql(props *AuroraMysqlClusterEngineProps) IClusterEngine
- func DatabaseClusterEngine_AuroraPostgres(props *AuroraPostgresClusterEngineProps) IClusterEngine
- type IClusterInstance
- type IDatabaseCluster
- type IDatabaseInstance
- func DatabaseInstanceBase_FromDatabaseInstanceAttributes(scope constructs.Construct, id *string, attrs *DatabaseInstanceAttributes) IDatabaseInstance
- func DatabaseInstanceFromSnapshot_FromDatabaseInstanceAttributes(scope constructs.Construct, id *string, attrs *DatabaseInstanceAttributes) IDatabaseInstance
- func DatabaseInstanceReadReplica_FromDatabaseInstanceAttributes(scope constructs.Construct, id *string, attrs *DatabaseInstanceAttributes) IDatabaseInstance
- func DatabaseInstance_FromDatabaseInstanceAttributes(scope constructs.Construct, id *string, attrs *DatabaseInstanceAttributes) IDatabaseInstance
- type IDatabaseProxy
- type IEngine
- type IInstanceEngine
- func DatabaseInstanceEngine_MARIADB() IInstanceEngine
- func DatabaseInstanceEngine_MYSQL() IInstanceEngine
- func DatabaseInstanceEngine_MariaDb(props *MariaDbInstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_Mysql(props *MySqlInstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_ORACLE_EE() IInstanceEngine
- func DatabaseInstanceEngine_ORACLE_EE_CDB() IInstanceEngine
- func DatabaseInstanceEngine_ORACLE_SE2() IInstanceEngine
- func DatabaseInstanceEngine_ORACLE_SE2_CDB() IInstanceEngine
- func DatabaseInstanceEngine_OracleEe(props *OracleEeInstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_OracleEeCdb(props *OracleEeCdbInstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_OracleSe2(props *OracleSe2InstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_OracleSe2Cdb(props *OracleSe2CdbInstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_POSTGRES() IInstanceEngine
- func DatabaseInstanceEngine_Postgres(props *PostgresInstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_SQL_SERVER_EE() IInstanceEngine
- func DatabaseInstanceEngine_SQL_SERVER_EX() IInstanceEngine
- func DatabaseInstanceEngine_SQL_SERVER_SE() IInstanceEngine
- func DatabaseInstanceEngine_SQL_SERVER_WEB() IInstanceEngine
- func DatabaseInstanceEngine_SqlServerEe(props *SqlServerEeInstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_SqlServerEx(props *SqlServerExInstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_SqlServerSe(props *SqlServerSeInstanceEngineProps) IInstanceEngine
- func DatabaseInstanceEngine_SqlServerWeb(props *SqlServerWebInstanceEngineProps) IInstanceEngine
- type IOptionGroup
- type IParameterGroup
- type IServerlessCluster
- type ISubnetGroup
- type InstanceEngineBindOptions
- type InstanceEngineConfig
- type InstanceEngineFeatures
- type InstanceProps
- type InstanceType
- type InstanceUpdateBehaviour
- type LicenseModel
- type MariaDbEngineVersion
- func MariaDbEngineVersion_Of(mariaDbFullVersion *string, mariaDbMajorVersion *string) MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_11() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_11_4() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_11_5() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_11_6() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_11_7() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_11_8() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_11() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_12() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_15() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_21() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_32() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_37() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_39() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_40() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_41() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_43() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_2_44() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_13() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_20() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_23() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_28() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_31() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_32() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_34() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_35() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_36() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_37() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_38() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_39() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_3_8() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_13() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_18() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_21() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_22() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_24() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_25() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_26() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_27() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_28() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_29() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_30() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_31() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_32() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_33() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_34() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_4_8() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_12() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_13() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_15() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_16() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_17() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_18() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_19() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_20() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_21() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_22() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_23() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_24() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_25() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_8() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_5_9() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_10() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_11() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_12() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_13() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_14() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_15() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_16() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_17() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_18() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_5() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_7() MariaDbEngineVersion
- func MariaDbEngineVersion_VER_10_6_8() MariaDbEngineVersion
- type MariaDbInstanceEngineProps
- type MySqlInstanceEngineProps
- type MysqlEngineVersion
- func MysqlEngineVersion_Of(mysqlFullVersion *string, mysqlMajorVersion *string) MysqlEngineVersion
- func MysqlEngineVersion_VER_5_5_54() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_16() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_17() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_19() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_21() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_22() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_23() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_24() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_25() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_26() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_28() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_30() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_31() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_33() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_34() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_35() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_36() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_37() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_38() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_39() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_40() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_41() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_42() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_43() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_44() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_44_RDS_20240408() MysqlEngineVersion
- func MysqlEngineVersion_VER_5_7_44_RDS_20240529() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_11() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_13() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_15() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_16() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_17() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_19() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_20() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_21() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_23() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_25() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_26() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_27() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_28() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_29() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_30() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_31() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_32() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_33() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_34() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_35() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_36() MysqlEngineVersion
- func MysqlEngineVersion_VER_8_0_37() MysqlEngineVersion
- type NetworkType
- type OptionConfiguration
- type OptionGroup
- type OptionGroupProps
- type OracleEeCdbInstanceEngineProps
- type OracleEeInstanceEngineProps
- type OracleEngineVersion
- func OracleEngineVersion_Of(oracleFullVersion *string, oracleMajorVersion *string) OracleEngineVersion
- func OracleEngineVersion_VER_12_1() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V1() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V10() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V11() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V12() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V13() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V14() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V15() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V16() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V17() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V18() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V19() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V2() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V20() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V21() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V22() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V23() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V24() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V25() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V26() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V27() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V28() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V29() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V3() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V4() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V5() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V6() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V7() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V8() OracleEngineVersion
- func OracleEngineVersion_VER_12_1_0_2_V9() OracleEngineVersion
- func OracleEngineVersion_VER_12_2() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2018_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2019_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2019_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2019_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2019_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2020_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2020_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2020_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2020_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2021_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2021_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2021_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2021_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_12_2_0_1_2022_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_18() OracleEngineVersion
- func OracleEngineVersion_VER_18_0_0_0_2019_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_18_0_0_0_2019_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_18_0_0_0_2020_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_18_0_0_0_2020_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_18_0_0_0_2020_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_18_0_0_0_2020_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_18_0_0_0_2021_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_18_0_0_0_2021_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2019_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2019_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2020_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2020_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2020_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2020_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2021_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2021_01_R2() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2021_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2021_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2021_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2022_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2022_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2022_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2022_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2023_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2023_01_R2() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2023_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2023_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2023_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2024_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_19_0_0_0_2024_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2022_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2022_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2022_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2022_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2023_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2023_01_R2() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2023_04_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2023_07_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2023_10_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2024_01_R1() OracleEngineVersion
- func OracleEngineVersion_VER_21_0_0_0_2024_04_R1() OracleEngineVersion
- type OracleSe2CdbInstanceEngineProps
- type OracleSe2InstanceEngineProps
- type ParameterGroup
- type ParameterGroupClusterBindOptions
- type ParameterGroupClusterConfig
- type ParameterGroupInstanceBindOptions
- type ParameterGroupInstanceConfig
- type ParameterGroupProps
- type PerformanceInsightRetention
- type PostgresEngineFeatures
- type PostgresEngineVersion
- func PostgresEngineVersion_Of(postgresFullVersion *string, postgresMajorVersion *string, ...) PostgresEngineVersion
- func PostgresEngineVersion_VER_10() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_1() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_10() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_11() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_12() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_13() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_14() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_15() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_16() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_17() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_18() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_19() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_20() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_21() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_22() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_23() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_3() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_4() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_5() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_6() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_7() PostgresEngineVersion
- func PostgresEngineVersion_VER_10_9() PostgresEngineVersion
- func PostgresEngineVersion_VER_11() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_1() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_10() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_11() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_12() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_13() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_14() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_15() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_16() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_17() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_18() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_19() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_2() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_20() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_21() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_22() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_22_RDS_20240418() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_22_RDS_20240509() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_4() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_5() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_6() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_7() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_8() PostgresEngineVersion
- func PostgresEngineVersion_VER_11_9() PostgresEngineVersion
- func PostgresEngineVersion_VER_12() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_10() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_11() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_12() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_13() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_14() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_15() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_16() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_17() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_18() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_19() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_2() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_3() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_4() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_5() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_6() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_7() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_8() PostgresEngineVersion
- func PostgresEngineVersion_VER_12_9() PostgresEngineVersion
- func PostgresEngineVersion_VER_13() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_1() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_10() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_11() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_12() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_13() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_14() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_15() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_2() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_3() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_4() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_5() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_6() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_7() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_8() PostgresEngineVersion
- func PostgresEngineVersion_VER_13_9() PostgresEngineVersion
- func PostgresEngineVersion_VER_14() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_1() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_10() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_11() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_12() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_2() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_3() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_4() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_5() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_6() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_7() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_8() PostgresEngineVersion
- func PostgresEngineVersion_VER_14_9() PostgresEngineVersion
- func PostgresEngineVersion_VER_15() PostgresEngineVersion
- func PostgresEngineVersion_VER_15_2() PostgresEngineVersion
- func PostgresEngineVersion_VER_15_3() PostgresEngineVersion
- func PostgresEngineVersion_VER_15_4() PostgresEngineVersion
- func PostgresEngineVersion_VER_15_5() PostgresEngineVersion
- func PostgresEngineVersion_VER_15_6() PostgresEngineVersion
- func PostgresEngineVersion_VER_15_7() PostgresEngineVersion
- func PostgresEngineVersion_VER_16() PostgresEngineVersion
- func PostgresEngineVersion_VER_16_1() PostgresEngineVersion
- func PostgresEngineVersion_VER_16_2() PostgresEngineVersion
- func PostgresEngineVersion_VER_16_3() PostgresEngineVersion
- func PostgresEngineVersion_VER_9_6_24() PostgresEngineVersion
- type PostgresInstanceEngineProps
- type ProcessorFeatures
- type ProvisionedClusterInstanceProps
- type ProxyTarget
- type ProxyTargetConfig
- type RotationMultiUserOptions
- type RotationSingleUserOptions
- type ServerlessCluster
- type ServerlessClusterAttributes
- type ServerlessClusterFromSnapshot
- type ServerlessClusterFromSnapshotProps
- type ServerlessClusterProps
- type ServerlessScalingOptions
- type ServerlessV2ClusterInstanceProps
- type SessionPinningFilter
- type SnapshotCredentials
- func SnapshotCredentials_FromGeneratedPassword(username *string, options *SnapshotCredentialsFromGeneratedPasswordOptions) SnapshotCredentials
- func SnapshotCredentials_FromGeneratedSecret(username *string, options *SnapshotCredentialsFromGeneratedPasswordOptions) SnapshotCredentials
- func SnapshotCredentials_FromPassword(password awscdk.SecretValue) SnapshotCredentials
- func SnapshotCredentials_FromSecret(secret awssecretsmanager.ISecret) SnapshotCredentials
- type SnapshotCredentialsFromGeneratedPasswordOptions
- type SqlServerEeInstanceEngineProps
- type SqlServerEngineVersion
- func SqlServerEngineVersion_Of(sqlServerFullVersion *string, sqlServerMajorVersion *string) SqlServerEngineVersion
- func SqlServerEngineVersion_VER_11() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_11_00_5058_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_11_00_6020_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_11_00_6594_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_11_00_7462_6_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_11_00_7493_4_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_4422_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_5000_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_5546_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_5571_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_6293_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_6329_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_6433_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_6439_10_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_6444_4_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_12_00_6449_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_2164_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_4422_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_4451_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_4466_4_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_4522_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_5216_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_5292_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_5366_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_5426_0_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_5598_27_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_5820_21_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_5850_14_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_5882_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_6300_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_6419_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_6430_49_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_13_00_6435_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_1000_169_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3015_40_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3035_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3049_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3192_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3223_3_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3281_6_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3294_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3356_20_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3381_3_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3401_7_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3421_10_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3451_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3460_9_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_14_00_3465_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4043_16_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4073_23_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4153_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4198_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4236_7_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4312_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4316_3_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4322_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4335_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4345_5_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4355_3_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_15_00_4365_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_16() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_16_00_4085_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_16_00_4095_4_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_16_00_4105_2_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_16_00_4115_5_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_16_00_4120_1_V1() SqlServerEngineVersion
- func SqlServerEngineVersion_VER_16_00_4125_3_V1() SqlServerEngineVersion
- type SqlServerExInstanceEngineProps
- type SqlServerSeInstanceEngineProps
- type SqlServerWebInstanceEngineProps
- type StorageType
- type SubnetGroup
- type SubnetGroupProps
- type TimeoutAction
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnCustomDBEngineVersion_CFN_RESOURCE_TYPE_NAME ¶ added in v2.85.0
func CfnCustomDBEngineVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnCustomDBEngineVersion_IsCfnElement ¶ added in v2.85.0
func CfnCustomDBEngineVersion_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnCustomDBEngineVersion_IsCfnResource ¶ added in v2.85.0
func CfnCustomDBEngineVersion_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnCustomDBEngineVersion_IsConstruct ¶ added in v2.85.0
func CfnCustomDBEngineVersion_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBClusterParameterGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBClusterParameterGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBClusterParameterGroup_IsCfnElement ¶
func CfnDBClusterParameterGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBClusterParameterGroup_IsCfnResource ¶
func CfnDBClusterParameterGroup_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBClusterParameterGroup_IsConstruct ¶
func CfnDBClusterParameterGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBCluster_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBCluster_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBCluster_IsCfnElement ¶
func CfnDBCluster_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBCluster_IsCfnResource ¶
func CfnDBCluster_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBCluster_IsConstruct ¶
func CfnDBCluster_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBInstance_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBInstance_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBInstance_IsCfnElement ¶
func CfnDBInstance_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBInstance_IsCfnResource ¶
func CfnDBInstance_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBInstance_IsConstruct ¶
func CfnDBInstance_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBParameterGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBParameterGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBParameterGroup_IsCfnElement ¶
func CfnDBParameterGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBParameterGroup_IsCfnResource ¶
func CfnDBParameterGroup_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBParameterGroup_IsConstruct ¶
func CfnDBParameterGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBProxyEndpoint_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBProxyEndpoint_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBProxyEndpoint_IsCfnElement ¶
func CfnDBProxyEndpoint_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBProxyEndpoint_IsCfnResource ¶
func CfnDBProxyEndpoint_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBProxyEndpoint_IsConstruct ¶
func CfnDBProxyEndpoint_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBProxyTargetGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBProxyTargetGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBProxyTargetGroup_IsCfnElement ¶
func CfnDBProxyTargetGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBProxyTargetGroup_IsCfnResource ¶
func CfnDBProxyTargetGroup_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBProxyTargetGroup_IsConstruct ¶
func CfnDBProxyTargetGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBProxy_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBProxy_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBProxy_IsCfnElement ¶
func CfnDBProxy_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBProxy_IsCfnResource ¶
func CfnDBProxy_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBProxy_IsConstruct ¶
func CfnDBProxy_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBSecurityGroupIngress_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBSecurityGroupIngress_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBSecurityGroupIngress_IsCfnElement ¶
func CfnDBSecurityGroupIngress_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBSecurityGroupIngress_IsCfnResource ¶
func CfnDBSecurityGroupIngress_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBSecurityGroupIngress_IsConstruct ¶
func CfnDBSecurityGroupIngress_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBSecurityGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBSecurityGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBSecurityGroup_IsCfnElement ¶
func CfnDBSecurityGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBSecurityGroup_IsCfnResource ¶
func CfnDBSecurityGroup_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBSecurityGroup_IsConstruct ¶
func CfnDBSecurityGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDBSubnetGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnDBSubnetGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnDBSubnetGroup_IsCfnElement ¶
func CfnDBSubnetGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDBSubnetGroup_IsCfnResource ¶
func CfnDBSubnetGroup_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDBSubnetGroup_IsConstruct ¶
func CfnDBSubnetGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnEventSubscription_CFN_RESOURCE_TYPE_NAME ¶
func CfnEventSubscription_CFN_RESOURCE_TYPE_NAME() *string
func CfnEventSubscription_IsCfnElement ¶
func CfnEventSubscription_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnEventSubscription_IsCfnResource ¶
func CfnEventSubscription_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnEventSubscription_IsConstruct ¶
func CfnEventSubscription_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnGlobalCluster_CFN_RESOURCE_TYPE_NAME ¶
func CfnGlobalCluster_CFN_RESOURCE_TYPE_NAME() *string
func CfnGlobalCluster_IsCfnElement ¶
func CfnGlobalCluster_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnGlobalCluster_IsCfnResource ¶
func CfnGlobalCluster_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnGlobalCluster_IsConstruct ¶
func CfnGlobalCluster_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnIntegration_CFN_RESOURCE_TYPE_NAME ¶ added in v2.127.0
func CfnIntegration_CFN_RESOURCE_TYPE_NAME() *string
func CfnIntegration_IsCfnElement ¶ added in v2.127.0
func CfnIntegration_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnIntegration_IsCfnResource ¶ added in v2.127.0
func CfnIntegration_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnIntegration_IsConstruct ¶ added in v2.127.0
func CfnIntegration_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnOptionGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnOptionGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnOptionGroup_IsCfnElement ¶
func CfnOptionGroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnOptionGroup_IsCfnResource ¶
func CfnOptionGroup_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnOptionGroup_IsConstruct ¶
func CfnOptionGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseClusterBase_IsConstruct ¶
func DatabaseClusterBase_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseClusterBase_IsOwnedResource ¶ added in v2.32.0
func DatabaseClusterBase_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DatabaseClusterBase_IsResource ¶
func DatabaseClusterBase_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DatabaseClusterFromSnapshot_IsConstruct ¶
func DatabaseClusterFromSnapshot_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseClusterFromSnapshot_IsOwnedResource ¶ added in v2.32.0
func DatabaseClusterFromSnapshot_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DatabaseClusterFromSnapshot_IsResource ¶
func DatabaseClusterFromSnapshot_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DatabaseCluster_IsConstruct ¶
func DatabaseCluster_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseCluster_IsOwnedResource ¶ added in v2.32.0
func DatabaseCluster_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DatabaseCluster_IsResource ¶
func DatabaseCluster_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DatabaseInstanceBase_IsConstruct ¶
func DatabaseInstanceBase_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseInstanceBase_IsOwnedResource ¶ added in v2.32.0
func DatabaseInstanceBase_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DatabaseInstanceBase_IsResource ¶
func DatabaseInstanceBase_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DatabaseInstanceFromSnapshot_IsConstruct ¶
func DatabaseInstanceFromSnapshot_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseInstanceFromSnapshot_IsOwnedResource ¶ added in v2.32.0
func DatabaseInstanceFromSnapshot_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DatabaseInstanceFromSnapshot_IsResource ¶
func DatabaseInstanceFromSnapshot_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DatabaseInstanceReadReplica_IsConstruct ¶
func DatabaseInstanceReadReplica_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseInstanceReadReplica_IsOwnedResource ¶ added in v2.32.0
func DatabaseInstanceReadReplica_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DatabaseInstanceReadReplica_IsResource ¶
func DatabaseInstanceReadReplica_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DatabaseInstance_IsConstruct ¶
func DatabaseInstance_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseInstance_IsOwnedResource ¶ added in v2.32.0
func DatabaseInstance_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DatabaseInstance_IsResource ¶
func DatabaseInstance_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DatabaseProxy_IsConstruct ¶
func DatabaseProxy_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseProxy_IsOwnedResource ¶ added in v2.32.0
func DatabaseProxy_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DatabaseProxy_IsResource ¶
func DatabaseProxy_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DatabaseSecret_FromSecretAttributes ¶
func DatabaseSecret_FromSecretAttributes(scope constructs.Construct, id *string, attrs *awssecretsmanager.SecretAttributes) awssecretsmanager.ISecret
Import an existing secret into the Stack.
func DatabaseSecret_FromSecretCompleteArn ¶
func DatabaseSecret_FromSecretCompleteArn(scope constructs.Construct, id *string, secretCompleteArn *string) awssecretsmanager.ISecret
Imports a secret by complete ARN.
The complete ARN is the ARN with the Secrets Manager-supplied suffix.
func DatabaseSecret_FromSecretNameV2 ¶
func DatabaseSecret_FromSecretNameV2(scope constructs.Construct, id *string, secretName *string) awssecretsmanager.ISecret
Imports a secret by secret name.
A secret with this name must exist in the same account & region. Replaces the deprecated `fromSecretName`. Please note this method returns ISecret that only contains partial ARN and could lead to AccessDeniedException when you pass the partial ARN to CLI or SDK to get the secret value. If your secret name ends with a hyphen and 6 characters, you should always use fromSecretCompleteArn() to avoid potential AccessDeniedException. See: https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen
func DatabaseSecret_FromSecretPartialArn ¶
func DatabaseSecret_FromSecretPartialArn(scope constructs.Construct, id *string, secretPartialArn *string) awssecretsmanager.ISecret
Imports a secret by partial ARN.
The partial ARN is the ARN without the Secrets Manager-supplied suffix.
func DatabaseSecret_IsConstruct ¶
func DatabaseSecret_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DatabaseSecret_IsOwnedResource ¶ added in v2.32.0
func DatabaseSecret_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DatabaseSecret_IsResource ¶
func DatabaseSecret_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DatabaseSecret_IsSecret ¶ added in v2.29.0
func DatabaseSecret_IsSecret(x interface{}) *bool
Return whether the given object is a Secret.
func NewCfnCustomDBEngineVersion_Override ¶ added in v2.85.0
func NewCfnCustomDBEngineVersion_Override(c CfnCustomDBEngineVersion, scope constructs.Construct, id *string, props *CfnCustomDBEngineVersionProps)
func NewCfnDBClusterParameterGroup_Override ¶
func NewCfnDBClusterParameterGroup_Override(c CfnDBClusterParameterGroup, scope constructs.Construct, id *string, props *CfnDBClusterParameterGroupProps)
func NewCfnDBCluster_Override ¶
func NewCfnDBCluster_Override(c CfnDBCluster, scope constructs.Construct, id *string, props *CfnDBClusterProps)
func NewCfnDBInstance_Override ¶
func NewCfnDBInstance_Override(c CfnDBInstance, scope constructs.Construct, id *string, props *CfnDBInstanceProps)
func NewCfnDBParameterGroup_Override ¶
func NewCfnDBParameterGroup_Override(c CfnDBParameterGroup, scope constructs.Construct, id *string, props *CfnDBParameterGroupProps)
func NewCfnDBProxyEndpoint_Override ¶
func NewCfnDBProxyEndpoint_Override(c CfnDBProxyEndpoint, scope constructs.Construct, id *string, props *CfnDBProxyEndpointProps)
func NewCfnDBProxyTargetGroup_Override ¶
func NewCfnDBProxyTargetGroup_Override(c CfnDBProxyTargetGroup, scope constructs.Construct, id *string, props *CfnDBProxyTargetGroupProps)
func NewCfnDBProxy_Override ¶
func NewCfnDBProxy_Override(c CfnDBProxy, scope constructs.Construct, id *string, props *CfnDBProxyProps)
func NewCfnDBSecurityGroupIngress_Override ¶
func NewCfnDBSecurityGroupIngress_Override(c CfnDBSecurityGroupIngress, scope constructs.Construct, id *string, props *CfnDBSecurityGroupIngressProps)
func NewCfnDBSecurityGroup_Override ¶
func NewCfnDBSecurityGroup_Override(c CfnDBSecurityGroup, scope constructs.Construct, id *string, props *CfnDBSecurityGroupProps)
func NewCfnDBSubnetGroup_Override ¶
func NewCfnDBSubnetGroup_Override(c CfnDBSubnetGroup, scope constructs.Construct, id *string, props *CfnDBSubnetGroupProps)
func NewCfnEventSubscription_Override ¶
func NewCfnEventSubscription_Override(c CfnEventSubscription, scope constructs.Construct, id *string, props *CfnEventSubscriptionProps)
func NewCfnGlobalCluster_Override ¶
func NewCfnGlobalCluster_Override(c CfnGlobalCluster, scope constructs.Construct, id *string, props *CfnGlobalClusterProps)
func NewCfnIntegration_Override ¶ added in v2.127.0
func NewCfnIntegration_Override(c CfnIntegration, scope constructs.Construct, id *string, props *CfnIntegrationProps)
func NewCfnOptionGroup_Override ¶
func NewCfnOptionGroup_Override(c CfnOptionGroup, scope constructs.Construct, id *string, props *CfnOptionGroupProps)
func NewClusterInstanceType_Override ¶ added in v2.82.0
func NewClusterInstanceType_Override(c ClusterInstanceType, instanceType *string, type_ InstanceType)
func NewCredentials_Override ¶
func NewCredentials_Override(c Credentials)
func NewDatabaseClusterBase_Override ¶
func NewDatabaseClusterBase_Override(d DatabaseClusterBase, scope constructs.Construct, id *string, props *awscdk.ResourceProps)
func NewDatabaseClusterEngine_Override ¶
func NewDatabaseClusterEngine_Override(d DatabaseClusterEngine)
func NewDatabaseClusterFromSnapshot_Override ¶
func NewDatabaseClusterFromSnapshot_Override(d DatabaseClusterFromSnapshot, scope constructs.Construct, id *string, props *DatabaseClusterFromSnapshotProps)
func NewDatabaseCluster_Override ¶
func NewDatabaseCluster_Override(d DatabaseCluster, scope constructs.Construct, id *string, props *DatabaseClusterProps)
func NewDatabaseInstanceBase_Override ¶
func NewDatabaseInstanceBase_Override(d DatabaseInstanceBase, scope constructs.Construct, id *string, props *awscdk.ResourceProps)
func NewDatabaseInstanceEngine_Override ¶
func NewDatabaseInstanceEngine_Override(d DatabaseInstanceEngine)
func NewDatabaseInstanceFromSnapshot_Override ¶
func NewDatabaseInstanceFromSnapshot_Override(d DatabaseInstanceFromSnapshot, scope constructs.Construct, id *string, props *DatabaseInstanceFromSnapshotProps)
func NewDatabaseInstanceReadReplica_Override ¶
func NewDatabaseInstanceReadReplica_Override(d DatabaseInstanceReadReplica, scope constructs.Construct, id *string, props *DatabaseInstanceReadReplicaProps)
func NewDatabaseInstance_Override ¶
func NewDatabaseInstance_Override(d DatabaseInstance, scope constructs.Construct, id *string, props *DatabaseInstanceProps)
func NewDatabaseProxy_Override ¶
func NewDatabaseProxy_Override(d DatabaseProxy, scope constructs.Construct, id *string, props *DatabaseProxyProps)
func NewDatabaseSecret_Override ¶
func NewDatabaseSecret_Override(d DatabaseSecret, scope constructs.Construct, id *string, props *DatabaseSecretProps)
func NewEndpoint_Override ¶
func NewOptionGroup_Override ¶
func NewOptionGroup_Override(o OptionGroup, scope constructs.Construct, id *string, props *OptionGroupProps)
func NewParameterGroup_Override ¶
func NewParameterGroup_Override(p ParameterGroup, scope constructs.Construct, id *string, props *ParameterGroupProps)
func NewServerlessClusterFromSnapshot_Override ¶ added in v2.4.0
func NewServerlessClusterFromSnapshot_Override(s ServerlessClusterFromSnapshot, scope constructs.Construct, id *string, props *ServerlessClusterFromSnapshotProps)
func NewServerlessCluster_Override ¶
func NewServerlessCluster_Override(s ServerlessCluster, scope constructs.Construct, id *string, props *ServerlessClusterProps)
func NewSnapshotCredentials_Override ¶
func NewSnapshotCredentials_Override(s SnapshotCredentials)
func NewSubnetGroup_Override ¶
func NewSubnetGroup_Override(s SubnetGroup, scope constructs.Construct, id *string, props *SubnetGroupProps)
func OptionGroup_IsConstruct ¶
func OptionGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func OptionGroup_IsOwnedResource ¶ added in v2.32.0
func OptionGroup_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func OptionGroup_IsResource ¶
func OptionGroup_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func ParameterGroup_IsConstruct ¶
func ParameterGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func ParameterGroup_IsOwnedResource ¶ added in v2.32.0
func ParameterGroup_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func ParameterGroup_IsResource ¶
func ParameterGroup_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func ServerlessClusterFromSnapshot_IsConstruct ¶ added in v2.4.0
func ServerlessClusterFromSnapshot_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func ServerlessClusterFromSnapshot_IsOwnedResource ¶ added in v2.32.0
func ServerlessClusterFromSnapshot_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func ServerlessClusterFromSnapshot_IsResource ¶ added in v2.4.0
func ServerlessClusterFromSnapshot_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func ServerlessCluster_IsConstruct ¶
func ServerlessCluster_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func ServerlessCluster_IsOwnedResource ¶ added in v2.32.0
func ServerlessCluster_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func ServerlessCluster_IsResource ¶
func ServerlessCluster_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func SubnetGroup_IsConstruct ¶
func SubnetGroup_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func SubnetGroup_IsOwnedResource ¶ added in v2.32.0
func SubnetGroup_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func SubnetGroup_IsResource ¶
func SubnetGroup_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
Types ¶
type AuroraCapacityUnit ¶
type AuroraCapacityUnit string
Aurora capacity units (ACUs).
Each ACU is a combination of processing and memory capacity.
Example:
var vpc vpc cluster := rds.NewServerlessCluster(this, jsii.String("AnotherCluster"), &ServerlessClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA_POSTGRESQL(), CopyTagsToSnapshot: jsii.Boolean(true), // whether to save the cluster tags when creating the snapshot. Default is 'true' ParameterGroup: rds.ParameterGroup_FromParameterGroupName(this, jsii.String("ParameterGroup"), jsii.String("default.aurora-postgresql11")), Vpc: Vpc, Scaling: &ServerlessScalingOptions{ AutoPause: awscdk.Duration_Minutes(jsii.Number(10)), // default is to pause after 5 minutes of idle time MinCapacity: rds.AuroraCapacityUnit_ACU_8, // default is 2 Aurora capacity units (ACUs) MaxCapacity: rds.AuroraCapacityUnit_ACU_32, // default is 16 Aurora capacity units (ACUs) Timeout: awscdk.Duration_Seconds(jsii.Number(100)), // default is 5 minutes TimeoutAction: rds.TimeoutAction_FORCE_APPLY_CAPACITY_CHANGE, }, })
const ( // 1 Aurora Capacity Unit. AuroraCapacityUnit_ACU_1 AuroraCapacityUnit = "ACU_1" // 2 Aurora Capacity Units. AuroraCapacityUnit_ACU_2 AuroraCapacityUnit = "ACU_2" // 4 Aurora Capacity Units. AuroraCapacityUnit_ACU_4 AuroraCapacityUnit = "ACU_4" // 8 Aurora Capacity Units. AuroraCapacityUnit_ACU_8 AuroraCapacityUnit = "ACU_8" // 16 Aurora Capacity Units. AuroraCapacityUnit_ACU_16 AuroraCapacityUnit = "ACU_16" // 32 Aurora Capacity Units. AuroraCapacityUnit_ACU_32 AuroraCapacityUnit = "ACU_32" // 64 Aurora Capacity Units. AuroraCapacityUnit_ACU_64 AuroraCapacityUnit = "ACU_64" // 128 Aurora Capacity Units. AuroraCapacityUnit_ACU_128 AuroraCapacityUnit = "ACU_128" // 192 Aurora Capacity Units. AuroraCapacityUnit_ACU_192 AuroraCapacityUnit = "ACU_192" // 256 Aurora Capacity Units. AuroraCapacityUnit_ACU_256 AuroraCapacityUnit = "ACU_256" // 384 Aurora Capacity Units. AuroraCapacityUnit_ACU_384 AuroraCapacityUnit = "ACU_384" )
type AuroraClusterEngineProps ¶
type AuroraClusterEngineProps struct { // The version of the Aurora cluster engine. Version AuroraEngineVersion `field:"required" json:"version" yaml:"version"` }
Creation properties of the plain Aurora database cluster engine.
Used in `DatabaseClusterEngine.aurora`.
Example:
var vpc vpc rds.NewDatabaseClusterFromSnapshot(this, jsii.String("Database"), &DatabaseClusterFromSnapshotProps{ Engine: rds.DatabaseClusterEngine_Aurora(&AuroraClusterEngineProps{ Version: rds.AuroraEngineVersion_VER_1_22_2(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer")), Vpc: Vpc, SnapshotIdentifier: jsii.String("mySnapshot"), })
type AuroraEngineVersion ¶
type AuroraEngineVersion interface { // The full version string, for example, "5.6.mysql_aurora.1.78.3.6". AuroraFullVersion() *string // The major version of the engine. // // Currently, it's always "5.6". AuroraMajorVersion() *string }
The versions for the Aurora cluster engine (those returned by `DatabaseClusterEngine.aurora`).
Example:
var vpc vpc rds.NewDatabaseClusterFromSnapshot(this, jsii.String("Database"), &DatabaseClusterFromSnapshotProps{ Engine: rds.DatabaseClusterEngine_Aurora(&AuroraClusterEngineProps{ Version: rds.AuroraEngineVersion_VER_1_22_2(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer")), Vpc: Vpc, SnapshotIdentifier: jsii.String("mySnapshot"), })
func AuroraEngineVersion_Of ¶
func AuroraEngineVersion_Of(auroraFullVersion *string, auroraMajorVersion *string) AuroraEngineVersion
Create a new AuroraEngineVersion with an arbitrary version.
func AuroraEngineVersion_VER_10A ¶
func AuroraEngineVersion_VER_10A() AuroraEngineVersion
func AuroraEngineVersion_VER_1_17_9 ¶
func AuroraEngineVersion_VER_1_17_9() AuroraEngineVersion
func AuroraEngineVersion_VER_1_19_0 ¶
func AuroraEngineVersion_VER_1_19_0() AuroraEngineVersion
func AuroraEngineVersion_VER_1_19_1 ¶
func AuroraEngineVersion_VER_1_19_1() AuroraEngineVersion
func AuroraEngineVersion_VER_1_19_2 ¶
func AuroraEngineVersion_VER_1_19_2() AuroraEngineVersion
func AuroraEngineVersion_VER_1_19_5 ¶
func AuroraEngineVersion_VER_1_19_5() AuroraEngineVersion
func AuroraEngineVersion_VER_1_19_6 ¶
func AuroraEngineVersion_VER_1_19_6() AuroraEngineVersion
func AuroraEngineVersion_VER_1_20_0 ¶
func AuroraEngineVersion_VER_1_20_0() AuroraEngineVersion
func AuroraEngineVersion_VER_1_20_1 ¶
func AuroraEngineVersion_VER_1_20_1() AuroraEngineVersion
func AuroraEngineVersion_VER_1_21_0 ¶
func AuroraEngineVersion_VER_1_21_0() AuroraEngineVersion
func AuroraEngineVersion_VER_1_22_0 ¶
func AuroraEngineVersion_VER_1_22_0() AuroraEngineVersion
func AuroraEngineVersion_VER_1_22_1 ¶
func AuroraEngineVersion_VER_1_22_1() AuroraEngineVersion
func AuroraEngineVersion_VER_1_22_1_3 ¶
func AuroraEngineVersion_VER_1_22_1_3() AuroraEngineVersion
func AuroraEngineVersion_VER_1_22_2 ¶
func AuroraEngineVersion_VER_1_22_2() AuroraEngineVersion
func AuroraEngineVersion_VER_1_22_3 ¶ added in v2.38.0
func AuroraEngineVersion_VER_1_22_3() AuroraEngineVersion
func AuroraEngineVersion_VER_1_22_4 ¶ added in v2.38.0
func AuroraEngineVersion_VER_1_22_4() AuroraEngineVersion
func AuroraEngineVersion_VER_1_22_5 ¶ added in v2.38.0
func AuroraEngineVersion_VER_1_22_5() AuroraEngineVersion
func AuroraEngineVersion_VER_1_23_0 ¶ added in v2.45.0
func AuroraEngineVersion_VER_1_23_0() AuroraEngineVersion
func AuroraEngineVersion_VER_1_23_1 ¶ added in v2.45.0
func AuroraEngineVersion_VER_1_23_1() AuroraEngineVersion
func AuroraEngineVersion_VER_1_23_2 ¶ added in v2.45.0
func AuroraEngineVersion_VER_1_23_2() AuroraEngineVersion
func AuroraEngineVersion_VER_1_23_3 ¶ added in v2.45.0
func AuroraEngineVersion_VER_1_23_3() AuroraEngineVersion
func AuroraEngineVersion_VER_1_23_4 ¶ added in v2.45.0
func AuroraEngineVersion_VER_1_23_4() AuroraEngineVersion
type AuroraMysqlClusterEngineProps ¶
type AuroraMysqlClusterEngineProps struct { // The version of the Aurora MySQL cluster engine. Version AuroraMysqlEngineVersion `field:"required" json:"version" yaml:"version"` }
Creation properties of the Aurora MySQL database cluster engine.
Used in `DatabaseClusterEngine.auroraMysql`.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_01_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_R6G, ec2.InstanceSize_XLARGE4), }), ServerlessV2MinCapacity: jsii.Number(6.5), ServerlessV2MaxCapacity: jsii.Number(64), Readers: []iClusterInstance{ rds.ClusterInstance_ServerlessV2(jsii.String("reader1"), &ServerlessV2ClusterInstanceProps{ ScaleWithWriter: jsii.Boolean(true), }), rds.ClusterInstance_*ServerlessV2(jsii.String("reader2")), }, Vpc: Vpc, })
type AuroraMysqlEngineVersion ¶
type AuroraMysqlEngineVersion interface { // The full version string, for example, "5.7.mysql_aurora.1.78.3.6". AuroraMysqlFullVersion() *string // The major version of the engine. // // Currently, it's either "5.7", or "8.0". AuroraMysqlMajorVersion() *string }
The versions for the Aurora MySQL cluster engine (those returned by `DatabaseClusterEngine.auroraMysql`).
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_01_0(), }), Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("clusteradmin")), // Optional - will default to 'admin' username and generated password Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ PubliclyAccessible: jsii.Boolean(false), }), Readers: []iClusterInstance{ rds.ClusterInstance_*Provisioned(jsii.String("reader1"), &ProvisionedClusterInstanceProps{ PromotionTier: jsii.Number(1), }), rds.ClusterInstance_ServerlessV2(jsii.String("reader2")), }, VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }, Vpc: Vpc, })
func AuroraMysqlEngineVersion_Of ¶
func AuroraMysqlEngineVersion_Of(auroraMysqlFullVersion *string, auroraMysqlMajorVersion *string) AuroraMysqlEngineVersion
Create a new AuroraMysqlEngineVersion with an arbitrary version.
func AuroraMysqlEngineVersion_VER_2_02_3 ¶ added in v2.133.0
func AuroraMysqlEngineVersion_VER_2_02_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_03_2 ¶
func AuroraMysqlEngineVersion_VER_2_03_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_03_3 ¶
func AuroraMysqlEngineVersion_VER_2_03_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_03_4 ¶
func AuroraMysqlEngineVersion_VER_2_03_4() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_0 ¶
func AuroraMysqlEngineVersion_VER_2_04_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_1 ¶
func AuroraMysqlEngineVersion_VER_2_04_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_2 ¶
func AuroraMysqlEngineVersion_VER_2_04_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_3 ¶
func AuroraMysqlEngineVersion_VER_2_04_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_4 ¶
func AuroraMysqlEngineVersion_VER_2_04_4() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_5 ¶
func AuroraMysqlEngineVersion_VER_2_04_5() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_6 ¶
func AuroraMysqlEngineVersion_VER_2_04_6() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_7 ¶
func AuroraMysqlEngineVersion_VER_2_04_7() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_8 ¶
func AuroraMysqlEngineVersion_VER_2_04_8() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_04_9 ¶ added in v2.133.0
func AuroraMysqlEngineVersion_VER_2_04_9() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_05_0 ¶
func AuroraMysqlEngineVersion_VER_2_05_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_05_1 ¶ added in v2.133.0
func AuroraMysqlEngineVersion_VER_2_05_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_06_0 ¶
func AuroraMysqlEngineVersion_VER_2_06_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_0 ¶
func AuroraMysqlEngineVersion_VER_2_07_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_1 ¶
func AuroraMysqlEngineVersion_VER_2_07_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_10 ¶ added in v2.106.0
func AuroraMysqlEngineVersion_VER_2_07_10() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_2 ¶
func AuroraMysqlEngineVersion_VER_2_07_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_3 ¶ added in v2.38.0
func AuroraMysqlEngineVersion_VER_2_07_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_4 ¶ added in v2.38.0
func AuroraMysqlEngineVersion_VER_2_07_4() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_5 ¶ added in v2.38.0
func AuroraMysqlEngineVersion_VER_2_07_5() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_6 ¶ added in v2.38.0
func AuroraMysqlEngineVersion_VER_2_07_6() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_7 ¶ added in v2.38.0
func AuroraMysqlEngineVersion_VER_2_07_7() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_8 ¶ added in v2.38.0
func AuroraMysqlEngineVersion_VER_2_07_8() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_07_9 ¶ added in v2.106.0
func AuroraMysqlEngineVersion_VER_2_07_9() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_08_0 ¶
func AuroraMysqlEngineVersion_VER_2_08_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_08_1 ¶
func AuroraMysqlEngineVersion_VER_2_08_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_08_2 ¶
func AuroraMysqlEngineVersion_VER_2_08_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_08_3 ¶ added in v2.38.0
func AuroraMysqlEngineVersion_VER_2_08_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_08_4 ¶ added in v2.38.0
func AuroraMysqlEngineVersion_VER_2_08_4() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_09_0 ¶
func AuroraMysqlEngineVersion_VER_2_09_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_09_1 ¶
func AuroraMysqlEngineVersion_VER_2_09_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_09_2 ¶
func AuroraMysqlEngineVersion_VER_2_09_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_09_3 ¶ added in v2.9.0
func AuroraMysqlEngineVersion_VER_2_09_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_10_0 ¶
func AuroraMysqlEngineVersion_VER_2_10_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_10_1 ¶
func AuroraMysqlEngineVersion_VER_2_10_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_10_2 ¶ added in v2.13.0
func AuroraMysqlEngineVersion_VER_2_10_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_10_3 ¶ added in v2.51.0
func AuroraMysqlEngineVersion_VER_2_10_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_11_0 ¶ added in v2.67.0
func AuroraMysqlEngineVersion_VER_2_11_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_11_1 ¶ added in v2.67.0
func AuroraMysqlEngineVersion_VER_2_11_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_11_2 ¶ added in v2.73.0
func AuroraMysqlEngineVersion_VER_2_11_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_11_3 ¶ added in v2.88.0
func AuroraMysqlEngineVersion_VER_2_11_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_11_4 ¶ added in v2.106.0
func AuroraMysqlEngineVersion_VER_2_11_4() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_11_5 ¶ added in v2.139.0
func AuroraMysqlEngineVersion_VER_2_11_5() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_12_0 ¶ added in v2.106.0
func AuroraMysqlEngineVersion_VER_2_12_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_12_1 ¶ added in v2.133.0
func AuroraMysqlEngineVersion_VER_2_12_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_2_12_2 ¶ added in v2.148.0
func AuroraMysqlEngineVersion_VER_2_12_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_01_0 ¶ added in v2.2.0
func AuroraMysqlEngineVersion_VER_3_01_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_01_1 ¶ added in v2.28.0
func AuroraMysqlEngineVersion_VER_3_01_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_02_0 ¶ added in v2.28.0
func AuroraMysqlEngineVersion_VER_3_02_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_02_1 ¶ added in v2.45.0
func AuroraMysqlEngineVersion_VER_3_02_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_02_2 ¶ added in v2.67.0
func AuroraMysqlEngineVersion_VER_3_02_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_02_3 ¶ added in v2.89.0
func AuroraMysqlEngineVersion_VER_3_02_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_03_0 ¶ added in v2.68.0
func AuroraMysqlEngineVersion_VER_3_03_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_03_1 ¶ added in v2.89.0
func AuroraMysqlEngineVersion_VER_3_03_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_03_2 ¶ added in v2.133.0
func AuroraMysqlEngineVersion_VER_3_03_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_03_3 ¶ added in v2.133.0
func AuroraMysqlEngineVersion_VER_3_03_3() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_04_0 ¶ added in v2.91.0
func AuroraMysqlEngineVersion_VER_3_04_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_04_1 ¶ added in v2.109.0
func AuroraMysqlEngineVersion_VER_3_04_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_04_2 ¶ added in v2.144.0
func AuroraMysqlEngineVersion_VER_3_04_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_05_0 ¶ added in v2.104.0
func AuroraMysqlEngineVersion_VER_3_05_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_05_1 ¶ added in v2.116.0
func AuroraMysqlEngineVersion_VER_3_05_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_05_2 ¶ added in v2.129.0
func AuroraMysqlEngineVersion_VER_3_05_2() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_06_0 ¶ added in v2.133.0
func AuroraMysqlEngineVersion_VER_3_06_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_06_1 ¶ added in v2.148.0
func AuroraMysqlEngineVersion_VER_3_06_1() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_3_07_0 ¶ added in v2.146.0
func AuroraMysqlEngineVersion_VER_3_07_0() AuroraMysqlEngineVersion
func AuroraMysqlEngineVersion_VER_5_7_12 ¶
func AuroraMysqlEngineVersion_VER_5_7_12() AuroraMysqlEngineVersion
type AuroraPostgresClusterEngineProps ¶
type AuroraPostgresClusterEngineProps struct { // The version of the Aurora PostgreSQL cluster engine. Version AuroraPostgresEngineVersion `field:"required" json:"version" yaml:"version"` }
Creation properties of the Aurora PostgreSQL database cluster engine.
Used in `DatabaseClusterEngine.auroraPostgres`.
Example:
// Build a data source for AppSync to access the database. var api graphqlApi // Create username and password secret for DB Cluster secret := rds.NewDatabaseSecret(this, jsii.String("AuroraSecret"), &DatabaseSecretProps{ Username: jsii.String("clusteradmin"), }) // The VPC to place the cluster in vpc := ec2.NewVpc(this, jsii.String("AuroraVpc")) // Create the serverless cluster, provide all values needed to customise the database. cluster := rds.NewDatabaseCluster(this, jsii.String("AuroraClusterV2"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraPostgres(&AuroraPostgresClusterEngineProps{ Version: rds.AuroraPostgresEngineVersion_VER_15_5(), }), Credentials: map[string]*string{ "username": jsii.String("clusteradmin"), }, ClusterIdentifier: jsii.String("db-endpoint-test"), Writer: rds.ClusterInstance_ServerlessV2(jsii.String("writer")), ServerlessV2MinCapacity: jsii.Number(2), ServerlessV2MaxCapacity: jsii.Number(10), Vpc: Vpc, DefaultDatabaseName: jsii.String("demos"), EnableDataApi: jsii.Boolean(true), }) rdsDS := api.AddRdsDataSourceV2(jsii.String("rds"), cluster, secret, jsii.String("demos")) // Set up a resolver for an RDS query. rdsDS.CreateResolver(jsii.String("QueryGetDemosRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Query"), FieldName: jsii.String("getDemosRds"), RequestMappingTemplate: appsync.MappingTemplate_FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "SELECT * FROM demos" ] } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[0]) `)), }) // Set up a resolver for an RDS mutation. rdsDS.CreateResolver(jsii.String("MutationAddDemoRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Mutation"), FieldName: jsii.String("addDemoRds"), RequestMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "INSERT INTO demos VALUES (:id, :version)", "SELECT * WHERE id = :id" ], "variableMap": { ":id": $util.toJson($util.autoId()), ":version": $util.toJson($ctx.args.version) } } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0]) `)), })
type AuroraPostgresEngineFeatures ¶
type AuroraPostgresEngineFeatures struct { // Whether this version of the Aurora Postgres cluster engine supports the S3 data export feature. // Default: false. // S3Export *bool `field:"optional" json:"s3Export" yaml:"s3Export"` // Whether this version of the Aurora Postgres cluster engine supports the S3 data import feature. // Default: false. // S3Import *bool `field:"optional" json:"s3Import" yaml:"s3Import"` }
Features supported by this version of the Aurora Postgres cluster engine.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" auroraPostgresEngineFeatures := &AuroraPostgresEngineFeatures{ S3Export: jsii.Boolean(false), S3Import: jsii.Boolean(false), }
type AuroraPostgresEngineVersion ¶
type AuroraPostgresEngineVersion interface { // The full version string, for example, "9.6.25.1". AuroraPostgresFullVersion() *string // The major version of the engine, for example, "9.6". AuroraPostgresMajorVersion() *string }
The versions for the Aurora PostgreSQL cluster engine (those returned by `DatabaseClusterEngine.auroraPostgres`).
Example:
// Build a data source for AppSync to access the database. var api graphqlApi // Create username and password secret for DB Cluster secret := rds.NewDatabaseSecret(this, jsii.String("AuroraSecret"), &DatabaseSecretProps{ Username: jsii.String("clusteradmin"), }) // The VPC to place the cluster in vpc := ec2.NewVpc(this, jsii.String("AuroraVpc")) // Create the serverless cluster, provide all values needed to customise the database. cluster := rds.NewDatabaseCluster(this, jsii.String("AuroraClusterV2"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraPostgres(&AuroraPostgresClusterEngineProps{ Version: rds.AuroraPostgresEngineVersion_VER_15_5(), }), Credentials: map[string]*string{ "username": jsii.String("clusteradmin"), }, ClusterIdentifier: jsii.String("db-endpoint-test"), Writer: rds.ClusterInstance_ServerlessV2(jsii.String("writer")), ServerlessV2MinCapacity: jsii.Number(2), ServerlessV2MaxCapacity: jsii.Number(10), Vpc: Vpc, DefaultDatabaseName: jsii.String("demos"), EnableDataApi: jsii.Boolean(true), }) rdsDS := api.AddRdsDataSourceV2(jsii.String("rds"), cluster, secret, jsii.String("demos")) // Set up a resolver for an RDS query. rdsDS.CreateResolver(jsii.String("QueryGetDemosRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Query"), FieldName: jsii.String("getDemosRds"), RequestMappingTemplate: appsync.MappingTemplate_FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "SELECT * FROM demos" ] } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[0]) `)), }) // Set up a resolver for an RDS mutation. rdsDS.CreateResolver(jsii.String("MutationAddDemoRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Mutation"), FieldName: jsii.String("addDemoRds"), RequestMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "INSERT INTO demos VALUES (:id, :version)", "SELECT * WHERE id = :id" ], "variableMap": { ":id": $util.toJson($util.autoId()), ":version": $util.toJson($ctx.args.version) } } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0]) `)), })
func AuroraPostgresEngineVersion_Of ¶
func AuroraPostgresEngineVersion_Of(auroraPostgresFullVersion *string, auroraPostgresMajorVersion *string, auroraPostgresFeatures *AuroraPostgresEngineFeatures) AuroraPostgresEngineVersion
Create a new AuroraPostgresEngineVersion with an arbitrary version.
func AuroraPostgresEngineVersion_VER_10_11 ¶
func AuroraPostgresEngineVersion_VER_10_11() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_12 ¶
func AuroraPostgresEngineVersion_VER_10_12() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_13 ¶
func AuroraPostgresEngineVersion_VER_10_13() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_14 ¶
func AuroraPostgresEngineVersion_VER_10_14() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_16 ¶
func AuroraPostgresEngineVersion_VER_10_16() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_17 ¶ added in v2.40.0
func AuroraPostgresEngineVersion_VER_10_17() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_18 ¶
func AuroraPostgresEngineVersion_VER_10_18() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_19 ¶ added in v2.21.0
func AuroraPostgresEngineVersion_VER_10_19() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_20 ¶ added in v2.21.0
func AuroraPostgresEngineVersion_VER_10_20() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_21 ¶ added in v2.30.0
func AuroraPostgresEngineVersion_VER_10_21() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_4 ¶
func AuroraPostgresEngineVersion_VER_10_4() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_5 ¶
func AuroraPostgresEngineVersion_VER_10_5() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_6 ¶
func AuroraPostgresEngineVersion_VER_10_6() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_10_7 ¶
func AuroraPostgresEngineVersion_VER_10_7() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_11 ¶
func AuroraPostgresEngineVersion_VER_11_11() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_12 ¶ added in v2.40.0
func AuroraPostgresEngineVersion_VER_11_12() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_13 ¶
func AuroraPostgresEngineVersion_VER_11_13() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_14 ¶ added in v2.21.0
func AuroraPostgresEngineVersion_VER_11_14() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_15 ¶ added in v2.21.0
func AuroraPostgresEngineVersion_VER_11_15() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_16 ¶ added in v2.30.0
func AuroraPostgresEngineVersion_VER_11_16() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_17 ¶ added in v2.64.0
func AuroraPostgresEngineVersion_VER_11_17() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_18 ¶ added in v2.64.0
func AuroraPostgresEngineVersion_VER_11_18() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_19 ¶ added in v2.74.0
func AuroraPostgresEngineVersion_VER_11_19() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_20 ¶ added in v2.112.0
func AuroraPostgresEngineVersion_VER_11_20() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_21 ¶ added in v2.112.0
func AuroraPostgresEngineVersion_VER_11_21() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_4 ¶
func AuroraPostgresEngineVersion_VER_11_4() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_6 ¶
func AuroraPostgresEngineVersion_VER_11_6() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_7 ¶
func AuroraPostgresEngineVersion_VER_11_7() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_8 ¶
func AuroraPostgresEngineVersion_VER_11_8() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_11_9 ¶
func AuroraPostgresEngineVersion_VER_11_9() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_10 ¶ added in v2.21.0
func AuroraPostgresEngineVersion_VER_12_10() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_11 ¶ added in v2.30.0
func AuroraPostgresEngineVersion_VER_12_11() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_12 ¶ added in v2.64.0
func AuroraPostgresEngineVersion_VER_12_12() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_13 ¶ added in v2.64.0
func AuroraPostgresEngineVersion_VER_12_13() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_14 ¶ added in v2.74.0
func AuroraPostgresEngineVersion_VER_12_14() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_15 ¶ added in v2.112.0
func AuroraPostgresEngineVersion_VER_12_15() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_16 ¶ added in v2.112.0
func AuroraPostgresEngineVersion_VER_12_16() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_17 ¶ added in v2.118.0
func AuroraPostgresEngineVersion_VER_12_17() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_18 ¶ added in v2.143.0
func AuroraPostgresEngineVersion_VER_12_18() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_4 ¶
func AuroraPostgresEngineVersion_VER_12_4() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_6 ¶
func AuroraPostgresEngineVersion_VER_12_6() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_7 ¶ added in v2.40.0
func AuroraPostgresEngineVersion_VER_12_7() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_8 ¶
func AuroraPostgresEngineVersion_VER_12_8() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_12_9 ¶ added in v2.21.0
func AuroraPostgresEngineVersion_VER_12_9() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_10 ¶ added in v2.74.0
func AuroraPostgresEngineVersion_VER_13_10() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_11 ¶ added in v2.112.0
func AuroraPostgresEngineVersion_VER_13_11() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_12 ¶ added in v2.112.0
func AuroraPostgresEngineVersion_VER_13_12() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_13 ¶ added in v2.118.0
func AuroraPostgresEngineVersion_VER_13_13() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_14 ¶ added in v2.143.0
func AuroraPostgresEngineVersion_VER_13_14() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_3 ¶
func AuroraPostgresEngineVersion_VER_13_3() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_4 ¶
func AuroraPostgresEngineVersion_VER_13_4() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_5 ¶ added in v2.21.0
func AuroraPostgresEngineVersion_VER_13_5() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_6 ¶ added in v2.21.0
func AuroraPostgresEngineVersion_VER_13_6() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_7 ¶ added in v2.30.0
func AuroraPostgresEngineVersion_VER_13_7() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_8 ¶ added in v2.64.0
func AuroraPostgresEngineVersion_VER_13_8() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_13_9 ¶ added in v2.64.0
func AuroraPostgresEngineVersion_VER_13_9() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_14_10 ¶ added in v2.118.0
func AuroraPostgresEngineVersion_VER_14_10() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_14_11 ¶ added in v2.143.0
func AuroraPostgresEngineVersion_VER_14_11() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_14_3 ¶ added in v2.38.0
func AuroraPostgresEngineVersion_VER_14_3() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_14_4 ¶ added in v2.47.0
func AuroraPostgresEngineVersion_VER_14_4() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_14_5 ¶ added in v2.51.0
func AuroraPostgresEngineVersion_VER_14_5() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_14_6 ¶ added in v2.64.0
func AuroraPostgresEngineVersion_VER_14_6() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_14_7 ¶ added in v2.74.0
func AuroraPostgresEngineVersion_VER_14_7() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_14_8 ¶ added in v2.88.0
func AuroraPostgresEngineVersion_VER_14_8() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_14_9 ¶ added in v2.112.0
func AuroraPostgresEngineVersion_VER_14_9() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_15_2 ¶ added in v2.74.0
func AuroraPostgresEngineVersion_VER_15_2() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_15_3 ¶ added in v2.88.0
func AuroraPostgresEngineVersion_VER_15_3() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_15_4 ¶ added in v2.112.0
func AuroraPostgresEngineVersion_VER_15_4() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_15_5 ¶ added in v2.118.0
func AuroraPostgresEngineVersion_VER_15_5() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_15_6 ¶ added in v2.146.0
func AuroraPostgresEngineVersion_VER_15_6() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_16_0 ¶ added in v2.118.0
func AuroraPostgresEngineVersion_VER_16_0() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_16_1 ¶ added in v2.129.0
func AuroraPostgresEngineVersion_VER_16_1() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_16_2 ¶ added in v2.142.0
func AuroraPostgresEngineVersion_VER_16_2() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_9_6_11 ¶
func AuroraPostgresEngineVersion_VER_9_6_11() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_9_6_12 ¶
func AuroraPostgresEngineVersion_VER_9_6_12() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_9_6_16 ¶
func AuroraPostgresEngineVersion_VER_9_6_16() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_9_6_17 ¶
func AuroraPostgresEngineVersion_VER_9_6_17() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_9_6_18 ¶
func AuroraPostgresEngineVersion_VER_9_6_18() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_9_6_19 ¶
func AuroraPostgresEngineVersion_VER_9_6_19() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_9_6_22 ¶ added in v2.133.0
func AuroraPostgresEngineVersion_VER_9_6_22() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_9_6_8 ¶
func AuroraPostgresEngineVersion_VER_9_6_8() AuroraPostgresEngineVersion
func AuroraPostgresEngineVersion_VER_9_6_9 ¶
func AuroraPostgresEngineVersion_VER_9_6_9() AuroraPostgresEngineVersion
type BackupProps ¶
type BackupProps struct { // How many days to retain the backup. Retention awscdk.Duration `field:"required" json:"retention" yaml:"retention"` // A daily time range in 24-hours UTC format in which backups preferably execute. // // Must be at least 30 minutes long. // // Example: '01:00-02:00'. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region. To see the time blocks available, see // https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow // PreferredWindow *string `field:"optional" json:"preferredWindow" yaml:"preferredWindow"` }
Backup configuration for RDS databases.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" backupProps := &BackupProps{ Retention: cdk.Duration_Minutes(jsii.Number(30)), // the properties below are optional PreferredWindow: jsii.String("preferredWindow"), }
Default: - The retention period for automated backups is 1 day. The preferred backup window will be a 30-minute window selected at random from an 8-hour block of time for each AWS Region.
type CaCertificate ¶ added in v2.94.0
type CaCertificate interface { // Returns the CA certificate identifier as a string. ToString() *string }
The CA certificate used for a DB instance.
Example:
var vpc vpc cluster := docdb.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ MasterUser: &Login{ Username: jsii.String("myuser"), }, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_MEMORY5, ec2.InstanceSize_LARGE), VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PUBLIC, }, Vpc: Vpc, CaCertificate: docdb.CaCertificate_RDS_CA_RSA4096_G1(), })
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html
func CaCertificate_Of ¶ added in v2.94.0
func CaCertificate_Of(identifier *string) CaCertificate
Custom CA certificate.
func CaCertificate_RDS_CA_2019 ¶ added in v2.94.0
func CaCertificate_RDS_CA_2019() CaCertificate
func CaCertificate_RDS_CA_ECC384_G1 ¶ added in v2.94.0
func CaCertificate_RDS_CA_ECC384_G1() CaCertificate
func CaCertificate_RDS_CA_RDS2048_G1 ¶ added in v2.94.0
func CaCertificate_RDS_CA_RDS2048_G1() CaCertificate
func CaCertificate_RDS_CA_RDS4096_G1 ¶ added in v2.94.0
func CaCertificate_RDS_CA_RDS4096_G1() CaCertificate
func CaCertificate_RDS_CA_RSA2048_G1 ¶ added in v2.142.0
func CaCertificate_RDS_CA_RSA2048_G1() CaCertificate
func CaCertificate_RDS_CA_RSA4096_G1 ¶ added in v2.142.0
func CaCertificate_RDS_CA_RSA4096_G1() CaCertificate
type CfnCustomDBEngineVersion ¶ added in v2.85.0
type CfnCustomDBEngineVersion interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggableV2 // The ARN of the custom engine version. AttrDbEngineVersionArn() *string // Tag Manager which manages the tags for this resource. CdkTagManager() awscdk.TagManager // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The name of an Amazon S3 bucket that contains database installation files for your CEV. DatabaseInstallationFilesS3BucketName() *string SetDatabaseInstallationFilesS3BucketName(val *string) // The Amazon S3 directory that contains the database installation files for your CEV. DatabaseInstallationFilesS3Prefix() *string SetDatabaseInstallationFilesS3Prefix(val *string) // An optional description of your CEV. Description() *string SetDescription(val *string) // The database engine to use for your custom engine version (CEV). Engine() *string SetEngine(val *string) // The name of your CEV. EngineVersion() *string SetEngineVersion(val *string) // A value that indicates the ID of the AMI. ImageId() *string SetImageId(val *string) // The AWS KMS key identifier for an encrypted CEV. KmsKeyId() *string SetKmsKeyId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed. Manifest() *string SetManifest(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ARN of a CEV to use as a source for creating a new CEV. SourceCustomDbEngineVersionIdentifier() *string SetSourceCustomDbEngineVersionIdentifier(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // A value that indicates the status of a custom engine version (CEV). Status() *string SetStatus(val *string) // A list of tags. Tags() *[]*awscdk.CfnTag SetTags(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. UseAwsProvidedLatestImage() interface{} SetUseAwsProvidedLatestImage(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
Creates a custom DB engine version (CEV).
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCustomDBEngineVersion := awscdk.Aws_rds.NewCfnCustomDBEngineVersion(this, jsii.String("MyCfnCustomDBEngineVersion"), &CfnCustomDBEngineVersionProps{ Engine: jsii.String("engine"), EngineVersion: jsii.String("engineVersion"), // the properties below are optional DatabaseInstallationFilesS3BucketName: jsii.String("databaseInstallationFilesS3BucketName"), DatabaseInstallationFilesS3Prefix: jsii.String("databaseInstallationFilesS3Prefix"), Description: jsii.String("description"), ImageId: jsii.String("imageId"), KmsKeyId: jsii.String("kmsKeyId"), Manifest: jsii.String("manifest"), SourceCustomDbEngineVersionIdentifier: jsii.String("sourceCustomDbEngineVersionIdentifier"), Status: jsii.String("status"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, UseAwsProvidedLatestImage: jsii.Boolean(false), })
func NewCfnCustomDBEngineVersion ¶ added in v2.85.0
func NewCfnCustomDBEngineVersion(scope constructs.Construct, id *string, props *CfnCustomDBEngineVersionProps) CfnCustomDBEngineVersion
type CfnCustomDBEngineVersionProps ¶ added in v2.85.0
type CfnCustomDBEngineVersionProps struct { // The database engine to use for your custom engine version (CEV). // // Valid values: // // - `custom-oracle-ee` // - `custom-oracle-ee-cdb`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-engine // Engine *string `field:"required" json:"engine" yaml:"engine"` // The name of your CEV. // // The name format is `major version.customized_string` . For example, a valid CEV name is `19.my_cev1` . This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of `Engine` and `EngineVersion` is unique per customer per Region. // // *Constraints:* Minimum length is 1. Maximum length is 60. // // *Pattern:* `^[a-z0-9_.-]{1,60$` } // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-engineversion // EngineVersion *string `field:"required" json:"engineVersion" yaml:"engineVersion"` // The name of an Amazon S3 bucket that contains database installation files for your CEV. // // For example, a valid bucket name is `my-custom-installation-files` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-databaseinstallationfiless3bucketname // DatabaseInstallationFilesS3BucketName *string `field:"optional" json:"databaseInstallationFilesS3BucketName" yaml:"databaseInstallationFilesS3BucketName"` // The Amazon S3 directory that contains the database installation files for your CEV. // // For example, a valid bucket name is `123456789012/cev1` . If this setting isn't specified, no prefix is assumed. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-databaseinstallationfiless3prefix // DatabaseInstallationFilesS3Prefix *string `field:"optional" json:"databaseInstallationFilesS3Prefix" yaml:"databaseInstallationFilesS3Prefix"` // An optional description of your CEV. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-description // Description *string `field:"optional" json:"description" yaml:"description"` // A value that indicates the ID of the AMI. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-imageid // ImageId *string `field:"optional" json:"imageId" yaml:"imageId"` // The AWS KMS key identifier for an encrypted CEV. // // A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS. // // If you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in [Creating a symmetric encryption KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) in the *AWS Key Management Service Developer Guide* . // // You can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-kmskeyid // KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed. // // The following JSON fields are valid: // // - **MediaImportTemplateVersion** - Version of the CEV manifest. The date is in the format `YYYY-MM-DD` . // - **databaseInstallationFileNames** - Ordered list of installation files for the CEV. // - **opatchFileNames** - Ordered list of OPatch installers used for the Oracle DB engine. // - **psuRuPatchFileNames** - The PSU and RU patches for this CEV. // - **OtherPatchFileNames** - The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches. // // For more information, see [Creating the CEV manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) in the *Amazon RDS User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-manifest // Manifest *string `field:"optional" json:"manifest" yaml:"manifest"` // The ARN of a CEV to use as a source for creating a new CEV. // // You can specify a different Amazon Machine Imagine (AMI) by using either `Source` or `UseAwsProvidedLatestImage` . You can't specify a different JSON manifest when you specify `SourceCustomDbEngineVersionIdentifier` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-sourcecustomdbengineversionidentifier // SourceCustomDbEngineVersionIdentifier *string `field:"optional" json:"sourceCustomDbEngineVersionIdentifier" yaml:"sourceCustomDbEngineVersionIdentifier"` // A value that indicates the status of a custom engine version (CEV). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-status // // Default: - "available". // Status *string `field:"optional" json:"status" yaml:"status"` // A list of tags. // // For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.* // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. // // If you specify `UseAwsProvidedLatestImage` , you can't also specify `ImageId` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html#cfn-rds-customdbengineversion-useawsprovidedlatestimage // UseAwsProvidedLatestImage interface{} `field:"optional" json:"useAwsProvidedLatestImage" yaml:"useAwsProvidedLatestImage"` }
Properties for defining a `CfnCustomDBEngineVersion`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnCustomDBEngineVersionProps := &CfnCustomDBEngineVersionProps{ Engine: jsii.String("engine"), EngineVersion: jsii.String("engineVersion"), // the properties below are optional DatabaseInstallationFilesS3BucketName: jsii.String("databaseInstallationFilesS3BucketName"), DatabaseInstallationFilesS3Prefix: jsii.String("databaseInstallationFilesS3Prefix"), Description: jsii.String("description"), ImageId: jsii.String("imageId"), KmsKeyId: jsii.String("kmsKeyId"), Manifest: jsii.String("manifest"), SourceCustomDbEngineVersionIdentifier: jsii.String("sourceCustomDbEngineVersionIdentifier"), Status: jsii.String("status"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, UseAwsProvidedLatestImage: jsii.Boolean(false), }
type CfnDBCluster ¶
type CfnDBCluster interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. AllocatedStorage() *float64 SetAllocatedStorage(val *float64) // Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. AssociatedRoles() interface{} SetAssociatedRoles(val interface{}) // The Amazon Resource Name (ARN) for the DB cluster. AttrDbClusterArn() *string // The AWS Region -unique, immutable identifier for the DB cluster. // // This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB cluster is accessed. AttrDbClusterResourceId() *string AttrEndpoint() awscdk.IResolvable // The connection endpoint for the DB cluster. // // For example: `mystack-mydbcluster-123456789012.us-east-2.rds.amazonaws.com` AttrEndpointAddress() *string // The port number that will accept connections on this DB cluster. // // For example: `3306`. AttrEndpointPort() *string // The Amazon Resource Name (ARN) of the secret. AttrMasterUserSecretSecretArn() *string AttrReadEndpoint() awscdk.IResolvable // The reader endpoint for the DB cluster. // // For example: `mystack-mydbcluster-ro-123456789012.us-east-2.rds.amazonaws.com` AttrReadEndpointAddress() *string // The storage throughput for the DB cluster. // // The throughput is automatically set based on the IOPS that you provision, and is not configurable. // // This setting is only for non-Aurora Multi-AZ DB clusters. AttrStorageThroughput() *float64 // Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. AutoMinorVersionUpgrade() interface{} SetAutoMinorVersionUpgrade(val interface{}) // A list of Availability Zones (AZs) where instances in the DB cluster can be created. AvailabilityZones() *[]*string SetAvailabilityZones(val *[]*string) // The target backtrack window, in seconds. // // To disable backtracking, set this value to `0` . BacktrackWindow() *float64 SetBacktrackWindow(val *float64) // The number of days for which automated backups are retained. BackupRetentionPeriod() *float64 SetBackupRetentionPeriod(val *float64) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. CopyTagsToSnapshot() interface{} SetCopyTagsToSnapshot(val interface{}) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The name of your database. DatabaseName() *string SetDatabaseName(val *string) // The DB cluster identifier. // // This parameter is stored as a lowercase string. DbClusterIdentifier() *string SetDbClusterIdentifier(val *string) // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6gd.xlarge` . Not all DB instance classes are available in all AWS Regions , or for all database engines. DbClusterInstanceClass() *string SetDbClusterInstanceClass(val *string) // The name of the DB cluster parameter group to associate with this DB cluster. DbClusterParameterGroupName() *string SetDbClusterParameterGroupName(val *string) // The name of the DB parameter group to apply to all instances of the DB cluster. DbInstanceParameterGroupName() *string SetDbInstanceParameterGroupName(val *string) // A DB subnet group that you want to associate with this DB cluster. DbSubnetGroupName() *string SetDbSubnetGroupName(val *string) // Reserved for future use. DbSystemId() *string SetDbSystemId(val *string) // A value that indicates whether the DB cluster has deletion protection enabled. DeletionProtection() interface{} SetDeletionProtection(val interface{}) // Indicates the directory ID of the Active Directory to create the DB cluster. Domain() *string SetDomain(val *string) // Specifies the name of the IAM role to use when making API calls to the Directory Service. DomainIamRoleName() *string SetDomainIamRoleName(val *string) // The list of log types that need to be enabled for exporting to CloudWatch Logs. EnableCloudwatchLogsExports() *[]*string SetEnableCloudwatchLogsExports(val *[]*string) // Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). EnableGlobalWriteForwarding() interface{} SetEnableGlobalWriteForwarding(val interface{}) // Specifies whether to enable the HTTP endpoint for the DB cluster. // // By default, the HTTP endpoint isn't enabled. EnableHttpEndpoint() interface{} SetEnableHttpEndpoint(val interface{}) // A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. EnableIamDatabaseAuthentication() interface{} SetEnableIamDatabaseAuthentication(val interface{}) // Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. EnableLocalWriteForwarding() interface{} SetEnableLocalWriteForwarding(val interface{}) // The name of the database engine to be used for this DB cluster. Engine() *string SetEngine(val *string) // The life cycle type for this DB cluster. EngineLifecycleSupport() *string SetEngineLifecycleSupport(val *string) // The DB engine mode of the DB cluster, either `provisioned` or `serverless` . EngineMode() *string SetEngineMode(val *string) // The version number of the database engine to use. EngineVersion() *string SetEngineVersion(val *string) // If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. GlobalClusterIdentifier() *string SetGlobalClusterIdentifier(val *string) // The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. Iops() *float64 SetIops(val *float64) // The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . KmsKeyId() *string SetKmsKeyId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // Specifies whether to manage the master user password with AWS Secrets Manager. ManageMasterUserPassword() interface{} SetManageMasterUserPassword(val interface{}) // The name of the master user for the DB cluster. MasterUsername() *string SetMasterUsername(val *string) // The master password for the DB instance. MasterUserPassword() *string SetMasterUserPassword(val *string) // The secret managed by RDS in AWS Secrets Manager for the master user password. MasterUserSecret() interface{} SetMasterUserSecret(val interface{}) // The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. MonitoringInterval() *float64 SetMonitoringInterval(val *float64) // The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. MonitoringRoleArn() *string SetMonitoringRoleArn(val *string) // The network type of the DB cluster. NetworkType() *string SetNetworkType(val *string) // The tree node. Node() constructs.Node // Specifies whether to turn on Performance Insights for the DB cluster. PerformanceInsightsEnabled() interface{} SetPerformanceInsightsEnabled(val interface{}) // The AWS KMS key identifier for encryption of Performance Insights data. PerformanceInsightsKmsKeyId() *string SetPerformanceInsightsKmsKeyId(val *string) // The number of days to retain Performance Insights data. PerformanceInsightsRetentionPeriod() *float64 SetPerformanceInsightsRetentionPeriod(val *float64) // The port number on which the DB instances in the DB cluster accept connections. Port() *float64 SetPort(val *float64) // The daily time range during which automated backups are created. PreferredBackupWindow() *string SetPreferredBackupWindow(val *string) // The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). PreferredMaintenanceWindow() *string SetPreferredMaintenanceWindow(val *string) // Specifies whether the DB cluster is publicly accessible. PubliclyAccessible() interface{} SetPubliclyAccessible(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica. ReplicationSourceIdentifier() *string SetReplicationSourceIdentifier(val *string) // The date and time to restore the DB cluster to. RestoreToTime() *string SetRestoreToTime(val *string) // The type of restore to be performed. // // You can specify one of the following values:. RestoreType() *string SetRestoreType(val *string) // The scaling configuration of an Aurora Serverless v1 DB cluster. ScalingConfiguration() interface{} SetScalingConfiguration(val interface{}) // The scaling configuration of an Aurora Serverless V2 DB cluster. ServerlessV2ScalingConfiguration() interface{} SetServerlessV2ScalingConfiguration(val interface{}) // The identifier for the DB snapshot or DB cluster snapshot to restore from. SnapshotIdentifier() *string SetSnapshotIdentifier(val *string) // When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore. SourceDbClusterIdentifier() *string SetSourceDbClusterIdentifier(val *string) // The AWS Region which contains the source DB cluster when replicating a DB cluster. // // For example, `us-east-1` . SourceRegion() *string SetSourceRegion(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Indicates whether the DB cluster is encrypted. StorageEncrypted() interface{} SetStorageEncrypted(val interface{}) // The storage type to associate with the DB cluster. StorageType() *string SetStorageType(val *string) // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Tags to assign to the DB cluster. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // A value that indicates whether to restore the DB cluster to the latest restorable backup time. UseLatestRestorableTime() interface{} SetUseLatestRestorableTime(val interface{}) // A list of EC2 VPC security groups to associate with this DB cluster. VpcSecurityGroupIds() *[]*string SetVpcSecurityGroupIds(val *[]*string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBCluster` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.
For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide* .
For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide* .
> You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.
*Updating DB clusters*
When properties labeled " *Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) " are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.
> We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure: > > - Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance. > - Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html) . > - If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the `SnapshotIdentifier` property with the ID of the DB cluster snapshot that you want to use. > > After you restore a DB cluster with a `SnapshotIdentifier` property, you must specify the same `SnapshotIdentifier` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the `SnapshotIdentifier` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified `SnapshotIdentifier` property, and the original DB cluster is deleted. > - Update the stack.
Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: `PreferredBackupWindow` , `PreferredMaintenanceWindow` , and `Port` . This limitation doesn't apply to provisioned DB clusters.
For more information about updating other properties of this resource, see `[ModifyDBCluster](https://docs.aws.amazon.com//AmazonRDS/latest/APIReference/API_ModifyDBCluster.html)` . For more information about updating stacks, see [AWS CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) .
*Deleting DB clusters*
The default `DeletionPolicy` for `AWS::RDS::DBCluster` resources is `Snapshot` . For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBCluster := awscdk.Aws_rds.NewCfnDBCluster(this, jsii.String("MyCfnDBCluster"), &CfnDBClusterProps{ AllocatedStorage: jsii.Number(123), AssociatedRoles: []interface{}{ &DBClusterRoleProperty{ RoleArn: jsii.String("roleArn"), // the properties below are optional FeatureName: jsii.String("featureName"), }, }, AutoMinorVersionUpgrade: jsii.Boolean(false), AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, BacktrackWindow: jsii.Number(123), BackupRetentionPeriod: jsii.Number(123), CopyTagsToSnapshot: jsii.Boolean(false), DatabaseName: jsii.String("databaseName"), DbClusterIdentifier: jsii.String("dbClusterIdentifier"), DbClusterInstanceClass: jsii.String("dbClusterInstanceClass"), DbClusterParameterGroupName: jsii.String("dbClusterParameterGroupName"), DbInstanceParameterGroupName: jsii.String("dbInstanceParameterGroupName"), DbSubnetGroupName: jsii.String("dbSubnetGroupName"), DbSystemId: jsii.String("dbSystemId"), DeletionProtection: jsii.Boolean(false), Domain: jsii.String("domain"), DomainIamRoleName: jsii.String("domainIamRoleName"), EnableCloudwatchLogsExports: []*string{ jsii.String("enableCloudwatchLogsExports"), }, EnableGlobalWriteForwarding: jsii.Boolean(false), EnableHttpEndpoint: jsii.Boolean(false), EnableIamDatabaseAuthentication: jsii.Boolean(false), EnableLocalWriteForwarding: jsii.Boolean(false), Engine: jsii.String("engine"), EngineLifecycleSupport: jsii.String("engineLifecycleSupport"), EngineMode: jsii.String("engineMode"), EngineVersion: jsii.String("engineVersion"), GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), ManageMasterUserPassword: jsii.Boolean(false), MasterUsername: jsii.String("masterUsername"), MasterUserPassword: jsii.String("masterUserPassword"), MasterUserSecret: &MasterUserSecretProperty{ KmsKeyId: jsii.String("kmsKeyId"), SecretArn: jsii.String("secretArn"), }, MonitoringInterval: jsii.Number(123), MonitoringRoleArn: jsii.String("monitoringRoleArn"), NetworkType: jsii.String("networkType"), PerformanceInsightsEnabled: jsii.Boolean(false), PerformanceInsightsKmsKeyId: jsii.String("performanceInsightsKmsKeyId"), PerformanceInsightsRetentionPeriod: jsii.Number(123), Port: jsii.Number(123), PreferredBackupWindow: jsii.String("preferredBackupWindow"), PreferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), PubliclyAccessible: jsii.Boolean(false), ReplicationSourceIdentifier: jsii.String("replicationSourceIdentifier"), RestoreToTime: jsii.String("restoreToTime"), RestoreType: jsii.String("restoreType"), ScalingConfiguration: &ScalingConfigurationProperty{ AutoPause: jsii.Boolean(false), MaxCapacity: jsii.Number(123), MinCapacity: jsii.Number(123), SecondsBeforeTimeout: jsii.Number(123), SecondsUntilAutoPause: jsii.Number(123), TimeoutAction: jsii.String("timeoutAction"), }, ServerlessV2ScalingConfiguration: &ServerlessV2ScalingConfigurationProperty{ MaxCapacity: jsii.Number(123), MinCapacity: jsii.Number(123), }, SnapshotIdentifier: jsii.String("snapshotIdentifier"), SourceDbClusterIdentifier: jsii.String("sourceDbClusterIdentifier"), SourceRegion: jsii.String("sourceRegion"), StorageEncrypted: jsii.Boolean(false), StorageType: jsii.String("storageType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, UseLatestRestorableTime: jsii.Boolean(false), VpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html
func NewCfnDBCluster ¶
func NewCfnDBCluster(scope constructs.Construct, id *string, props *CfnDBClusterProps) CfnDBCluster
type CfnDBClusterParameterGroup ¶
type CfnDBClusterParameterGroup interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The name of the DB cluster parameter group. DbClusterParameterGroupName() *string SetDbClusterParameterGroupName(val *string) // The description for the DB cluster parameter group. Description() *string SetDescription(val *string) // The DB cluster parameter group family name. Family() *string SetFamily(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Provides a list of parameters for the DB cluster parameter group. Parameters() interface{} SetParameters(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Tags to assign to the DB cluster parameter group. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBClusterParameterGroup` resource creates a new Amazon RDS DB cluster parameter group.
For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide* .
> If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting. > > If you apply a change to parameter group associated with a stopped DB cluster, then the updated stack waits until the DB cluster is started.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var parameters interface{} cfnDBClusterParameterGroup := awscdk.Aws_rds.NewCfnDBClusterParameterGroup(this, jsii.String("MyCfnDBClusterParameterGroup"), &CfnDBClusterParameterGroupProps{ Description: jsii.String("description"), Family: jsii.String("family"), Parameters: parameters, // the properties below are optional DbClusterParameterGroupName: jsii.String("dbClusterParameterGroupName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnDBClusterParameterGroup ¶
func NewCfnDBClusterParameterGroup(scope constructs.Construct, id *string, props *CfnDBClusterParameterGroupProps) CfnDBClusterParameterGroup
type CfnDBClusterParameterGroupProps ¶
type CfnDBClusterParameterGroupProps struct { // The description for the DB cluster parameter group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-description // Description *string `field:"required" json:"description" yaml:"description"` // The DB cluster parameter group family name. // // A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family. // // *Aurora MySQL* // // Example: `aurora-mysql5.7` , `aurora-mysql8.0` // // *Aurora PostgreSQL* // // Example: `aurora-postgresql14` // // *RDS for MySQL* // // Example: `mysql8.0` // // *RDS for PostgreSQL* // // Example: `postgres13` // // To list all of the available parameter group families for a DB engine, use the following command: // // `aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine <engine>` // // For example, to list all of the available parameter group families for the Aurora PostgreSQL DB engine, use the following command: // // `aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine aurora-postgresql` // // > The output contains duplicates. // // The following are the valid DB engine values: // // - `aurora-mysql` // - `aurora-postgresql` // - `mysql` // - `postgres`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-family // Family *string `field:"required" json:"family" yaml:"family"` // Provides a list of parameters for the DB cluster parameter group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-parameters // Parameters interface{} `field:"required" json:"parameters" yaml:"parameters"` // The name of the DB cluster parameter group. // // Constraints: // // - Must not match the name of an existing DB cluster parameter group. // // > This value is stored as a lowercase string. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-dbclusterparametergroupname // DbClusterParameterGroupName *string `field:"optional" json:"dbClusterParameterGroupName" yaml:"dbClusterParameterGroupName"` // Tags to assign to the DB cluster parameter group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnDBClusterParameterGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var parameters interface{} cfnDBClusterParameterGroupProps := &CfnDBClusterParameterGroupProps{ Description: jsii.String("description"), Family: jsii.String("family"), Parameters: parameters, // the properties below are optional DbClusterParameterGroupName: jsii.String("dbClusterParameterGroupName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnDBClusterProps ¶
type CfnDBClusterProps struct { // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. // // Valid for Cluster Type: Multi-AZ DB clusters only // // This setting is required to create a Multi-AZ DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-allocatedstorage // AllocatedStorage *float64 `field:"optional" json:"allocatedStorage" yaml:"allocatedStorage"` // Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. // // IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-associatedroles // AssociatedRoles interface{} `field:"optional" json:"associatedRoles" yaml:"associatedRoles"` // Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. // // By default, minor engine upgrades are applied automatically. // // Valid for Cluster Type: Multi-AZ DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-autominorversionupgrade // AutoMinorVersionUpgrade interface{} `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // A list of Availability Zones (AZs) where instances in the DB cluster can be created. // // For information on AWS Regions and Availability Zones, see [Choosing the Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) in the *Amazon Aurora User Guide* . // // Valid for: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-availabilityzones // AvailabilityZones *[]*string `field:"optional" json:"availabilityZones" yaml:"availabilityZones"` // The target backtrack window, in seconds. To disable backtracking, set this value to `0` . // // Valid for Cluster Type: Aurora MySQL DB clusters only // // Default: `0` // // Constraints: // // - If specified, this value must be set to a number from 0 to 259,200 (72 hours). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-backtrackwindow // // Default: - 0. // BacktrackWindow *float64 `field:"optional" json:"backtrackWindow" yaml:"backtrackWindow"` // The number of days for which automated backups are retained. // // Default: 1 // // Constraints: // // - Must be a value from 1 to 35 // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-backupretentionperiod // // Default: - 1. // BackupRetentionPeriod *float64 `field:"optional" json:"backupRetentionPeriod" yaml:"backupRetentionPeriod"` // A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. // // The default is not to copy them. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-copytagstosnapshot // CopyTagsToSnapshot interface{} `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // The name of your database. // // If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see [Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon Aurora User Guide* . // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-databasename // DatabaseName *string `field:"optional" json:"databaseName" yaml:"databaseName"` // The DB cluster identifier. This parameter is stored as a lowercase string. // // Constraints: // // - Must contain from 1 to 63 letters, numbers, or hyphens. // - First character must be a letter. // - Can't end with a hyphen or contain two consecutive hyphens. // // Example: `my-cluster1` // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusteridentifier // DbClusterIdentifier *string `field:"optional" json:"dbClusterIdentifier" yaml:"dbClusterIdentifier"` // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6gd.xlarge` . Not all DB instance classes are available in all AWS Regions , or for all database engines. // // For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* . // // This setting is required to create a Multi-AZ DB cluster. // // Valid for Cluster Type: Multi-AZ DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusterinstanceclass // DbClusterInstanceClass *string `field:"optional" json:"dbClusterInstanceClass" yaml:"dbClusterInstanceClass"` // The name of the DB cluster parameter group to associate with this DB cluster. // // > If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting. // > // > If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started. // // To list all of the available DB cluster parameter group names, use the following command: // // `aws rds describe-db-cluster-parameter-groups --query "DBClusterParameterGroups[].DBClusterParameterGroupName" --output text` // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusterparametergroupname // // Default: - "default.aurora5.6" // DbClusterParameterGroupName *string `field:"optional" json:"dbClusterParameterGroupName" yaml:"dbClusterParameterGroupName"` // The name of the DB parameter group to apply to all instances of the DB cluster. // // > When you apply a parameter group using the `DBInstanceParameterGroupName` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window. // // Valid for Cluster Type: Aurora DB clusters only // // Default: The existing name setting // // Constraints: // // - The DB parameter group must be in the same DB parameter group family as this DB cluster. // - The `DBInstanceParameterGroupName` parameter is valid in combination with the `AllowMajorVersionUpgrade` parameter for a major version upgrade only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbinstanceparametergroupname // DbInstanceParameterGroupName *string `field:"optional" json:"dbInstanceParameterGroupName" yaml:"dbInstanceParameterGroupName"` // A DB subnet group that you want to associate with this DB cluster. // // If you are restoring a DB cluster to a point in time with `RestoreType` set to `copy-on-write` , and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbsubnetgroupname // DbSubnetGroupName *string `field:"optional" json:"dbSubnetGroupName" yaml:"dbSubnetGroupName"` // Reserved for future use. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbsystemid // DbSystemId *string `field:"optional" json:"dbSystemId" yaml:"dbSystemId"` // A value that indicates whether the DB cluster has deletion protection enabled. // // The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-deletionprotection // DeletionProtection interface{} `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // Indicates the directory ID of the Active Directory to create the DB cluster. // // For Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster. // // For more information, see [Kerberos authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html) in the *Amazon Aurora User Guide* . // // Valid for: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-domain // Domain *string `field:"optional" json:"domain" yaml:"domain"` // Specifies the name of the IAM role to use when making API calls to the Directory Service. // // Valid for: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-domainiamrolename // DomainIamRoleName *string `field:"optional" json:"domainIamRoleName" yaml:"domainIamRoleName"` // The list of log types that need to be enabled for exporting to CloudWatch Logs. // // The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Aurora User Guide* . // // *Aurora MySQL* // // Valid values: `audit` , `error` , `general` , `slowquery` // // *Aurora PostgreSQL* // // Valid values: `postgresql` // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablecloudwatchlogsexports // EnableCloudwatchLogsExports *[]*string `field:"optional" json:"enableCloudwatchLogsExports" yaml:"enableCloudwatchLogsExports"` // Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). // // By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database. // // You can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then. // // Valid for Cluster Type: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enableglobalwriteforwarding // EnableGlobalWriteForwarding interface{} `field:"optional" json:"enableGlobalWriteForwarding" yaml:"enableGlobalWriteForwarding"` // Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled. // // When enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor. // // RDS Data API is supported with the following DB clusters: // // - Aurora PostgreSQL Serverless v2 and provisioned // - Aurora PostgreSQL and Aurora MySQL Serverless v1 // // For more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide* . // // Valid for Cluster Type: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablehttpendpoint // EnableHttpEndpoint interface{} `field:"optional" json:"enableHttpEndpoint" yaml:"enableHttpEndpoint"` // A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. // // By default, mapping is disabled. // // For more information, see [IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon Aurora User Guide.* // // Valid for: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enableiamdatabaseauthentication // EnableIamDatabaseAuthentication interface{} `field:"optional" json:"enableIamDatabaseAuthentication" yaml:"enableIamDatabaseAuthentication"` // Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. // // By default, write operations aren't allowed on reader DB instances. // // Valid for: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablelocalwriteforwarding // EnableLocalWriteForwarding interface{} `field:"optional" json:"enableLocalWriteForwarding" yaml:"enableLocalWriteForwarding"` // The name of the database engine to be used for this DB cluster. // // Valid Values: // // - `aurora-mysql` // - `aurora-postgresql` // - `mysql` // - `postgres` // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engine // Engine *string `field:"optional" json:"engine" yaml:"engine"` // The life cycle type for this DB cluster. // // > By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date. // // You can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections: // // - Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* // - Amazon RDS - [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* // // Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters // // Valid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled` // // Default: `open-source-rds-extended-support`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enginelifecyclesupport // EngineLifecycleSupport *string `field:"optional" json:"engineLifecycleSupport" yaml:"engineLifecycleSupport"` // The DB engine mode of the DB cluster, either `provisioned` or `serverless` . // // The `serverless` engine mode only applies for Aurora Serverless v1 DB clusters. Aurora Serverless v2 DB clusters use the `provisioned` engine mode. // // For information about limitations and requirements for Serverless DB clusters, see the following sections in the *Amazon Aurora User Guide* : // // - [Limitations of Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations) // - [Requirements for Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html) // // Valid for Cluster Type: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enginemode // EngineMode *string `field:"optional" json:"engineMode" yaml:"engineMode"` // The version number of the database engine to use. // // To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (8.0-compatible), use the following command: // // `aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"` // // You can supply either `5.7` or `8.0` to use the default engine version for Aurora MySQL version 2 or version 3, respectively. // // To list all of the available engine versions for Aurora PostgreSQL, use the following command: // // `aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"` // // To list all of the available engine versions for RDS for MySQL, use the following command: // // `aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"` // // To list all of the available engine versions for RDS for PostgreSQL, use the following command: // // `aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"` // // *Aurora MySQL* // // For information, see [Database engine updates for Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) in the *Amazon Aurora User Guide* . // // *Aurora PostgreSQL* // // For information, see [Amazon Aurora PostgreSQL releases and engine versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) in the *Amazon Aurora User Guide* . // // *MySQL* // // For information, see [Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide* . // // *PostgreSQL* // // For information, see [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) in the *Amazon RDS User Guide* . // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion // EngineVersion *string `field:"optional" json:"engineVersion" yaml:"engineVersion"` // If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. // // To define the primary database cluster of the global cluster, use the [AWS::RDS::GlobalCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html) resource. // // If you aren't configuring a global database cluster, don't specify this property. // // > To remove the DB cluster from a global database cluster, specify an empty value for the `GlobalClusterIdentifier` property. // // For information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide* . // // Valid for: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-globalclusteridentifier // GlobalClusterIdentifier *string `field:"optional" json:"globalClusterIdentifier" yaml:"globalClusterIdentifier"` // The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. // // For information about valid IOPS values, see [Provisioned IOPS storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* . // // This setting is required to create a Multi-AZ DB cluster. // // Valid for Cluster Type: Multi-AZ DB clusters only // // Constraints: // // - Must be a multiple between .5 and 50 of the storage amount for the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-iops // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . // // If you enable the `StorageEncrypted` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the `StorageEncrypted` property to `true` . // // If you specify the `SnapshotIdentifier` property, the `StorageEncrypted` property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used. // // If you create a read replica of an encrypted DB cluster in another AWS Region, make sure to set `KmsKeyId` to a KMS key identifier that is valid in the destination AWS Region. This KMS key is used to encrypt the read replica in that AWS Region. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-kmskeyid // KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // Specifies whether to manage the master user password with AWS Secrets Manager. // // For more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.* // // Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters // // Constraints: // // - Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-managemasteruserpassword // ManageMasterUserPassword interface{} `field:"optional" json:"manageMasterUserPassword" yaml:"manageMasterUserPassword"` // The name of the master user for the DB cluster. // // > If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-masterusername // MasterUsername *string `field:"optional" json:"masterUsername" yaml:"masterUsername"` // The master password for the DB instance. // // > If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-masteruserpassword // MasterUserPassword *string `field:"optional" json:"masterUserPassword" yaml:"masterUserPassword"` // The secret managed by RDS in AWS Secrets Manager for the master user password. // // For more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.* // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-masterusersecret // MasterUserSecret interface{} `field:"optional" json:"masterUserSecret" yaml:"masterUserSecret"` // The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. // // To turn off collecting Enhanced Monitoring metrics, specify `0` . // // If `MonitoringRoleArn` is specified, also set `MonitoringInterval` to a value other than `0` . // // Valid for Cluster Type: Multi-AZ DB clusters only // // Valid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60` // // Default: `0`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-monitoringinterval // // Default: - 0. // MonitoringInterval *float64 `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. // // An example is `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* . // // If `MonitoringInterval` is set to a value other than `0` , supply a `MonitoringRoleArn` value. // // Valid for Cluster Type: Multi-AZ DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-monitoringrolearn // MonitoringRoleArn *string `field:"optional" json:"monitoringRoleArn" yaml:"monitoringRoleArn"` // The network type of the DB cluster. // // Valid values: // // - `IPV4` // - `DUAL` // // The network type is determined by the `DBSubnetGroup` specified for the DB cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ). // // For more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon Aurora User Guide.* // // Valid for: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-networktype // NetworkType *string `field:"optional" json:"networkType" yaml:"networkType"` // Specifies whether to turn on Performance Insights for the DB cluster. // // For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* . // // Valid for Cluster Type: Multi-AZ DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-performanceinsightsenabled // PerformanceInsightsEnabled interface{} `field:"optional" json:"performanceInsightsEnabled" yaml:"performanceInsightsEnabled"` // The AWS KMS key identifier for encryption of Performance Insights data. // // The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. // // If you don't specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account . Your AWS account has a different default KMS key for each AWS Region . // // Valid for Cluster Type: Multi-AZ DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-performanceinsightskmskeyid // PerformanceInsightsKmsKeyId *string `field:"optional" json:"performanceInsightsKmsKeyId" yaml:"performanceInsightsKmsKeyId"` // The number of days to retain Performance Insights data. // // Valid for Cluster Type: Multi-AZ DB clusters only // // Valid Values: // // - `7` // - *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31) // - `731` // // Default: `7` days // // If you specify a retention period that isn't valid, such as `94` , Amazon RDS issues an error. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-performanceinsightsretentionperiod // PerformanceInsightsRetentionPeriod *float64 `field:"optional" json:"performanceInsightsRetentionPeriod" yaml:"performanceInsightsRetentionPeriod"` // The port number on which the DB instances in the DB cluster accept connections. // // Default: // // - When `EngineMode` is `provisioned` , `3306` (for both Aurora MySQL and Aurora PostgreSQL) // - When `EngineMode` is `serverless` : // // - `3306` when `Engine` is `aurora` or `aurora-mysql` // - `5432` when `Engine` is `aurora-postgresql` // // > The `No interruption` on update behavior only applies to DB clusters. If you are updating a DB instance, see [Port](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port) for the AWS::RDS::DBInstance resource. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-port // Port *float64 `field:"optional" json:"port" yaml:"port"` // The daily time range during which automated backups are created. // // For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) in the *Amazon Aurora User Guide.* // // Constraints: // // - Must be in the format `hh24:mi-hh24:mi` . // - Must be in Universal Coordinated Time (UTC). // - Must not conflict with the preferred maintenance window. // - Must be at least 30 minutes. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-preferredbackupwindow // PreferredBackupWindow *string `field:"optional" json:"preferredBackupWindow" yaml:"preferredBackupWindow"` // The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). // // Format: `ddd:hh24:mi-ddd:hh24:mi` // // The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Cluster Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) in the *Amazon Aurora User Guide.* // // Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. // // Constraints: Minimum 30-minute window. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-preferredmaintenancewindow // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // Specifies whether the DB cluster is publicly accessible. // // When the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it. // // When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address. // // Valid for Cluster Type: Multi-AZ DB clusters only // // Default: The default behavior varies depending on whether `DBSubnetGroupName` is specified. // // If `DBSubnetGroupName` isn't specified, and `PubliclyAccessible` isn't specified, the following applies: // // - If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private. // - If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public. // // If `DBSubnetGroupName` is specified, and `PubliclyAccessible` isn't specified, the following applies: // // - If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private. // - If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-publiclyaccessible // PubliclyAccessible interface{} `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica. // // Valid for: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-replicationsourceidentifier // ReplicationSourceIdentifier *string `field:"optional" json:"replicationSourceIdentifier" yaml:"replicationSourceIdentifier"` // The date and time to restore the DB cluster to. // // Valid Values: Value must be a time in Universal Coordinated Time (UTC) format // // Constraints: // // - Must be before the latest restorable time for the DB instance // - Must be specified if `UseLatestRestorableTime` parameter isn't provided // - Can't be specified if the `UseLatestRestorableTime` parameter is enabled // - Can't be specified if the `RestoreType` parameter is `copy-on-write` // // This property must be used with `SourceDBClusterIdentifier` property. The resulting cluster will have the identifier that matches the value of the `DBclusterIdentifier` property. // // Example: `2015-03-07T23:45:00Z` // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-restoretotime // RestoreToTime *string `field:"optional" json:"restoreToTime" yaml:"restoreToTime"` // The type of restore to be performed. You can specify one of the following values:. // // - `full-copy` - The new DB cluster is restored as a full copy of the source DB cluster. // - `copy-on-write` - The new DB cluster is restored as a clone of the source DB cluster. // // If you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-restoretype // // Default: - "full-copy". // RestoreType *string `field:"optional" json:"restoreType" yaml:"restoreType"` // The scaling configuration of an Aurora Serverless v1 DB cluster. // // This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the `ServerlessV2ScalingConfiguration` property. // // Valid for: Aurora Serverless v1 DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-scalingconfiguration // ScalingConfiguration interface{} `field:"optional" json:"scalingConfiguration" yaml:"scalingConfiguration"` // The scaling configuration of an Aurora Serverless V2 DB cluster. // // This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, Use the `ScalingConfiguration` property. // // Valid for: Aurora Serverless v2 DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-serverlessv2scalingconfiguration // ServerlessV2ScalingConfiguration interface{} `field:"optional" json:"serverlessV2ScalingConfiguration" yaml:"serverlessV2ScalingConfiguration"` // The identifier for the DB snapshot or DB cluster snapshot to restore from. // // You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot. // // After you restore a DB cluster with a `SnapshotIdentifier` property, you must specify the same `SnapshotIdentifier` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed. However, if you don't specify the `SnapshotIdentifier` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified `SnapshotIdentifier` property, and the original DB cluster is deleted. // // If you specify the `SnapshotIdentifier` property to restore a DB cluster (as opposed to specifying it for DB cluster updates), then don't specify the following properties: // // - `GlobalClusterIdentifier` // - `MasterUsername` // - `MasterUserPassword` // - `ReplicationSourceIdentifier` // - `RestoreType` // - `SourceDBClusterIdentifier` // - `SourceRegion` // - `StorageEncrypted` (for an encrypted snapshot) // - `UseLatestRestorableTime` // // Constraints: // // - Must match the identifier of an existing Snapshot. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-snapshotidentifier // SnapshotIdentifier *string `field:"optional" json:"snapshotIdentifier" yaml:"snapshotIdentifier"` // When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore. // // Constraints: // // - Must match the identifier of an existing DBCluster. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourcedbclusteridentifier // SourceDbClusterIdentifier *string `field:"optional" json:"sourceDbClusterIdentifier" yaml:"sourceDbClusterIdentifier"` // The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, `us-east-1` . // // Valid for: Aurora DB clusters only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourceregion // SourceRegion *string `field:"optional" json:"sourceRegion" yaml:"sourceRegion"` // Indicates whether the DB cluster is encrypted. // // If you specify the `KmsKeyId` property, then you must enable encryption. // // If you specify the `SourceDBClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used. // // If you specify the `SnapshotIdentifier` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified `KmsKeyId` property is used. // // If you specify the `SnapshotIdentifier` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the `KmsKeyId` property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to `false` . // // > If you specify both the `StorageEncrypted` and `SnapshotIdentifier` properties without specifying the `KmsKeyId` property, then the restored DB cluster inherits the encryption settings from the DB snapshot that provide. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-storageencrypted // StorageEncrypted interface{} `field:"optional" json:"storageEncrypted" yaml:"storageEncrypted"` // The storage type to associate with the DB cluster. // // For information on storage types for Aurora DB clusters, see [Storage configurations for Amazon Aurora DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type) . For information on storage types for Multi-AZ DB clusters, see [Settings for creating Multi-AZ DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings) . // // This setting is required to create a Multi-AZ DB cluster. // // When specified for a Multi-AZ DB cluster, a value for the `Iops` parameter is required. // // Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters // // Valid Values: // // - Aurora DB clusters - `aurora | aurora-iopt1` // - Multi-AZ DB clusters - `io1 | io2 | gp3` // // Default: // // - Aurora DB clusters - `aurora` // - Multi-AZ DB clusters - `io1` // // > When you create an Aurora DB cluster with the storage type set to `aurora-iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `aurora` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-storagetype // StorageType *string `field:"optional" json:"storageType" yaml:"storageType"` // Tags to assign to the DB cluster. // // Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // A value that indicates whether to restore the DB cluster to the latest restorable backup time. // // By default, the DB cluster is not restored to the latest restorable backup time. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-uselatestrestorabletime // UseLatestRestorableTime interface{} `field:"optional" json:"useLatestRestorableTime" yaml:"useLatestRestorableTime"` // A list of EC2 VPC security groups to associate with this DB cluster. // // If you plan to update the resource, don't specify VPC security groups in a shared VPC. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-vpcsecuritygroupids // VpcSecurityGroupIds *[]*string `field:"optional" json:"vpcSecurityGroupIds" yaml:"vpcSecurityGroupIds"` }
Properties for defining a `CfnDBCluster`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBClusterProps := &CfnDBClusterProps{ AllocatedStorage: jsii.Number(123), AssociatedRoles: []interface{}{ &DBClusterRoleProperty{ RoleArn: jsii.String("roleArn"), // the properties below are optional FeatureName: jsii.String("featureName"), }, }, AutoMinorVersionUpgrade: jsii.Boolean(false), AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, BacktrackWindow: jsii.Number(123), BackupRetentionPeriod: jsii.Number(123), CopyTagsToSnapshot: jsii.Boolean(false), DatabaseName: jsii.String("databaseName"), DbClusterIdentifier: jsii.String("dbClusterIdentifier"), DbClusterInstanceClass: jsii.String("dbClusterInstanceClass"), DbClusterParameterGroupName: jsii.String("dbClusterParameterGroupName"), DbInstanceParameterGroupName: jsii.String("dbInstanceParameterGroupName"), DbSubnetGroupName: jsii.String("dbSubnetGroupName"), DbSystemId: jsii.String("dbSystemId"), DeletionProtection: jsii.Boolean(false), Domain: jsii.String("domain"), DomainIamRoleName: jsii.String("domainIamRoleName"), EnableCloudwatchLogsExports: []*string{ jsii.String("enableCloudwatchLogsExports"), }, EnableGlobalWriteForwarding: jsii.Boolean(false), EnableHttpEndpoint: jsii.Boolean(false), EnableIamDatabaseAuthentication: jsii.Boolean(false), EnableLocalWriteForwarding: jsii.Boolean(false), Engine: jsii.String("engine"), EngineLifecycleSupport: jsii.String("engineLifecycleSupport"), EngineMode: jsii.String("engineMode"), EngineVersion: jsii.String("engineVersion"), GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), ManageMasterUserPassword: jsii.Boolean(false), MasterUsername: jsii.String("masterUsername"), MasterUserPassword: jsii.String("masterUserPassword"), MasterUserSecret: &MasterUserSecretProperty{ KmsKeyId: jsii.String("kmsKeyId"), SecretArn: jsii.String("secretArn"), }, MonitoringInterval: jsii.Number(123), MonitoringRoleArn: jsii.String("monitoringRoleArn"), NetworkType: jsii.String("networkType"), PerformanceInsightsEnabled: jsii.Boolean(false), PerformanceInsightsKmsKeyId: jsii.String("performanceInsightsKmsKeyId"), PerformanceInsightsRetentionPeriod: jsii.Number(123), Port: jsii.Number(123), PreferredBackupWindow: jsii.String("preferredBackupWindow"), PreferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), PubliclyAccessible: jsii.Boolean(false), ReplicationSourceIdentifier: jsii.String("replicationSourceIdentifier"), RestoreToTime: jsii.String("restoreToTime"), RestoreType: jsii.String("restoreType"), ScalingConfiguration: &ScalingConfigurationProperty{ AutoPause: jsii.Boolean(false), MaxCapacity: jsii.Number(123), MinCapacity: jsii.Number(123), SecondsBeforeTimeout: jsii.Number(123), SecondsUntilAutoPause: jsii.Number(123), TimeoutAction: jsii.String("timeoutAction"), }, ServerlessV2ScalingConfiguration: &ServerlessV2ScalingConfigurationProperty{ MaxCapacity: jsii.Number(123), MinCapacity: jsii.Number(123), }, SnapshotIdentifier: jsii.String("snapshotIdentifier"), SourceDbClusterIdentifier: jsii.String("sourceDbClusterIdentifier"), SourceRegion: jsii.String("sourceRegion"), StorageEncrypted: jsii.Boolean(false), StorageType: jsii.String("storageType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, UseLatestRestorableTime: jsii.Boolean(false), VpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html
type CfnDBCluster_DBClusterRoleProperty ¶
type CfnDBCluster_DBClusterRoleProperty struct { // The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-rolearn // RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The name of the feature associated with the AWS Identity and Access Management (IAM) role. // // IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-featurename // FeatureName *string `field:"optional" json:"featureName" yaml:"featureName"` }
Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" dBClusterRoleProperty := &DBClusterRoleProperty{ RoleArn: jsii.String("roleArn"), // the properties below are optional FeatureName: jsii.String("featureName"), }
type CfnDBCluster_EndpointProperty ¶ added in v2.55.0
type CfnDBCluster_EndpointProperty struct { // Specifies the connection endpoint for the primary instance of the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-endpoint.html#cfn-rds-dbcluster-endpoint-address // Address *string `field:"optional" json:"address" yaml:"address"` // Specifies the port that the database engine is listening on. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-endpoint.html#cfn-rds-dbcluster-endpoint-port // Port *string `field:"optional" json:"port" yaml:"port"` }
The `Endpoint` return value specifies the connection endpoint for the primary instance of the DB cluster.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" endpointProperty := &EndpointProperty{ Address: jsii.String("address"), Port: jsii.String("port"), }
type CfnDBCluster_MasterUserSecretProperty ¶ added in v2.61.0
type CfnDBCluster_MasterUserSecretProperty struct { // The AWS KMS key identifier that is used to encrypt the secret. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html#cfn-rds-dbcluster-masterusersecret-kmskeyid // KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // The Amazon Resource Name (ARN) of the secret. // // This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#aws-resource-rds-dbcluster-return-values) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html#cfn-rds-dbcluster-masterusersecret-secretarn // SecretArn *string `field:"optional" json:"secretArn" yaml:"secretArn"` }
The `MasterUserSecret` return value specifies the secret managed by RDS in AWS Secrets Manager for the master user password.
For more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" masterUserSecretProperty := &MasterUserSecretProperty{ KmsKeyId: jsii.String("kmsKeyId"), SecretArn: jsii.String("secretArn"), }
type CfnDBCluster_ReadEndpointProperty ¶ added in v2.45.0
type CfnDBCluster_ReadEndpointProperty struct { // The host address of the reader endpoint. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-readendpoint.html#cfn-rds-dbcluster-readendpoint-address // Address *string `field:"optional" json:"address" yaml:"address"` }
The `ReadEndpoint` return value specifies the reader endpoint for the DB cluster.
The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.
If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint.
For more information about Aurora endpoints, see [Amazon Aurora connection management](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html) in the *Amazon Aurora User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" readEndpointProperty := &ReadEndpointProperty{ Address: jsii.String("address"), }
type CfnDBCluster_ScalingConfigurationProperty ¶
type CfnDBCluster_ScalingConfigurationProperty struct { // Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in `serverless` DB engine mode. // // A DB cluster can be paused only when it's idle (it has no connections). // // > If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-autopause // AutoPause interface{} `field:"optional" json:"autoPause" yaml:"autoPause"` // The maximum capacity for an Aurora DB cluster in `serverless` DB engine mode. // // For Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` . // // For Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` . // // The maximum capacity must be greater than or equal to the minimum capacity. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-maxcapacity // MaxCapacity *float64 `field:"optional" json:"maxCapacity" yaml:"maxCapacity"` // The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode. // // For Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` . // // For Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` . // // The minimum capacity must be less than or equal to the maximum capacity. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-mincapacity // MinCapacity *float64 `field:"optional" json:"minCapacity" yaml:"minCapacity"` // The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. // // The default is 300. // // Specify a value between 60 and 600 seconds. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-secondsbeforetimeout // SecondsBeforeTimeout *float64 `field:"optional" json:"secondsBeforeTimeout" yaml:"secondsBeforeTimeout"` // The time, in seconds, before an Aurora DB cluster in `serverless` mode is paused. // // Specify a value between 300 and 86,400 seconds. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-secondsuntilautopause // SecondsUntilAutoPause *float64 `field:"optional" json:"secondsUntilAutoPause" yaml:"secondsUntilAutoPause"` // The action to take when the timeout is reached, either `ForceApplyCapacityChange` or `RollbackCapacityChange` . // // `ForceApplyCapacityChange` sets the capacity to the specified value as soon as possible. // // `RollbackCapacityChange` , the default, ignores the capacity change if a scaling point isn't found in the timeout period. // // > If you specify `ForceApplyCapacityChange` , connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped. // // For more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-timeoutaction // TimeoutAction *string `field:"optional" json:"timeoutAction" yaml:"timeoutAction"` }
The `ScalingConfiguration` property type specifies the scaling configuration of an Aurora Serverless v1 DB cluster.
For more information, see [Using Amazon Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) in the *Amazon Aurora User Guide* .
This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the `ServerlessV2ScalingConfiguration` property.
Valid for: Aurora Serverless v1 DB clusters only.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" scalingConfigurationProperty := &ScalingConfigurationProperty{ AutoPause: jsii.Boolean(false), MaxCapacity: jsii.Number(123), MinCapacity: jsii.Number(123), SecondsBeforeTimeout: jsii.Number(123), SecondsUntilAutoPause: jsii.Number(123), TimeoutAction: jsii.String("timeoutAction"), }
type CfnDBCluster_ServerlessV2ScalingConfigurationProperty ¶ added in v2.45.0
type CfnDBCluster_ServerlessV2ScalingConfigurationProperty struct { // The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. // // You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128. // // The maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide* . // // Aurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the `ParameterApplyStatus` value for the DB instance changes to `pending-reboot` . You can update the parameter values by rebooting the DB instance after changing the capacity range. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-serverlessv2scalingconfiguration.html#cfn-rds-dbcluster-serverlessv2scalingconfiguration-maxcapacity // MaxCapacity *float64 `field:"optional" json:"maxCapacity" yaml:"maxCapacity"` // The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. // // You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0.5. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-serverlessv2scalingconfiguration.html#cfn-rds-dbcluster-serverlessv2scalingconfiguration-mincapacity // MinCapacity *float64 `field:"optional" json:"minCapacity" yaml:"minCapacity"` }
The `ServerlessV2ScalingConfiguration` property type specifies the scaling configuration of an Aurora Serverless V2 DB cluster.
For more information, see [Using Amazon Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html) in the *Amazon Aurora User Guide* .
If you have an Aurora cluster, you must set this attribute before you add a DB instance that uses the `db.serverless` DB instance class. For more information, see [Clusters that use Aurora Serverless v2 must have a capacity range specified](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html#aurora-serverless-v2.requirements.capacity-range) in the *Amazon Aurora User Guide* .
This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, use the `ScalingConfiguration` property.
Valid for: Aurora Serverless v2 DB clusters.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" serverlessV2ScalingConfigurationProperty := &ServerlessV2ScalingConfigurationProperty{ MaxCapacity: jsii.Number(123), MinCapacity: jsii.Number(123), }
type CfnDBInstance ¶
type CfnDBInstance interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The amount of storage in gibibytes (GiB) to be initially allocated for the database instance. AllocatedStorage() *string SetAllocatedStorage(val *string) // A value that indicates whether major version upgrades are allowed. AllowMajorVersionUpgrade() interface{} SetAllowMajorVersionUpgrade(val interface{}) // The AWS Identity and Access Management (IAM) roles associated with the DB instance. AssociatedRoles() interface{} SetAssociatedRoles(val interface{}) // The CA identifier of the CA certificate used for the DB instance's server certificate. AttrCertificateDetailsCaIdentifier() *string // The expiration date of the DB instance’s server certificate. AttrCertificateDetailsValidTill() *string // The Amazon Resource Name (ARN) for the DB instance. AttrDbInstanceArn() *string // The AWS Region-unique, immutable identifier for the DB instance. // // This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed. AttrDbiResourceId() *string // The Oracle system ID (Oracle SID) for a container database (CDB). // // The Oracle SID is also the name of the CDB. // // This setting is valid for RDS Custom only. AttrDbSystemId() *string // The connection endpoint for the database. For example: `mystack-mydb-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com`. // // For Aurora Serverless DB clusters, the connection endpoint only applies to the DB cluster. AttrEndpointAddress() *string // The ID that Amazon Route 53 assigns when you create a hosted zone. AttrEndpointHostedZoneId() *string // The port number on which the database accepts connections. // // For example: `3306`. AttrEndpointPort() *string // The Amazon Resource Name (ARN) of the secret. // // This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance-return-values) . AttrMasterUserSecretSecretArn() *string // The AWS KMS key identifier for encryption of the replicated automated backups. AutomaticBackupReplicationKmsKeyId() *string SetAutomaticBackupReplicationKmsKeyId(val *string) // The destination region for the backup replication of the DB instance. AutomaticBackupReplicationRegion() *string SetAutomaticBackupReplicationRegion(val *string) // A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. AutoMinorVersionUpgrade() interface{} SetAutoMinorVersionUpgrade(val interface{}) // The Availability Zone (AZ) where the database will be created. AvailabilityZone() *string SetAvailabilityZone(val *string) // The number of days for which automated backups are retained. BackupRetentionPeriod() *float64 SetBackupRetentionPeriod(val *float64) // The identifier of the CA certificate for this DB instance. CaCertificateIdentifier() *string SetCaCertificateIdentifier(val *string) // The details of the DB instance's server certificate. CertificateDetails() interface{} SetCertificateDetails(val interface{}) // Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate. CertificateRotationRestart() interface{} SetCertificateRotationRestart(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // For supported engines, indicates that the DB instance should be associated with the specified character set. CharacterSetName() *string SetCharacterSetName(val *string) // Specifies whether to copy tags from the DB instance to snapshots of the DB instance. CopyTagsToSnapshot() interface{} SetCopyTagsToSnapshot(val interface{}) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. CustomIamInstanceProfile() *string SetCustomIamInstanceProfile(val *string) // The identifier of the DB cluster that this DB instance will belong to. DbClusterIdentifier() *string SetDbClusterIdentifier(val *string) // The identifier for the Multi-AZ DB cluster snapshot to restore from. DbClusterSnapshotIdentifier() *string SetDbClusterSnapshotIdentifier(val *string) // The compute and memory capacity of the DB instance, for example `db.m5.large` . Not all DB instance classes are available in all AWS Regions , or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide* . DbInstanceClass() *string SetDbInstanceClass(val *string) // A name for the DB instance. DbInstanceIdentifier() *string SetDbInstanceIdentifier(val *string) // The meaning of this parameter differs according to the database engine you use. DbName() *string SetDbName(val *string) // The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template. DbParameterGroupName() *string SetDbParameterGroupName(val *string) // A list of the DB security groups to assign to the DB instance. DbSecurityGroups() *[]*string SetDbSecurityGroups(val *[]*string) // The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. DbSnapshotIdentifier() *string SetDbSnapshotIdentifier(val *string) // A DB subnet group to associate with the DB instance. DbSubnetGroupName() *string SetDbSubnetGroupName(val *string) // Indicates whether the DB instance has a dedicated log volume (DLV) enabled. DedicatedLogVolume() interface{} SetDedicatedLogVolume(val interface{}) // A value that indicates whether to remove automated backups immediately after the DB instance is deleted. DeleteAutomatedBackups() interface{} SetDeleteAutomatedBackups(val interface{}) // Specifies whether the DB instance has deletion protection enabled. DeletionProtection() interface{} SetDeletionProtection(val interface{}) // The Active Directory directory ID to create the DB instance in. Domain() *string SetDomain(val *string) // The ARN for the Secrets Manager secret with the credentials for the user joining the domain. DomainAuthSecretArn() *string SetDomainAuthSecretArn(val *string) // The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers. DomainDnsIps() *[]*string SetDomainDnsIps(val *[]*string) // The fully qualified domain name (FQDN) of an Active Directory domain. DomainFqdn() *string SetDomainFqdn(val *string) // The name of the IAM role to use when making API calls to the Directory Service. DomainIamRoleName() *string SetDomainIamRoleName(val *string) // The Active Directory organizational unit for your DB instance to join. DomainOu() *string SetDomainOu(val *string) // The list of log types that need to be enabled for exporting to CloudWatch Logs. EnableCloudwatchLogsExports() *[]*string SetEnableCloudwatchLogsExports(val *[]*string) // A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. EnableIamDatabaseAuthentication() interface{} SetEnableIamDatabaseAuthentication(val interface{}) // Specifies whether to enable Performance Insights for the DB instance. EnablePerformanceInsights() interface{} SetEnablePerformanceInsights(val interface{}) // The connection endpoint for the DB instance. Endpoint() interface{} SetEndpoint(val interface{}) // The name of the database engine to use for this DB instance. Engine() *string SetEngine(val *string) // The life cycle type for this DB instance. EngineLifecycleSupport() *string SetEngineLifecycleSupport(val *string) // The version number of the database engine to use. EngineVersion() *string SetEngineVersion(val *string) // The number of I/O operations per second (IOPS) that the database provisions. Iops() *float64 SetIops(val *float64) // The ARN of the AWS KMS key that's used to encrypt the DB instance, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . KmsKeyId() *string SetKmsKeyId(val *string) // License model information for this DB instance. LicenseModel() *string SetLicenseModel(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // Specifies whether to manage the master user password with AWS Secrets Manager. ManageMasterUserPassword() interface{} SetManageMasterUserPassword(val interface{}) // The master user name for the DB instance. MasterUsername() *string SetMasterUsername(val *string) // The password for the master user. // // The password can include any printable ASCII character except "/", """, or "@". MasterUserPassword() *string SetMasterUserPassword(val *string) // The secret managed by RDS in AWS Secrets Manager for the master user password. MasterUserSecret() interface{} SetMasterUserSecret(val interface{}) // The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance. MaxAllocatedStorage() *float64 SetMaxAllocatedStorage(val *float64) // The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. MonitoringInterval() *float64 SetMonitoringInterval(val *float64) // The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. MonitoringRoleArn() *string SetMonitoringRoleArn(val *string) // Specifies whether the DB instance is a Multi-AZ deployment. MultiAz() interface{} SetMultiAz(val interface{}) // The name of the NCHAR character set for the Oracle DB instance. NcharCharacterSetName() *string SetNcharCharacterSetName(val *string) // The network type of the DB instance. NetworkType() *string SetNetworkType(val *string) // The tree node. Node() constructs.Node // Indicates that the DB instance should be associated with the specified option group. OptionGroupName() *string SetOptionGroupName(val *string) // The AWS KMS key identifier for encryption of Performance Insights data. PerformanceInsightsKmsKeyId() *string SetPerformanceInsightsKmsKeyId(val *string) // The number of days to retain Performance Insights data. PerformanceInsightsRetentionPeriod() *float64 SetPerformanceInsightsRetentionPeriod(val *float64) // The port number on which the database accepts connections. Port() *string SetPort(val *string) // The daily time range during which automated backups are created if automated backups are enabled, using the `BackupRetentionPeriod` parameter. PreferredBackupWindow() *string SetPreferredBackupWindow(val *string) // The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). PreferredMaintenanceWindow() *string SetPreferredMaintenanceWindow(val *string) // The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. ProcessorFeatures() interface{} SetProcessorFeatures(val interface{}) // The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. PromotionTier() *float64 SetPromotionTier(val *float64) // Indicates whether the DB instance is an internet-facing instance. PubliclyAccessible() interface{} SetPubliclyAccessible(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The open mode of an Oracle read replica. ReplicaMode() *string SetReplicaMode(val *string) // The date and time to restore from. RestoreTime() *string SetRestoreTime(val *string) // The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. SourceDbClusterIdentifier() *string SetSourceDbClusterIdentifier(val *string) // The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, `arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE` . SourceDbInstanceAutomatedBackupsArn() *string SetSourceDbInstanceAutomatedBackupsArn(val *string) // If you want to create a read replica DB instance, specify the ID of the source DB instance. SourceDbInstanceIdentifier() *string SetSourceDbInstanceIdentifier(val *string) // The resource ID of the source DB instance from which to restore. SourceDbiResourceId() *string SetSourceDbiResourceId(val *string) // The ID of the region that contains the source DB instance for the read replica. SourceRegion() *string SetSourceRegion(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // A value that indicates whether the DB instance is encrypted. // // By default, it isn't encrypted. StorageEncrypted() interface{} SetStorageEncrypted(val interface{}) // Specifies the storage throughput value for the DB instance. // // This setting applies only to the `gp3` storage type. StorageThroughput() *float64 SetStorageThroughput(val *float64) // The storage type to associate with the DB instance. StorageType() *string SetStorageType(val *string) // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Tags to assign to the DB instance. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated: this property has been deprecated. TdeCredentialArn() *string // Deprecated: this property has been deprecated. SetTdeCredentialArn(val *string) // Deprecated: this property has been deprecated. TdeCredentialPassword() *string // Deprecated: this property has been deprecated. SetTdeCredentialPassword(val *string) // The time zone of the DB instance. Timezone() *string SetTimezone(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Specifies whether the DB instance class of the DB instance uses its default processor features. UseDefaultProcessorFeatures() interface{} SetUseDefaultProcessorFeatures(val interface{}) // Specifies whether the DB instance is restored from the latest backup time. UseLatestRestorableTime() interface{} SetUseLatestRestorableTime(val interface{}) // A list of the VPC security group IDs to assign to the DB instance. VpcSecurityGroups() *[]*string SetVpcSecurityGroups(val *[]*string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBInstance` resource creates an Amazon DB instance.
The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.
For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide* .
For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide* .
If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.
> If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html) .
*Updating DB instances*
When properties labeled " *Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) " are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.
> We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure: > > - Deactivate any applications that are using the DB instance so that there's no activity on the DB instance. > - Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html) . > - If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the `DBSnapshotIdentifier` property with the ID of the DB snapshot that you want to use. > > After you restore a DB instance with a `DBSnapshotIdentifier` property, you can delete the `DBSnapshotIdentifier` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the `DBSnapshotIdentifier` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified `DBSnapshotIdentifier` property, and the original DB instance is deleted. > - Update the stack.
For more information about updating other properties of this resource, see `[ModifyDBInstance](https://docs.aws.amazon.com//AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)` . For more information about updating stacks, see [AWS CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) .
*Deleting DB instances*
For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the `DBClusterIdentifier` property:
- For `AWS::RDS::DBInstance` resources that don't specify the `DBClusterIdentifier` property, AWS CloudFormation saves a snapshot of the DB instance. - For `AWS::RDS::DBInstance` resources that do specify the `DBClusterIdentifier` property, AWS CloudFormation deletes the DB instance.
For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBInstance := awscdk.Aws_rds.NewCfnDBInstance(this, jsii.String("MyCfnDBInstance"), &CfnDBInstanceProps{ AllocatedStorage: jsii.String("allocatedStorage"), AllowMajorVersionUpgrade: jsii.Boolean(false), AssociatedRoles: []interface{}{ &DBInstanceRoleProperty{ FeatureName: jsii.String("featureName"), RoleArn: jsii.String("roleArn"), }, }, AutomaticBackupReplicationKmsKeyId: jsii.String("automaticBackupReplicationKmsKeyId"), AutomaticBackupReplicationRegion: jsii.String("automaticBackupReplicationRegion"), AutoMinorVersionUpgrade: jsii.Boolean(false), AvailabilityZone: jsii.String("availabilityZone"), BackupRetentionPeriod: jsii.Number(123), CaCertificateIdentifier: jsii.String("caCertificateIdentifier"), CertificateDetails: &CertificateDetailsProperty{ CaIdentifier: jsii.String("caIdentifier"), ValidTill: jsii.String("validTill"), }, CertificateRotationRestart: jsii.Boolean(false), CharacterSetName: jsii.String("characterSetName"), CopyTagsToSnapshot: jsii.Boolean(false), CustomIamInstanceProfile: jsii.String("customIamInstanceProfile"), DbClusterIdentifier: jsii.String("dbClusterIdentifier"), DbClusterSnapshotIdentifier: jsii.String("dbClusterSnapshotIdentifier"), DbInstanceClass: jsii.String("dbInstanceClass"), DbInstanceIdentifier: jsii.String("dbInstanceIdentifier"), DbName: jsii.String("dbName"), DbParameterGroupName: jsii.String("dbParameterGroupName"), DbSecurityGroups: []*string{ jsii.String("dbSecurityGroups"), }, DbSnapshotIdentifier: jsii.String("dbSnapshotIdentifier"), DbSubnetGroupName: jsii.String("dbSubnetGroupName"), DedicatedLogVolume: jsii.Boolean(false), DeleteAutomatedBackups: jsii.Boolean(false), DeletionProtection: jsii.Boolean(false), Domain: jsii.String("domain"), DomainAuthSecretArn: jsii.String("domainAuthSecretArn"), DomainDnsIps: []*string{ jsii.String("domainDnsIps"), }, DomainFqdn: jsii.String("domainFqdn"), DomainIamRoleName: jsii.String("domainIamRoleName"), DomainOu: jsii.String("domainOu"), EnableCloudwatchLogsExports: []*string{ jsii.String("enableCloudwatchLogsExports"), }, EnableIamDatabaseAuthentication: jsii.Boolean(false), EnablePerformanceInsights: jsii.Boolean(false), Endpoint: &EndpointProperty{ Address: jsii.String("address"), HostedZoneId: jsii.String("hostedZoneId"), Port: jsii.String("port"), }, Engine: jsii.String("engine"), EngineLifecycleSupport: jsii.String("engineLifecycleSupport"), EngineVersion: jsii.String("engineVersion"), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), LicenseModel: jsii.String("licenseModel"), ManageMasterUserPassword: jsii.Boolean(false), MasterUsername: jsii.String("masterUsername"), MasterUserPassword: jsii.String("masterUserPassword"), MasterUserSecret: &MasterUserSecretProperty{ KmsKeyId: jsii.String("kmsKeyId"), SecretArn: jsii.String("secretArn"), }, MaxAllocatedStorage: jsii.Number(123), MonitoringInterval: jsii.Number(123), MonitoringRoleArn: jsii.String("monitoringRoleArn"), MultiAz: jsii.Boolean(false), NcharCharacterSetName: jsii.String("ncharCharacterSetName"), NetworkType: jsii.String("networkType"), OptionGroupName: jsii.String("optionGroupName"), PerformanceInsightsKmsKeyId: jsii.String("performanceInsightsKmsKeyId"), PerformanceInsightsRetentionPeriod: jsii.Number(123), Port: jsii.String("port"), PreferredBackupWindow: jsii.String("preferredBackupWindow"), PreferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), ProcessorFeatures: []interface{}{ &ProcessorFeatureProperty{ Name: jsii.String("name"), Value: jsii.String("value"), }, }, PromotionTier: jsii.Number(123), PubliclyAccessible: jsii.Boolean(false), ReplicaMode: jsii.String("replicaMode"), RestoreTime: jsii.String("restoreTime"), SourceDbClusterIdentifier: jsii.String("sourceDbClusterIdentifier"), SourceDbInstanceAutomatedBackupsArn: jsii.String("sourceDbInstanceAutomatedBackupsArn"), SourceDbInstanceIdentifier: jsii.String("sourceDbInstanceIdentifier"), SourceDbiResourceId: jsii.String("sourceDbiResourceId"), SourceRegion: jsii.String("sourceRegion"), StorageEncrypted: jsii.Boolean(false), StorageThroughput: jsii.Number(123), StorageType: jsii.String("storageType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TdeCredentialArn: jsii.String("tdeCredentialArn"), TdeCredentialPassword: jsii.String("tdeCredentialPassword"), Timezone: jsii.String("timezone"), UseDefaultProcessorFeatures: jsii.Boolean(false), UseLatestRestorableTime: jsii.Boolean(false), VpcSecurityGroups: []*string{ jsii.String("vpcSecurityGroups"), }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html
func NewCfnDBInstance ¶
func NewCfnDBInstance(scope constructs.Construct, id *string, props *CfnDBInstanceProps) CfnDBInstance
type CfnDBInstanceProps ¶
type CfnDBInstanceProps struct { // The amount of storage in gibibytes (GiB) to be initially allocated for the database instance. // // > If any value is set in the `Iops` parameter, `AllocatedStorage` must be at least 100 GiB, which corresponds to the minimum Iops value of 1,000. If you increase the `Iops` value (in 1,000 IOPS increments), then you must also increase the `AllocatedStorage` value (in 100-GiB increments). // // *Amazon Aurora* // // Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume. // // *Db2* // // Constraints to the amount of storage for each storage type are the following: // // - General Purpose (SSD) storage (gp3): Must be an integer from 20 to 64000. // - Provisioned IOPS storage (io1): Must be an integer from 100 to 64000. // // *MySQL* // // Constraints to the amount of storage for each storage type are the following: // // - General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. // - Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. // - Magnetic storage (standard): Must be an integer from 5 to 3072. // // *MariaDB* // // Constraints to the amount of storage for each storage type are the following: // // - General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. // - Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. // - Magnetic storage (standard): Must be an integer from 5 to 3072. // // *PostgreSQL* // // Constraints to the amount of storage for each storage type are the following: // // - General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. // - Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. // - Magnetic storage (standard): Must be an integer from 5 to 3072. // // *Oracle* // // Constraints to the amount of storage for each storage type are the following: // // - General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536. // - Provisioned IOPS storage (io1): Must be an integer from 100 to 65536. // - Magnetic storage (standard): Must be an integer from 10 to 3072. // // *SQL Server* // // Constraints to the amount of storage for each storage type are the following: // // - General Purpose (SSD) storage (gp2): // // - Enterprise and Standard editions: Must be an integer from 20 to 16384. // - Web and Express editions: Must be an integer from 20 to 16384. // - Provisioned IOPS storage (io1): // // - Enterprise and Standard editions: Must be an integer from 20 to 16384. // - Web and Express editions: Must be an integer from 20 to 16384. // - Magnetic storage (standard): // // - Enterprise and Standard editions: Must be an integer from 20 to 1024. // - Web and Express editions: Must be an integer from 20 to 1024. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-allocatedstorage // AllocatedStorage *string `field:"optional" json:"allocatedStorage" yaml:"allocatedStorage"` // A value that indicates whether major version upgrades are allowed. // // Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. // // Constraints: Major version upgrades must be allowed when specifying a value for the `EngineVersion` parameter that is a different major version than the DB instance's current version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-allowmajorversionupgrade // AllowMajorVersionUpgrade interface{} `field:"optional" json:"allowMajorVersionUpgrade" yaml:"allowMajorVersionUpgrade"` // The AWS Identity and Access Management (IAM) roles associated with the DB instance. // // *Amazon Aurora* // // Not applicable. The associated roles are managed by the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-associatedroles // AssociatedRoles interface{} `field:"optional" json:"associatedRoles" yaml:"associatedRoles"` // The AWS KMS key identifier for encryption of the replicated automated backups. // // The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region , for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-automaticbackupreplicationkmskeyid // AutomaticBackupReplicationKmsKeyId *string `field:"optional" json:"automaticBackupReplicationKmsKeyId" yaml:"automaticBackupReplicationKmsKeyId"` // The destination region for the backup replication of the DB instance. // // For more info, see [Replicating automated backups to another Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html) in the *Amazon RDS User Guide*. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-automaticbackupreplicationregion // AutomaticBackupReplicationRegion *string `field:"optional" json:"automaticBackupReplicationRegion" yaml:"automaticBackupReplicationRegion"` // A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. // // By default, minor engine upgrades are applied automatically. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-autominorversionupgrade // AutoMinorVersionUpgrade interface{} `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The Availability Zone (AZ) where the database will be created. // // For information on AWS Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html) . // // For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one. // // Default: A random, system-chosen Availability Zone in the endpoint's AWS Region . // // Constraints: // // - The `AvailabilityZone` parameter can't be specified if the DB instance is a Multi-AZ deployment. // - The specified Availability Zone must be in the same AWS Region as the current endpoint. // // Example: `us-east-1d`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-availabilityzone // AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // 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. // // *Amazon Aurora* // // Not applicable. The retention period for automated backups is managed by the DB cluster. // // Default: 1 // // Constraints: // // - Must be a value from 0 to 35 // - Can't be set to 0 if the DB instance is a source to read replicas. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-backupretentionperiod // // Default: - 1. // BackupRetentionPeriod *float64 `field:"optional" json:"backupRetentionPeriod" yaml:"backupRetentionPeriod"` // The identifier of the CA certificate for this DB instance. // // For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-cacertificateidentifier // CaCertificateIdentifier *string `field:"optional" json:"caCertificateIdentifier" yaml:"caCertificateIdentifier"` // The details of the DB instance's server certificate. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-certificatedetails // CertificateDetails interface{} `field:"optional" json:"certificateDetails" yaml:"certificateDetails"` // Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate. // // By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted. // // > Set this parameter only if you are *not* using SSL/TLS to connect to the DB instance. // // If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate: // // - For more information about rotating your SSL/TLS certificate for RDS DB engines, see [Rotating Your SSL/TLS Certificate.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon RDS User Guide.* // - For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [Rotating Your SSL/TLS Certificate](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon Aurora User Guide* . // // This setting doesn't apply to RDS Custom DB instances. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-certificaterotationrestart // CertificateRotationRestart interface{} `field:"optional" json:"certificateRotationRestart" yaml:"certificateRotationRestart"` // For supported engines, indicates that the DB instance should be associated with the specified character set. // // *Amazon Aurora* // // Not applicable. The character set is managed by the DB cluster. For more information, see [AWS::RDS::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-charactersetname // CharacterSetName *string `field:"optional" json:"characterSetName" yaml:"characterSetName"` // Specifies whether to copy tags from the DB instance to snapshots of the DB instance. // // By default, tags are not copied. // // This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-copytagstosnapshot // CopyTagsToSnapshot interface{} `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. // // This setting is required for RDS Custom. // // Constraints: // // - The profile must exist in your account. // - The profile must have an IAM role that Amazon EC2 has permissions to assume. // - The instance profile name and the associated IAM role name must start with the prefix `AWSRDSCustom` . // // For the list of permissions required for the IAM role, see [Configure IAM and your VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) in the *Amazon RDS User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-customiaminstanceprofile // CustomIamInstanceProfile *string `field:"optional" json:"customIamInstanceProfile" yaml:"customIamInstanceProfile"` // The identifier of the DB cluster that this DB instance will belong to. // // This setting doesn't apply to RDS Custom DB instances. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dbclusteridentifier // DbClusterIdentifier *string `field:"optional" json:"dbClusterIdentifier" yaml:"dbClusterIdentifier"` // The identifier for the Multi-AZ DB cluster snapshot to restore from. // // For more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide* . // // Constraints: // // - Must match the identifier of an existing Multi-AZ DB cluster snapshot. // - Can't be specified when `DBSnapshotIdentifier` is specified. // - Must be specified when `DBSnapshotIdentifier` isn't specified. // - If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the `DBClusterSnapshotIdentifier` must be the ARN of the shared snapshot. // - Can't be the identifier of an Aurora DB cluster snapshot. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dbclustersnapshotidentifier // DbClusterSnapshotIdentifier *string `field:"optional" json:"dbClusterSnapshotIdentifier" yaml:"dbClusterSnapshotIdentifier"` // The compute and memory capacity of the DB instance, for example `db.m5.large` . Not all DB instance classes are available in all AWS Regions , or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dbinstanceclass // DbInstanceClass *string `field:"optional" json:"dbInstanceClass" yaml:"dbInstanceClass"` // A name for the DB instance. // // If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . // // For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* . // // > If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dbinstanceidentifier // DbInstanceIdentifier *string `field:"optional" json:"dbInstanceIdentifier" yaml:"dbInstanceIdentifier"` // The meaning of this parameter differs according to the database engine you use. // // > If you specify the `[DBSnapshotIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsnapshotidentifier)` property, this property only applies to RDS for Oracle. // // *Amazon Aurora* // // Not applicable. The database name is managed by the DB cluster. // // *Db2* // // The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance. // // Constraints: // // - Must contain 1 to 64 letters or numbers. // - Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9). // - Can't be a word reserved by the specified database engine. // // *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 letters or numbers. // - Can't be a word reserved by the specified database engine // // *MariaDB* // // 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 letters or numbers. // - Can't 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 begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9). // - Must contain 1 to 63 characters. // - Can't be a word reserved by the specified database engine // // *Oracle* // // The Oracle System ID (SID) of the created DB instance. If you specify `null` , the default value `ORCL` is used. You can't specify the string NULL, or any other reserved word, for `DBName` . // // Default: `ORCL` // // Constraints: // // - Can't be longer than 8 characters // // *SQL Server* // // Not applicable. Must be null. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dbname // DbName *string `field:"optional" json:"dbName" yaml:"dbName"` // The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template. // // To list all of the available DB parameter group names, use the following command: // // `aws rds describe-db-parameter-groups --query "DBParameterGroups[].DBParameterGroupName" --output text` // // > If any of the data members of the referenced parameter group are changed during an update, the DB instance might need to be restarted, which causes some interruption. If the parameter group contains static parameters, whether they were changed or not, an update triggers a reboot. // // If you don't specify a value for `DBParameterGroupName` property, the default DB parameter group for the specified engine and engine version is used. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dbparametergroupname // DbParameterGroupName *string `field:"optional" json:"dbParameterGroupName" yaml:"dbParameterGroupName"` // A list of the DB security groups to assign to the DB instance. // // The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template. // // If you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups. // // > If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations: // > // > - `AllocatedStorage` // > - `AutoMinorVersionUpgrade` // > - `AvailabilityZone` // > - `BackupRetentionPeriod` // > - `CharacterSetName` // > - `DBInstanceClass` // > - `DBName` // > - `DBParameterGroupName` // > - `DBSecurityGroups` // > - `DBSubnetGroupName` // > - `Engine` // > - `EngineVersion` // > - `Iops` // > - `LicenseModel` // > - `MasterUsername` // > - `MasterUserPassword` // > - `MultiAZ` // > - `OptionGroupName` // > - `PreferredBackupWindow` // > - `PreferredMaintenanceWindow` // > // > All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as `StorageType` , `StorageEncrypted` , or `KmsKeyId` . If you're already using the `DBSecurityGroups` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dbsecuritygroups // DbSecurityGroups *[]*string `field:"optional" json:"dbSecurityGroups" yaml:"dbSecurityGroups"` // The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. // // If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot. // // By specifying this property, you can create a DB instance from the specified DB snapshot. If the `DBSnapshotIdentifier` property is an empty string or the `AWS::RDS::DBInstance` declaration has no `DBSnapshotIdentifier` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack. // // Some DB instance properties aren't valid when you restore from a snapshot, such as the `MasterUsername` and `MasterUserPassword` properties. For information about the properties that you can specify, see the `RestoreDBInstanceFromDBSnapshot` action in the *Amazon RDS API Reference* . // // After you restore a DB instance with a `DBSnapshotIdentifier` property, you must specify the same `DBSnapshotIdentifier` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the `DBSnapshotIdentifier` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified `DBSnapshotIdentifier` property, and the original DB instance is deleted. // // If you specify the `DBSnapshotIdentifier` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties: // // - `CharacterSetName` // - `DBClusterIdentifier` // - `DBName` // - `DeleteAutomatedBackups` // - `KmsKeyId` // - `MasterUsername` // - `MasterUserPassword` // - `PerformanceInsightsKMSKeyId` // - `PerformanceInsightsRetentionPeriod` // - `PromotionTier` // - `SourceDBInstanceIdentifier` // - `SourceRegion` // - `StorageEncrypted` (for an encrypted snapshot) // - `Timezone` // // *Amazon Aurora* // // Not applicable. Snapshot restore is managed by the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dbsnapshotidentifier // DbSnapshotIdentifier *string `field:"optional" json:"dbSnapshotIdentifier" yaml:"dbSnapshotIdentifier"` // A DB subnet group to associate with the DB instance. // // If you update this value, the new subnet group must be a subnet group in a new VPC. // // If there's no DB subnet group, then the DB instance isn't a VPC DB instance. // // For more information about using Amazon RDS in a VPC, see [Amazon VPC and Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* . // // This setting doesn't apply to Amazon Aurora DB instances. The DB subnet group is managed by the DB cluster. If specified, the setting must match the DB cluster setting. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dbsubnetgroupname // DbSubnetGroupName *string `field:"optional" json:"dbSubnetGroupName" yaml:"dbSubnetGroupName"` // Indicates whether the DB instance has a dedicated log volume (DLV) enabled. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-dedicatedlogvolume // DedicatedLogVolume interface{} `field:"optional" json:"dedicatedLogVolume" yaml:"dedicatedLogVolume"` // A value that indicates whether to remove automated backups immediately after the DB instance is deleted. // // This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted. // // *Amazon Aurora* // // Not applicable. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the DB cluster are not deleted. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-deleteautomatedbackups // DeleteAutomatedBackups interface{} `field:"optional" json:"deleteAutomatedBackups" yaml:"deleteAutomatedBackups"` // Specifies whether the DB instance has deletion protection enabled. // // The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see [Deleting a DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html) . // // This setting doesn't apply to Amazon Aurora DB instances. You can enable or disable deletion protection for the DB cluster. For more information, see `CreateDBCluster` . DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-deletionprotection // DeletionProtection interface{} `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // The Active Directory directory ID to create the DB instance in. // // Currently, only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain. // // For more information, see [Kerberos Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) in the *Amazon RDS User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-domain // Domain *string `field:"optional" json:"domain" yaml:"domain"` // The ARN for the Secrets Manager secret with the credentials for the user joining the domain. // // Example: `arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-domainauthsecretarn // DomainAuthSecretArn *string `field:"optional" json:"domainAuthSecretArn" yaml:"domainAuthSecretArn"` // The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers. // // Constraints: // // - Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list. // // Example: `123.124.125.126,234.235.236.237` // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-domaindnsips // DomainDnsIps *[]*string `field:"optional" json:"domainDnsIps" yaml:"domainDnsIps"` // The fully qualified domain name (FQDN) of an Active Directory domain. // // Constraints: // // - Can't be longer than 64 characters. // // Example: `mymanagedADtest.mymanagedAD.mydomain` // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-domainfqdn // DomainFqdn *string `field:"optional" json:"domainFqdn" yaml:"domainFqdn"` // The name of the IAM role to use when making API calls to the Directory Service. // // This setting doesn't apply to the following DB instances: // // - Amazon Aurora (The domain is managed by the DB cluster.) // - RDS Custom. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-domainiamrolename // DomainIamRoleName *string `field:"optional" json:"domainIamRoleName" yaml:"domainIamRoleName"` // The Active Directory organizational unit for your DB instance to join. // // Constraints: // // - Must be in the distinguished name format. // - Can't be longer than 64 characters. // // Example: `OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-domainou // DomainOu *string `field:"optional" json:"domainOu" yaml:"domainOu"` // The list of log types that need to be enabled for exporting to CloudWatch Logs. // // The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide* . // // *Amazon Aurora* // // Not applicable. CloudWatch Logs exports are managed by the DB cluster. // // *Db2* // // Valid values: `diag.log` , `notify.log` // // *MariaDB* // // Valid values: `audit` , `error` , `general` , `slowquery` // // *Microsoft SQL Server* // // Valid values: `agent` , `error` // // *MySQL* // // Valid values: `audit` , `error` , `general` , `slowquery` // // *Oracle* // // Valid values: `alert` , `audit` , `listener` , `trace` , `oemagent` // // *PostgreSQL* // // Valid values: `postgresql` , `upgrade`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-enablecloudwatchlogsexports // EnableCloudwatchLogsExports *[]*string `field:"optional" json:"enableCloudwatchLogsExports" yaml:"enableCloudwatchLogsExports"` // A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. // // By default, mapping is disabled. // // This property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.* // // *Amazon Aurora* // // Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-enableiamdatabaseauthentication // EnableIamDatabaseAuthentication interface{} `field:"optional" json:"enableIamDatabaseAuthentication" yaml:"enableIamDatabaseAuthentication"` // Specifies whether to enable Performance Insights for the DB instance. // // For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* . // // This setting doesn't apply to RDS Custom DB instances. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-enableperformanceinsights // EnablePerformanceInsights interface{} `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // The connection endpoint for the DB instance. // // > The endpoint might not be shown for instances with the status of `creating` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-endpoint // Endpoint interface{} `field:"optional" json:"endpoint" yaml:"endpoint"` // The name of the database engine to use for this DB instance. // // Not every database engine is available in every AWS Region. // // This property is required when creating a DB instance. // // > You can convert an Oracle database from the non-CDB architecture to the container database (CDB) architecture by updating the `Engine` value in your templates from `oracle-ee` to `oracle-ee-cdb` or from `oracle-se2` to `oracle-se2-cdb` . Converting to the CDB architecture requires an interruption. // // Valid Values: // // - `aurora-mysql` (for Aurora MySQL DB instances) // - `aurora-postgresql` (for Aurora PostgreSQL DB instances) // - `custom-oracle-ee` (for RDS Custom for Oracle DB instances) // - `custom-oracle-ee-cdb` (for RDS Custom for Oracle DB instances) // - `custom-sqlserver-ee` (for RDS Custom for SQL Server DB instances) // - `custom-sqlserver-se` (for RDS Custom for SQL Server DB instances) // - `custom-sqlserver-web` (for RDS Custom for SQL Server DB instances) // - `db2-ae` // - `db2-se` // - `mariadb` // - `mysql` // - `oracle-ee` // - `oracle-ee-cdb` // - `oracle-se2` // - `oracle-se2-cdb` // - `postgres` // - `sqlserver-ee` // - `sqlserver-se` // - `sqlserver-ex` // - `sqlserver-web`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-engine // Engine *string `field:"optional" json:"engine" yaml:"engine"` // The life cycle type for this DB instance. // // > By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB instance into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB instance will fail if the DB major version is past its end of standard support date. // // This setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life cycle type is managed by the DB cluster. // // You can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB instance past the end of standard support for that engine version. For more information, see [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* . // // Valid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled` // // Default: `open-source-rds-extended-support`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-enginelifecyclesupport // EngineLifecycleSupport *string `field:"optional" json:"engineLifecycleSupport" yaml:"engineLifecycleSupport"` // The version number of the database engine to use. // // For a list of valid engine versions, use the `DescribeDBEngineVersions` action. // // The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region. // // *Amazon Aurora* // // Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster. // // *Db2* // // See [Amazon RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* // // *MariaDB* // // See [MariaDB on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* // // *Microsoft SQL Server* // // See [Microsoft SQL Server Versions on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) in the *Amazon RDS User Guide.* // // *MySQL* // // See [MySQL on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide.* // // *Oracle* // // See [Oracle Database Engine Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) in the *Amazon RDS User Guide.* // // *PostgreSQL* // // See [Supported PostgreSQL Database Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions) in the *Amazon RDS User Guide.* // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-engineversion // EngineVersion *string `field:"optional" json:"engineVersion" yaml:"engineVersion"` // The number of I/O operations per second (IOPS) that the database provisions. // // The value must be equal to or greater than 1000. // // If you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GiB of storage (a ratio of 5:1), or specify 2000 IOPS with 200 GiB of storage (a ratio of 10:1). For more information, see [Amazon RDS Provisioned IOPS Storage to Improve Performance](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* . // // > If you specify `io1` for the `StorageType` property, then you must also specify the `Iops` property. // // Constraints: // // - For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance. // - For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-iops // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // The ARN of the AWS KMS key that's used to encrypt the DB instance, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . // // If you enable the StorageEncrypted property but don't specify this property, AWS CloudFormation uses the default KMS key. If you specify this property, you must set the StorageEncrypted property to true. // // If you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used. However, if the source DB instance is in a different AWS Region, you must specify a KMS key ID. // // If you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup, and if the automated backup is encrypted, the specified `KmsKeyId` property is used. // // If you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the region that they're created in, and you can't use encryption keys from one region in another region. // // If you specify the `DBSnapshotIdentifier` property, don't specify this property. The `StorageEncrypted` property value is inherited from the snapshot. If the DB instance is encrypted, the specified `KmsKeyId` property is also inherited from the snapshot. // // If you specify `DBSecurityGroups` , AWS CloudFormation ignores this property. To specify both a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see [Using Amazon RDS with Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* . // // *Amazon Aurora* // // Not applicable. The KMS key identifier is managed by the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-kmskeyid // KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // License model information for this DB instance. // // Valid Values: // // - Aurora MySQL - `general-public-license` // - Aurora PostgreSQL - `postgresql-license` // - RDS for Db2 - `bring-your-own-license` . For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.* // - RDS for MariaDB - `general-public-license` // - RDS for Microsoft SQL Server - `license-included` // - RDS for MySQL - `general-public-license` // - RDS for Oracle - `bring-your-own-license` or `license-included` // - RDS for PostgreSQL - `postgresql-license` // // > If you've specified `DBSecurityGroups` and then you update the license model, AWS CloudFormation replaces the underlying DB instance. This will incur some interruptions to database availability. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-licensemodel // LicenseModel *string `field:"optional" json:"licenseModel" yaml:"licenseModel"` // Specifies whether to manage the master user password with AWS Secrets Manager. // // For more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.* // // Constraints: // // - Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-managemasteruserpassword // ManageMasterUserPassword interface{} `field:"optional" json:"manageMasterUserPassword" yaml:"manageMasterUserPassword"` // The master user name for the DB instance. // // > If you specify the `SourceDBInstanceIdentifier` or `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the source DB instance or snapshot. // > // > When migrating a self-managed Db2 database, we recommend that you use the same master username as your self-managed Db2 instance name. // // *Amazon Aurora* // // Not applicable. The name for the master user is managed by the DB cluster. // // *RDS for Db2* // // Constraints: // // - Must be 1 to 16 letters or numbers. // - First character must be a letter. // - Can't be a reserved word for the chosen database engine. // // *RDS for MariaDB* // // Constraints: // // - Must be 1 to 16 letters or numbers. // - Can't be a reserved word for the chosen database engine. // // *RDS for Microsoft SQL Server* // // Constraints: // // - Must be 1 to 128 letters or numbers. // - First character must be a letter. // - Can't be a reserved word for the chosen database engine. // // *RDS for MySQL* // // Constraints: // // - Must be 1 to 16 letters or numbers. // - First character must be a letter. // - Can't be a reserved word for the chosen database engine. // // *RDS for Oracle* // // Constraints: // // - Must be 1 to 30 letters or numbers. // - First character must be a letter. // - Can't be a reserved word for the chosen database engine. // // *RDS for PostgreSQL* // // Constraints: // // - Must be 1 to 63 letters or numbers. // - First character must be a letter. // - Can't be a reserved word for the chosen database engine. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-masterusername // MasterUsername *string `field:"optional" json:"masterUsername" yaml:"masterUsername"` // The password for the master user. The password can include any printable ASCII character except "/", """, or "@". // // *Amazon Aurora* // // Not applicable. The password for the master user is managed by the DB cluster. // // *RDS for Db2* // // Must contain from 8 to 255 characters. // // *RDS for MariaDB* // // Constraints: Must contain from 8 to 41 characters. // // *RDS for Microsoft SQL Server* // // Constraints: Must contain from 8 to 128 characters. // // *RDS for MySQL* // // Constraints: Must contain from 8 to 41 characters. // // *RDS for Oracle* // // Constraints: Must contain from 8 to 30 characters. // // *RDS for PostgreSQL* // // Constraints: Must contain from 8 to 128 characters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-masteruserpassword // MasterUserPassword *string `field:"optional" json:"masterUserPassword" yaml:"masterUserPassword"` // The secret managed by RDS in AWS Secrets Manager for the master user password. // // For more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.* // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-masterusersecret // MasterUserSecret interface{} `field:"optional" json:"masterUserSecret" yaml:"masterUserSecret"` // The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance. // // For more information about this setting, including limitations that apply to it, see [Managing capacity automatically with Amazon RDS storage autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) in the *Amazon RDS User Guide* . // // This setting doesn't apply to the following DB instances: // // - Amazon Aurora (Storage is managed by the DB cluster.) // - RDS Custom. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-maxallocatedstorage // MaxAllocatedStorage *float64 `field:"optional" json:"maxAllocatedStorage" yaml:"maxAllocatedStorage"` // The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. // // To disable collection of Enhanced Monitoring metrics, specify `0` . // // If `MonitoringRoleArn` is specified, then you must set `MonitoringInterval` to a value other than `0` . // // This setting doesn't apply to RDS Custom DB instances. // // Valid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60` // // Default: `0`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-monitoringinterval // // Default: - 0. // MonitoringInterval *float64 `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. // // For example, `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting Up and Enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* . // // If `MonitoringInterval` is set to a value other than `0` , then you must supply a `MonitoringRoleArn` value. // // This setting doesn't apply to RDS Custom DB instances. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-monitoringrolearn // MonitoringRoleArn *string `field:"optional" json:"monitoringRoleArn" yaml:"monitoringRoleArn"` // Specifies whether the DB instance is a Multi-AZ deployment. // // You can't set the `AvailabilityZone` parameter if the DB instance is a Multi-AZ deployment. // // This setting doesn't apply to the following DB instances: // // - Amazon Aurora (DB instance Availability Zones (AZs) are managed by the DB cluster.) // - RDS Custom. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-multiaz // MultiAz interface{} `field:"optional" json:"multiAz" yaml:"multiAz"` // The name of the NCHAR character set for the Oracle DB instance. // // This setting doesn't apply to RDS Custom DB instances. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-ncharcharactersetname // NcharCharacterSetName *string `field:"optional" json:"ncharCharacterSetName" yaml:"ncharCharacterSetName"` // The network type of the DB instance. // // Valid values: // // - `IPV4` // - `DUAL` // // The network type is determined by the `DBSubnetGroup` specified for the DB instance. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ). // // For more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon RDS User Guide.* // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-networktype // NetworkType *string `field:"optional" json:"networkType" yaml:"networkType"` // 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, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-optiongroupname // OptionGroupName *string `field:"optional" json:"optionGroupName" yaml:"optionGroupName"` // The AWS KMS key identifier for encryption of Performance Insights data. // // The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. // // If you do not specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account. Your AWS account has a different default KMS key for each AWS Region. // // For information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-performanceinsightskmskeyid // PerformanceInsightsKmsKeyId *string `field:"optional" json:"performanceInsightsKmsKeyId" yaml:"performanceInsightsKmsKeyId"` // The number of days to retain Performance Insights data. // // This setting doesn't apply to RDS Custom DB instances. // // Valid Values: // // - `7` // - *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31) // - `731` // // Default: `7` days // // If you specify a retention period that isn't valid, such as `94` , Amazon RDS returns an error. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-performanceinsightsretentionperiod // PerformanceInsightsRetentionPeriod *float64 `field:"optional" json:"performanceInsightsRetentionPeriod" yaml:"performanceInsightsRetentionPeriod"` // The port number on which the database accepts connections. // // This setting doesn't apply to Aurora DB instances. The port number is managed by the cluster. // // Valid Values: `1150-65535` // // Default: // // - RDS for Db2 - `50000` // - RDS for MariaDB - `3306` // - RDS for Microsoft SQL Server - `1433` // - RDS for MySQL - `3306` // - RDS for Oracle - `1521` // - RDS for PostgreSQL - `5432` // // Constraints: // // - For RDS for Microsoft SQL Server, the value can't be `1234` , `1434` , `3260` , `3343` , `3389` , `47001` , or `49152-49156` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-port // Port *string `field:"optional" json:"port" yaml:"port"` // The daily time range during which automated backups are created if automated backups are enabled, using the `BackupRetentionPeriod` parameter. // // For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) in the *Amazon RDS User Guide.* // // Constraints: // // - Must be in the format `hh24:mi-hh24:mi` . // - Must be in Universal Coordinated Time (UTC). // - Must not conflict with the preferred maintenance window. // - Must be at least 30 minutes. // // *Amazon Aurora* // // Not applicable. The daily time range for creating automated backups is managed by the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-preferredbackupwindow // PreferredBackupWindow *string `field:"optional" json:"preferredBackupWindow" yaml:"preferredBackupWindow"` // The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). // // Format: `ddd:hh24:mi-ddd:hh24:mi` // // The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see [Adjusting the Preferred DB Instance Maintenance Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) in the *Amazon RDS User Guide.* // // > This property applies when AWS CloudFormation initially creates the DB instance. If you use AWS CloudFormation to update the DB instance, those updates are applied immediately. // // Constraints: Minimum 30-minute window. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-preferredmaintenancewindow // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. // // This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-processorfeatures // ProcessorFeatures interface{} `field:"optional" json:"processorFeatures" yaml:"processorFeatures"` // The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. // // For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide* . // // This setting doesn't apply to RDS Custom DB instances. // // Default: `1` // // Valid Values: `0 - 15`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-promotiontier // // Default: - 1. // PromotionTier *float64 `field:"optional" json:"promotionTier" yaml:"promotionTier"` // Indicates whether the DB instance is an internet-facing instance. // // If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address. // // The default behavior value depends on your VPC setup and the database subnet group. For more information, see the `PubliclyAccessible` parameter in the [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) in the *Amazon RDS API Reference* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-publiclyaccessible // PubliclyAccessible interface{} `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // The open mode of an Oracle read replica. // // For more information, see [Working with Oracle Read Replicas for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) in the *Amazon RDS User Guide* . // // This setting is only supported in RDS for Oracle. // // Default: `open-read-only` // // Valid Values: `open-read-only` or `mounted`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-replicamode // ReplicaMode *string `field:"optional" json:"replicaMode" yaml:"replicaMode"` // The date and time to restore from. // // Constraints: // // - Must be a time in Universal Coordinated Time (UTC) format. // - Must be before the latest restorable time for the DB instance. // - Can't be specified if the `UseLatestRestorableTime` parameter is enabled. // // Example: `2009-09-07T23:45:00Z`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-restoretime // RestoreTime *string `field:"optional" json:"restoreTime" yaml:"restoreTime"` // The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. // // Each DB cluster can have up to 15 read replicas. // // Constraints: // // - Must be the identifier of an existing Multi-AZ DB cluster. // - Can't be specified if the `SourceDBInstanceIdentifier` parameter is also specified. // - The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0. // - The source DB cluster must be in the same AWS Region as the read replica. Cross-Region replication isn't supported. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-sourcedbclusteridentifier // SourceDbClusterIdentifier *string `field:"optional" json:"sourceDbClusterIdentifier" yaml:"sourceDbClusterIdentifier"` // The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, `arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE` . // // This setting doesn't apply to RDS Custom. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-sourcedbinstanceautomatedbackupsarn // SourceDbInstanceAutomatedBackupsArn *string `field:"optional" json:"sourceDbInstanceAutomatedBackupsArn" yaml:"sourceDbInstanceAutomatedBackupsArn"` // If you want to create a read replica DB instance, specify the ID of the source DB instance. // // Each DB instance can have a limited number of read replicas. For more information, see [Working with Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html) in the *Amazon RDS User Guide* . // // For information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* . // // The `SourceDBInstanceIdentifier` property determines whether a DB instance is a read replica. If you remove the `SourceDBInstanceIdentifier` property from your template and then update your stack, AWS CloudFormation promotes the read replica to a standalone DB instance. // // If you specify the `UseLatestRestorableTime` or `RestoreTime` properties in conjunction with the `SourceDBInstanceIdentifier` property, RDS restores the DB instance to the requested point in time, thereby creating a new DB instance. // // > - If you specify a source DB instance that uses VPC security groups, we recommend that you specify the `VPCSecurityGroups` property. If you don't specify the property, the read replica inherits the value of the `VPCSecurityGroups` property from the source DB when you create the replica. However, if you update the stack, AWS CloudFormation reverts the replica's `VPCSecurityGroups` property to the default value because it's not defined in the stack's template. This change might cause unexpected issues. // > - Read replicas don't support deletion policies. AWS CloudFormation ignores any deletion policy that's associated with a read replica. // > - If you specify `SourceDBInstanceIdentifier` , don't specify the `DBSnapshotIdentifier` property. You can't create a read replica from a snapshot. // > - Don't set the `BackupRetentionPeriod` , `DBName` , `MasterUsername` , `MasterUserPassword` , and `PreferredBackupWindow` properties. The database attributes are inherited from the source DB instance, and backups are disabled for read replicas. // > - If the source DB instance is in a different region than the read replica, specify the source region in `SourceRegion` , and specify an ARN for a valid DB instance in `SourceDBInstanceIdentifier` . For more information, see [Constructing a Amazon RDS Amazon Resource Name (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN) in the *Amazon RDS User Guide* . // > - For DB instances in Amazon Aurora clusters, don't specify this property. Amazon RDS automatically assigns writer and reader DB instances. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-sourcedbinstanceidentifier // SourceDbInstanceIdentifier *string `field:"optional" json:"sourceDbInstanceIdentifier" yaml:"sourceDbInstanceIdentifier"` // The resource ID of the source DB instance from which to restore. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-sourcedbiresourceid // SourceDbiResourceId *string `field:"optional" json:"sourceDbiResourceId" yaml:"sourceDbiResourceId"` // The ID of the region that contains the source DB instance for the read replica. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-sourceregion // SourceRegion *string `field:"optional" json:"sourceRegion" yaml:"sourceRegion"` // A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted. // // If you specify the `KmsKeyId` property, then you must enable encryption. // // If you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used. // // If you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup. // // If you specify `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the snapshot. // // *Amazon Aurora* // // Not applicable. The encryption for DB instances is managed by the DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-storageencrypted // StorageEncrypted interface{} `field:"optional" json:"storageEncrypted" yaml:"storageEncrypted"` // Specifies the storage throughput value for the DB instance. This setting applies only to the `gp3` storage type. // // This setting doesn't apply to RDS Custom or Amazon Aurora. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-storagethroughput // StorageThroughput *float64 `field:"optional" json:"storageThroughput" yaml:"storageThroughput"` // The storage type to associate with the DB instance. // // If you specify `io1` , `io2` , or `gp3` , you must also include a value for the `Iops` parameter. // // This setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster. // // Valid Values: `gp2 | gp3 | io1 | io2 | standard` // // Default: `io1` , if the `Iops` parameter is specified. Otherwise, `gp2` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-storagetype // StorageType *string `field:"optional" json:"storageType" yaml:"storageType"` // Tags to assign to the DB instance. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-tdecredentialarn // // Deprecated: this property has been deprecated. TdeCredentialArn *string `field:"optional" json:"tdeCredentialArn" yaml:"tdeCredentialArn"` // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-tdecredentialpassword // // Deprecated: this property has been deprecated. TdeCredentialPassword *string `field:"optional" json:"tdeCredentialPassword" yaml:"tdeCredentialPassword"` // The time zone of the DB instance. // // The time zone parameter is currently supported only by [RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone) and [RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-timezone // Timezone *string `field:"optional" json:"timezone" yaml:"timezone"` // Specifies whether the DB instance class of the DB instance uses its default processor features. // // This setting doesn't apply to RDS Custom DB instances. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-usedefaultprocessorfeatures // UseDefaultProcessorFeatures interface{} `field:"optional" json:"useDefaultProcessorFeatures" yaml:"useDefaultProcessorFeatures"` // Specifies whether the DB instance is restored from the latest backup time. // // By default, the DB instance isn't restored from the latest backup time. // // Constraints: // // - Can't be specified if the `RestoreTime` parameter is provided. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-uselatestrestorabletime // UseLatestRestorableTime interface{} `field:"optional" json:"useLatestRestorableTime" yaml:"useLatestRestorableTime"` // A list of the VPC security group IDs to assign to the DB instance. // // The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template. // // If you plan to update the resource, don't specify VPC security groups in a shared VPC. // // If you set `VPCSecurityGroups` , you must not set [`DBSecurityGroups`](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) , and vice versa. // // > You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind: // > // > - You can't revert to using an RDS security group after you establish a VPC security group membership. // > - When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group. // > - To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [`DBSecurityGroups`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property. // // To avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template. // // *Amazon Aurora* // // Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-vpcsecuritygroups // VpcSecurityGroups *[]*string `field:"optional" json:"vpcSecurityGroups" yaml:"vpcSecurityGroups"` }
Properties for defining a `CfnDBInstance`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBInstanceProps := &CfnDBInstanceProps{ AllocatedStorage: jsii.String("allocatedStorage"), AllowMajorVersionUpgrade: jsii.Boolean(false), AssociatedRoles: []interface{}{ &DBInstanceRoleProperty{ FeatureName: jsii.String("featureName"), RoleArn: jsii.String("roleArn"), }, }, AutomaticBackupReplicationKmsKeyId: jsii.String("automaticBackupReplicationKmsKeyId"), AutomaticBackupReplicationRegion: jsii.String("automaticBackupReplicationRegion"), AutoMinorVersionUpgrade: jsii.Boolean(false), AvailabilityZone: jsii.String("availabilityZone"), BackupRetentionPeriod: jsii.Number(123), CaCertificateIdentifier: jsii.String("caCertificateIdentifier"), CertificateDetails: &CertificateDetailsProperty{ CaIdentifier: jsii.String("caIdentifier"), ValidTill: jsii.String("validTill"), }, CertificateRotationRestart: jsii.Boolean(false), CharacterSetName: jsii.String("characterSetName"), CopyTagsToSnapshot: jsii.Boolean(false), CustomIamInstanceProfile: jsii.String("customIamInstanceProfile"), DbClusterIdentifier: jsii.String("dbClusterIdentifier"), DbClusterSnapshotIdentifier: jsii.String("dbClusterSnapshotIdentifier"), DbInstanceClass: jsii.String("dbInstanceClass"), DbInstanceIdentifier: jsii.String("dbInstanceIdentifier"), DbName: jsii.String("dbName"), DbParameterGroupName: jsii.String("dbParameterGroupName"), DbSecurityGroups: []*string{ jsii.String("dbSecurityGroups"), }, DbSnapshotIdentifier: jsii.String("dbSnapshotIdentifier"), DbSubnetGroupName: jsii.String("dbSubnetGroupName"), DedicatedLogVolume: jsii.Boolean(false), DeleteAutomatedBackups: jsii.Boolean(false), DeletionProtection: jsii.Boolean(false), Domain: jsii.String("domain"), DomainAuthSecretArn: jsii.String("domainAuthSecretArn"), DomainDnsIps: []*string{ jsii.String("domainDnsIps"), }, DomainFqdn: jsii.String("domainFqdn"), DomainIamRoleName: jsii.String("domainIamRoleName"), DomainOu: jsii.String("domainOu"), EnableCloudwatchLogsExports: []*string{ jsii.String("enableCloudwatchLogsExports"), }, EnableIamDatabaseAuthentication: jsii.Boolean(false), EnablePerformanceInsights: jsii.Boolean(false), Endpoint: &EndpointProperty{ Address: jsii.String("address"), HostedZoneId: jsii.String("hostedZoneId"), Port: jsii.String("port"), }, Engine: jsii.String("engine"), EngineLifecycleSupport: jsii.String("engineLifecycleSupport"), EngineVersion: jsii.String("engineVersion"), Iops: jsii.Number(123), KmsKeyId: jsii.String("kmsKeyId"), LicenseModel: jsii.String("licenseModel"), ManageMasterUserPassword: jsii.Boolean(false), MasterUsername: jsii.String("masterUsername"), MasterUserPassword: jsii.String("masterUserPassword"), MasterUserSecret: &MasterUserSecretProperty{ KmsKeyId: jsii.String("kmsKeyId"), SecretArn: jsii.String("secretArn"), }, MaxAllocatedStorage: jsii.Number(123), MonitoringInterval: jsii.Number(123), MonitoringRoleArn: jsii.String("monitoringRoleArn"), MultiAz: jsii.Boolean(false), NcharCharacterSetName: jsii.String("ncharCharacterSetName"), NetworkType: jsii.String("networkType"), OptionGroupName: jsii.String("optionGroupName"), PerformanceInsightsKmsKeyId: jsii.String("performanceInsightsKmsKeyId"), PerformanceInsightsRetentionPeriod: jsii.Number(123), Port: jsii.String("port"), PreferredBackupWindow: jsii.String("preferredBackupWindow"), PreferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), ProcessorFeatures: []interface{}{ &ProcessorFeatureProperty{ Name: jsii.String("name"), Value: jsii.String("value"), }, }, PromotionTier: jsii.Number(123), PubliclyAccessible: jsii.Boolean(false), ReplicaMode: jsii.String("replicaMode"), RestoreTime: jsii.String("restoreTime"), SourceDbClusterIdentifier: jsii.String("sourceDbClusterIdentifier"), SourceDbInstanceAutomatedBackupsArn: jsii.String("sourceDbInstanceAutomatedBackupsArn"), SourceDbInstanceIdentifier: jsii.String("sourceDbInstanceIdentifier"), SourceDbiResourceId: jsii.String("sourceDbiResourceId"), SourceRegion: jsii.String("sourceRegion"), StorageEncrypted: jsii.Boolean(false), StorageThroughput: jsii.Number(123), StorageType: jsii.String("storageType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TdeCredentialArn: jsii.String("tdeCredentialArn"), TdeCredentialPassword: jsii.String("tdeCredentialPassword"), Timezone: jsii.String("timezone"), UseDefaultProcessorFeatures: jsii.Boolean(false), UseLatestRestorableTime: jsii.Boolean(false), VpcSecurityGroups: []*string{ jsii.String("vpcSecurityGroups"), }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html
type CfnDBInstance_CertificateDetailsProperty ¶ added in v2.62.0
type CfnDBInstance_CertificateDetailsProperty struct { // The CA identifier of the CA certificate used for the DB instance's server certificate. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-certificatedetails.html#cfn-rds-dbinstance-certificatedetails-caidentifier // CaIdentifier *string `field:"optional" json:"caIdentifier" yaml:"caIdentifier"` // The expiration date of the DB instance’s server certificate. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-certificatedetails.html#cfn-rds-dbinstance-certificatedetails-validtill // ValidTill *string `field:"optional" json:"validTill" yaml:"validTill"` }
The details of the DB instance’s server certificate.
For more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" certificateDetailsProperty := &CertificateDetailsProperty{ CaIdentifier: jsii.String("caIdentifier"), ValidTill: jsii.String("validTill"), }
type CfnDBInstance_DBInstanceRoleProperty ¶
type CfnDBInstance_DBInstanceRoleProperty struct { // The name of the feature associated with the AWS Identity and Access Management (IAM) role. // // IAM roles that are associated with a DB instance grant permission for the DB instance to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-featurename // FeatureName *string `field:"required" json:"featureName" yaml:"featureName"` // The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-rolearn // RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` }
Information about an AWS Identity and Access Management (IAM) role that is associated with a DB instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" dBInstanceRoleProperty := &DBInstanceRoleProperty{ FeatureName: jsii.String("featureName"), RoleArn: jsii.String("roleArn"), }
type CfnDBInstance_EndpointProperty ¶ added in v2.38.0
type CfnDBInstance_EndpointProperty struct { // Specifies the DNS address of the DB instance. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-endpoint.html#cfn-rds-dbinstance-endpoint-address // Address *string `field:"optional" json:"address" yaml:"address"` // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-endpoint.html#cfn-rds-dbinstance-endpoint-hostedzoneid // HostedZoneId *string `field:"optional" json:"hostedZoneId" yaml:"hostedZoneId"` // Specifies the port that the database engine is listening on. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-endpoint.html#cfn-rds-dbinstance-endpoint-port // Port *string `field:"optional" json:"port" yaml:"port"` }
This data type represents the information you need to connect to an Amazon RDS DB instance.
This data type is used as a response element in the following actions:
- `CreateDBInstance` - `DescribeDBInstances` - `DeleteDBInstance`
For the data structure that represents Amazon Aurora DB cluster endpoints, see `DBClusterEndpoint` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" endpointProperty := &EndpointProperty{ Address: jsii.String("address"), HostedZoneId: jsii.String("hostedZoneId"), Port: jsii.String("port"), }
type CfnDBInstance_MasterUserSecretProperty ¶ added in v2.61.0
type CfnDBInstance_MasterUserSecretProperty struct { // The AWS KMS key identifier that is used to encrypt the secret. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-masterusersecret.html#cfn-rds-dbinstance-masterusersecret-kmskeyid // KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // The Amazon Resource Name (ARN) of the secret. // // This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance-return-values) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-masterusersecret.html#cfn-rds-dbinstance-masterusersecret-secretarn // SecretArn *string `field:"optional" json:"secretArn" yaml:"secretArn"` }
The `MasterUserSecret` return value specifies the secret managed by RDS in AWS Secrets Manager for the master user password.
For more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" masterUserSecretProperty := &MasterUserSecretProperty{ KmsKeyId: jsii.String("kmsKeyId"), SecretArn: jsii.String("secretArn"), }
type CfnDBInstance_ProcessorFeatureProperty ¶
type CfnDBInstance_ProcessorFeatureProperty struct { // The name of the processor feature. // // Valid names are `coreCount` and `threadsPerCore` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-processorfeature.html#cfn-rds-dbinstance-processorfeature-name // Name *string `field:"optional" json:"name" yaml:"name"` // The value of a processor feature. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-processorfeature.html#cfn-rds-dbinstance-processorfeature-value // Value *string `field:"optional" json:"value" yaml:"value"` }
The `ProcessorFeature` property type specifies the processor features of a DB instance class.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" processorFeatureProperty := &ProcessorFeatureProperty{ Name: jsii.String("name"), Value: jsii.String("value"), }
type CfnDBParameterGroup ¶
type CfnDBParameterGroup interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The name of the DB parameter group. AttrDbParameterGroupName() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The name of the DB parameter group. DbParameterGroupName() *string SetDbParameterGroupName(val *string) // Provides the customer-specified description for this DB parameter group. Description() *string SetDescription(val *string) // The DB parameter group family name. Family() *string SetFamily(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // An array of parameter names and values for the parameter update. Parameters() interface{} SetParameters(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Tags to assign to the DB parameter group. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBParameterGroup` resource creates a custom parameter group for an RDS database family.
This type can be declared in a template and referenced in the `DBParameterGroupName` property of an `[AWS::RDS::DBInstance](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html)` resource.
For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide* .
For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide* .
> Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var parameters interface{} cfnDBParameterGroup := awscdk.Aws_rds.NewCfnDBParameterGroup(this, jsii.String("MyCfnDBParameterGroup"), &CfnDBParameterGroupProps{ Description: jsii.String("description"), Family: jsii.String("family"), // the properties below are optional DbParameterGroupName: jsii.String("dbParameterGroupName"), Parameters: parameters, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html
func NewCfnDBParameterGroup ¶
func NewCfnDBParameterGroup(scope constructs.Construct, id *string, props *CfnDBParameterGroupProps) CfnDBParameterGroup
type CfnDBParameterGroupProps ¶
type CfnDBParameterGroupProps struct { // Provides the customer-specified description for this DB parameter group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html#cfn-rds-dbparametergroup-description // Description *string `field:"required" json:"description" yaml:"description"` // The DB parameter group family name. // // A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family. // // To list all of the available parameter group families for a DB engine, use the following command: // // `aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine <engine>` // // For example, to list all of the available parameter group families for the MySQL DB engine, use the following command: // // `aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine mysql` // // > The output contains duplicates. // // The following are the valid DB engine values: // // - `aurora-mysql` // - `aurora-postgresql` // - `db2-ae` // - `db2-se` // - `mysql` // - `oracle-ee` // - `oracle-ee-cdb` // - `oracle-se2` // - `oracle-se2-cdb` // - `postgres` // - `sqlserver-ee` // - `sqlserver-se` // - `sqlserver-ex` // - `sqlserver-web`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html#cfn-rds-dbparametergroup-family // Family *string `field:"required" json:"family" yaml:"family"` // The name of the DB parameter group. // // Constraints: // // - Must be 1 to 255 letters, numbers, or hyphens. // - First character must be a letter // - Can't end with a hyphen or contain two consecutive hyphens // // If you don't specify a value for `DBParameterGroupName` property, a name is automatically created for the DB parameter group. // // > This value is stored as a lowercase string. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html#cfn-rds-dbparametergroup-dbparametergroupname // DbParameterGroupName *string `field:"optional" json:"dbParameterGroupName" yaml:"dbParameterGroupName"` // An array of parameter names and values for the parameter update. // // You must specify at least one parameter name and value. // // For more information about parameter groups, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide* , or [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide* . // // > AWS CloudFormation doesn't support specifying an apply method for each individual parameter. The default apply method for each parameter is used. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html#cfn-rds-dbparametergroup-parameters // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` // Tags to assign to the DB parameter group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html#cfn-rds-dbparametergroup-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnDBParameterGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var parameters interface{} cfnDBParameterGroupProps := &CfnDBParameterGroupProps{ Description: jsii.String("description"), Family: jsii.String("family"), // the properties below are optional DbParameterGroupName: jsii.String("dbParameterGroupName"), Parameters: parameters, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html
type CfnDBProxy ¶
type CfnDBProxy interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggableV2 // The Amazon Resource Name (ARN) for the proxy. AttrDbProxyArn() *string // The endpoint that you can use to connect to the DB proxy. // // You include the endpoint value in the connection string for a database client application. AttrEndpoint() *string // The VPC ID to associate with the DB proxy. AttrVpcId() *string // The authorization mechanism that the proxy uses. Auth() interface{} SetAuth(val interface{}) // Tag Manager which manages the tags for this resource. CdkTagManager() awscdk.TagManager // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The identifier for the proxy. DbProxyName() *string SetDbProxyName(val *string) // Specifies whether the proxy includes detailed information about SQL statements in its logs. DebugLogging() interface{} SetDebugLogging(val interface{}) // The kinds of databases that the proxy can connect to. EngineFamily() *string SetEngineFamily(val *string) // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. IdleClientTimeout() *float64 SetIdleClientTimeout(val *float64) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. RequireTls() interface{} SetRequireTls(val interface{}) // The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager. RoleArn() *string SetRoleArn(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy. Tags() *[]*CfnDBProxy_TagFormatProperty SetTags(val *[]*CfnDBProxy_TagFormatProperty) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // One or more VPC security group IDs to associate with the new proxy. VpcSecurityGroupIds() *[]*string SetVpcSecurityGroupIds(val *[]*string) // One or more VPC subnet IDs to associate with the new proxy. VpcSubnetIds() *[]*string SetVpcSubnetIds(val *[]*string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBProxy` resource creates or updates a DB proxy.
For information about RDS Proxy for Amazon RDS, see [Managing Connections with Amazon RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html) in the *Amazon RDS User Guide* .
For information about RDS Proxy for Amazon Aurora, see [Managing Connections with Amazon RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html) in the *Amazon Aurora User Guide* .
> Limitations apply to RDS Proxy, including DB engine version limitations and AWS Region limitations. > > For information about limitations that apply to RDS Proxy for Amazon RDS, see [Limitations for RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html#rds-proxy.limitations) in the *Amazon RDS User Guide* . > > For information about that apply to RDS Proxy for Amazon Aurora, see [Limitations for RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html#rds-proxy.limitations) in the *Amazon Aurora User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBProxy := awscdk.Aws_rds.NewCfnDBProxy(this, jsii.String("MyCfnDBProxy"), &CfnDBProxyProps{ Auth: []interface{}{ &AuthFormatProperty{ AuthScheme: jsii.String("authScheme"), ClientPasswordAuthType: jsii.String("clientPasswordAuthType"), Description: jsii.String("description"), IamAuth: jsii.String("iamAuth"), SecretArn: jsii.String("secretArn"), }, }, DbProxyName: jsii.String("dbProxyName"), EngineFamily: jsii.String("engineFamily"), RoleArn: jsii.String("roleArn"), VpcSubnetIds: []*string{ jsii.String("vpcSubnetIds"), }, // the properties below are optional DebugLogging: jsii.Boolean(false), IdleClientTimeout: jsii.Number(123), RequireTls: jsii.Boolean(false), Tags: []tagFormatProperty{ &tagFormatProperty{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, VpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html
func NewCfnDBProxy ¶
func NewCfnDBProxy(scope constructs.Construct, id *string, props *CfnDBProxyProps) CfnDBProxy
type CfnDBProxyEndpoint ¶
type CfnDBProxyEndpoint interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggableV2 // The Amazon Resource Name (ARN) for the DB proxy endpoint. AttrDbProxyEndpointArn() *string // The endpoint that you can use to connect to the DB proxy. // // You include the endpoint value in the connection string for a database client application. AttrEndpoint() *string // Indicates whether this endpoint is the default endpoint for the associated DB proxy. // // Default DB proxy endpoints always have read/write capability. Other endpoints that you associate with the DB proxy can be either read/write or read-only. AttrIsDefault() awscdk.IResolvable // Provides the VPC ID of the DB proxy endpoint. AttrVpcId() *string // Tag Manager which manages the tags for this resource. CdkTagManager() awscdk.TagManager // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The name of the DB proxy endpoint to create. DbProxyEndpointName() *string SetDbProxyEndpointName(val *string) // The name of the DB proxy associated with the DB proxy endpoint that you create. DbProxyName() *string SetDbProxyName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy. Tags() *[]*CfnDBProxyEndpoint_TagFormatProperty SetTags(val *[]*CfnDBProxyEndpoint_TagFormatProperty) // A value that indicates whether the DB proxy endpoint can be used for read/write or read-only operations. TargetRole() *string SetTargetRole(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The VPC security group IDs for the DB proxy endpoint that you create. VpcSecurityGroupIds() *[]*string SetVpcSecurityGroupIds(val *[]*string) // The VPC subnet IDs for the DB proxy endpoint that you create. VpcSubnetIds() *[]*string SetVpcSubnetIds(val *[]*string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBProxyEndpoint` resource creates or updates a DB proxy endpoint.
You can use custom proxy endpoints to access a proxy through a different VPC than the proxy's default VPC.
For more information about RDS Proxy, see [AWS::RDS::DBProxy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html) .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBProxyEndpoint := awscdk.Aws_rds.NewCfnDBProxyEndpoint(this, jsii.String("MyCfnDBProxyEndpoint"), &CfnDBProxyEndpointProps{ DbProxyEndpointName: jsii.String("dbProxyEndpointName"), DbProxyName: jsii.String("dbProxyName"), VpcSubnetIds: []*string{ jsii.String("vpcSubnetIds"), }, // the properties below are optional Tags: []tagFormatProperty{ &tagFormatProperty{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TargetRole: jsii.String("targetRole"), VpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html
func NewCfnDBProxyEndpoint ¶
func NewCfnDBProxyEndpoint(scope constructs.Construct, id *string, props *CfnDBProxyEndpointProps) CfnDBProxyEndpoint
type CfnDBProxyEndpointProps ¶
type CfnDBProxyEndpointProps struct { // The name of the DB proxy endpoint to create. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html#cfn-rds-dbproxyendpoint-dbproxyendpointname // DbProxyEndpointName *string `field:"required" json:"dbProxyEndpointName" yaml:"dbProxyEndpointName"` // The name of the DB proxy associated with the DB proxy endpoint that you create. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html#cfn-rds-dbproxyendpoint-dbproxyname // DbProxyName *string `field:"required" json:"dbProxyName" yaml:"dbProxyName"` // The VPC subnet IDs for the DB proxy endpoint that you create. // // You can specify a different set of subnet IDs than for the original DB proxy. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html#cfn-rds-dbproxyendpoint-vpcsubnetids // VpcSubnetIds *[]*string `field:"required" json:"vpcSubnetIds" yaml:"vpcSubnetIds"` // An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html#cfn-rds-dbproxyendpoint-tags // Tags *[]*CfnDBProxyEndpoint_TagFormatProperty `field:"optional" json:"tags" yaml:"tags"` // A value that indicates whether the DB proxy endpoint can be used for read/write or read-only operations. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html#cfn-rds-dbproxyendpoint-targetrole // TargetRole *string `field:"optional" json:"targetRole" yaml:"targetRole"` // The VPC security group IDs for the DB proxy endpoint that you create. // // You can specify a different set of security group IDs than for the original DB proxy. The default is the default security group for the VPC. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html#cfn-rds-dbproxyendpoint-vpcsecuritygroupids // VpcSecurityGroupIds *[]*string `field:"optional" json:"vpcSecurityGroupIds" yaml:"vpcSecurityGroupIds"` }
Properties for defining a `CfnDBProxyEndpoint`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBProxyEndpointProps := &CfnDBProxyEndpointProps{ DbProxyEndpointName: jsii.String("dbProxyEndpointName"), DbProxyName: jsii.String("dbProxyName"), VpcSubnetIds: []*string{ jsii.String("vpcSubnetIds"), }, // the properties below are optional Tags: []tagFormatProperty{ &tagFormatProperty{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TargetRole: jsii.String("targetRole"), VpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html
type CfnDBProxyEndpoint_TagFormatProperty ¶
type CfnDBProxyEndpoint_TagFormatProperty struct { // A key is the required name of the tag. // // The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxyendpoint-tagformat.html#cfn-rds-dbproxyendpoint-tagformat-key // Key *string `field:"optional" json:"key" yaml:"key"` // A value is the optional value of the tag. // // The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxyendpoint-tagformat.html#cfn-rds-dbproxyendpoint-tagformat-value // Value *string `field:"optional" json:"value" yaml:"value"` }
Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tagFormatProperty := &TagFormatProperty{ Key: jsii.String("key"), Value: jsii.String("value"), }
type CfnDBProxyProps ¶
type CfnDBProxyProps struct { // The authorization mechanism that the proxy uses. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-auth // Auth interface{} `field:"required" json:"auth" yaml:"auth"` // The identifier for the proxy. // // This name must be unique for all proxies owned by your AWS account in the specified AWS Region . An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-dbproxyname // DbProxyName *string `field:"required" json:"dbProxyName" yaml:"dbProxyName"` // The kinds of databases that the proxy can connect to. // // This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL` . For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL` . For RDS for Microsoft SQL Server, specify `SQLSERVER` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-enginefamily // EngineFamily *string `field:"required" json:"engineFamily" yaml:"engineFamily"` // The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-rolearn // RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // One or more VPC subnet IDs to associate with the new proxy. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-vpcsubnetids // VpcSubnetIds *[]*string `field:"required" json:"vpcSubnetIds" yaml:"vpcSubnetIds"` // Specifies whether the proxy includes detailed information about SQL statements in its logs. // // This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-debuglogging // DebugLogging interface{} `field:"optional" json:"debugLogging" yaml:"debugLogging"` // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. // // You can set this value higher or lower than the connection timeout limit for the associated database. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-idleclienttimeout // IdleClientTimeout *float64 `field:"optional" json:"idleClientTimeout" yaml:"idleClientTimeout"` // Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. // // By enabling this setting, you can enforce encrypted TLS connections to the proxy. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-requiretls // RequireTls interface{} `field:"optional" json:"requireTls" yaml:"requireTls"` // An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-tags // Tags *[]*CfnDBProxy_TagFormatProperty `field:"optional" json:"tags" yaml:"tags"` // One or more VPC security group IDs to associate with the new proxy. // // If you plan to update the resource, don't specify VPC security groups in a shared VPC. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#cfn-rds-dbproxy-vpcsecuritygroupids // VpcSecurityGroupIds *[]*string `field:"optional" json:"vpcSecurityGroupIds" yaml:"vpcSecurityGroupIds"` }
Properties for defining a `CfnDBProxy`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBProxyProps := &CfnDBProxyProps{ Auth: []interface{}{ &AuthFormatProperty{ AuthScheme: jsii.String("authScheme"), ClientPasswordAuthType: jsii.String("clientPasswordAuthType"), Description: jsii.String("description"), IamAuth: jsii.String("iamAuth"), SecretArn: jsii.String("secretArn"), }, }, DbProxyName: jsii.String("dbProxyName"), EngineFamily: jsii.String("engineFamily"), RoleArn: jsii.String("roleArn"), VpcSubnetIds: []*string{ jsii.String("vpcSubnetIds"), }, // the properties below are optional DebugLogging: jsii.Boolean(false), IdleClientTimeout: jsii.Number(123), RequireTls: jsii.Boolean(false), Tags: []tagFormatProperty{ &tagFormatProperty{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, VpcSecurityGroupIds: []*string{ jsii.String("vpcSecurityGroupIds"), }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html
type CfnDBProxyTargetGroup ¶
type CfnDBProxyTargetGroup interface { awscdk.CfnResource awscdk.IInspectable // The Amazon Resource Name (ARN) representing the target group. AttrTargetGroupArn() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Displays the settings that control the size and behavior of the connection pool associated with a `DBProxyTarget` . ConnectionPoolConfigurationInfo() interface{} SetConnectionPoolConfigurationInfo(val interface{}) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // One or more DB cluster identifiers. DbClusterIdentifiers() *[]*string SetDbClusterIdentifiers(val *[]*string) // One or more DB instance identifiers. DbInstanceIdentifiers() *[]*string SetDbInstanceIdentifiers(val *[]*string) // The identifier of the `DBProxy` that is associated with the `DBProxyTargetGroup` . DbProxyName() *string SetDbProxyName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The identifier for the target group. TargetGroupName() *string SetTargetGroupName(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBProxyTargetGroup` resource represents a set of RDS DB instances, Aurora DB clusters, or both that a proxy can connect to.
Currently, each target group is associated with exactly one RDS DB instance or Aurora DB cluster.
This data type is used as a response element in the `DescribeDBProxyTargetGroups` action.
For information about RDS Proxy for Amazon RDS, see [Managing Connections with Amazon RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html) in the *Amazon RDS User Guide* .
For information about RDS Proxy for Amazon Aurora, see [Managing Connections with Amazon RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html) in the *Amazon Aurora User Guide* .
For a sample template that creates a DB proxy and registers a DB instance, see [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html#aws-resource-rds-dbproxy--examples) in AWS::RDS::DBProxy.
> Limitations apply to RDS Proxy, including DB engine version limitations and AWS Region limitations. > > For information about limitations that apply to RDS Proxy for Amazon RDS, see [Limitations for RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html#rds-proxy.limitations) in the *Amazon RDS User Guide* . > > For information about that apply to RDS Proxy for Amazon Aurora, see [Limitations for RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html#rds-proxy.limitations) in the *Amazon Aurora User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBProxyTargetGroup := awscdk.Aws_rds.NewCfnDBProxyTargetGroup(this, jsii.String("MyCfnDBProxyTargetGroup"), &CfnDBProxyTargetGroupProps{ DbProxyName: jsii.String("dbProxyName"), TargetGroupName: jsii.String("targetGroupName"), // the properties below are optional ConnectionPoolConfigurationInfo: &ConnectionPoolConfigurationInfoFormatProperty{ ConnectionBorrowTimeout: jsii.Number(123), InitQuery: jsii.String("initQuery"), MaxConnectionsPercent: jsii.Number(123), MaxIdleConnectionsPercent: jsii.Number(123), SessionPinningFilters: []*string{ jsii.String("sessionPinningFilters"), }, }, DbClusterIdentifiers: []*string{ jsii.String("dbClusterIdentifiers"), }, DbInstanceIdentifiers: []*string{ jsii.String("dbInstanceIdentifiers"), }, })
func NewCfnDBProxyTargetGroup ¶
func NewCfnDBProxyTargetGroup(scope constructs.Construct, id *string, props *CfnDBProxyTargetGroupProps) CfnDBProxyTargetGroup
type CfnDBProxyTargetGroupProps ¶
type CfnDBProxyTargetGroupProps struct { // The identifier of the `DBProxy` that is associated with the `DBProxyTargetGroup` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbproxyname // DbProxyName *string `field:"required" json:"dbProxyName" yaml:"dbProxyName"` // The identifier for the target group. // // > Currently, this property must be set to `default` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-targetgroupname // TargetGroupName *string `field:"required" json:"targetGroupName" yaml:"targetGroupName"` // Displays the settings that control the size and behavior of the connection pool associated with a `DBProxyTarget` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfo // ConnectionPoolConfigurationInfo interface{} `field:"optional" json:"connectionPoolConfigurationInfo" yaml:"connectionPoolConfigurationInfo"` // One or more DB cluster identifiers. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbclusteridentifiers // DbClusterIdentifiers *[]*string `field:"optional" json:"dbClusterIdentifiers" yaml:"dbClusterIdentifiers"` // One or more DB instance identifiers. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html#cfn-rds-dbproxytargetgroup-dbinstanceidentifiers // DbInstanceIdentifiers *[]*string `field:"optional" json:"dbInstanceIdentifiers" yaml:"dbInstanceIdentifiers"` }
Properties for defining a `CfnDBProxyTargetGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBProxyTargetGroupProps := &CfnDBProxyTargetGroupProps{ DbProxyName: jsii.String("dbProxyName"), TargetGroupName: jsii.String("targetGroupName"), // the properties below are optional ConnectionPoolConfigurationInfo: &ConnectionPoolConfigurationInfoFormatProperty{ ConnectionBorrowTimeout: jsii.Number(123), InitQuery: jsii.String("initQuery"), MaxConnectionsPercent: jsii.Number(123), MaxIdleConnectionsPercent: jsii.Number(123), SessionPinningFilters: []*string{ jsii.String("sessionPinningFilters"), }, }, DbClusterIdentifiers: []*string{ jsii.String("dbClusterIdentifiers"), }, DbInstanceIdentifiers: []*string{ jsii.String("dbInstanceIdentifiers"), }, }
type CfnDBProxyTargetGroup_ConnectionPoolConfigurationInfoFormatProperty ¶
type CfnDBProxyTargetGroup_ConnectionPoolConfigurationInfoFormatProperty struct { // The number of seconds for a proxy to wait for a connection to become available in the connection pool. // // This setting only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions. For an unlimited wait time, specify `0` . // // Default: `120` // // Constraints: // // - Must be between 0 and 3600. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-connectionborrowtimeout // ConnectionBorrowTimeout *float64 `field:"optional" json:"connectionBorrowTimeout" yaml:"connectionBorrowTimeout"` // One or more SQL statements for the proxy to run when opening each new database connection. // // Typically used with `SET` statements to make sure that each connection has identical settings such as time zone and character set. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single `SET` statement, such as `SET x=1, y=2` . // // Default: no initialization query. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-initquery // InitQuery *string `field:"optional" json:"initQuery" yaml:"initQuery"` // The maximum size of the connection pool for each target in a target group. // // The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group. // // If you specify `MaxIdleConnectionsPercent` , then you must also include a value for this parameter. // // Default: `10` for RDS for Microsoft SQL Server, and `100` for all other engines // // Constraints: // // - Must be between 1 and 100. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-maxconnectionspercent // MaxConnectionsPercent *float64 `field:"optional" json:"maxConnectionsPercent" yaml:"maxConnectionsPercent"` // A value that controls how actively the proxy closes idle database connections in the connection pool. // // The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database. // // If you specify this parameter, then you must also include a value for `MaxConnectionsPercent` . // // Default: The default value is half of the value of `MaxConnectionsPercent` . For example, if `MaxConnectionsPercent` is 80, then the default value of `MaxIdleConnectionsPercent` is 40. If the value of `MaxConnectionsPercent` isn't specified, then for SQL Server, `MaxIdleConnectionsPercent` is `5` , and for all other engines, the default is `50` . // // Constraints: // // - Must be between 0 and the value of `MaxConnectionsPercent` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-maxidleconnectionspercent // MaxIdleConnectionsPercent *float64 `field:"optional" json:"maxIdleConnectionsPercent" yaml:"maxIdleConnectionsPercent"` // Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. // // Including an item in the list exempts that class of SQL operations from the pinning behavior. // // Default: no session pinning filters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-sessionpinningfilters // SessionPinningFilters *[]*string `field:"optional" json:"sessionPinningFilters" yaml:"sessionPinningFilters"` }
Specifies the settings that control the size and behavior of the connection pool associated with a `DBProxyTargetGroup` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" connectionPoolConfigurationInfoFormatProperty := &ConnectionPoolConfigurationInfoFormatProperty{ ConnectionBorrowTimeout: jsii.Number(123), InitQuery: jsii.String("initQuery"), MaxConnectionsPercent: jsii.Number(123), MaxIdleConnectionsPercent: jsii.Number(123), SessionPinningFilters: []*string{ jsii.String("sessionPinningFilters"), }, }
type CfnDBProxy_AuthFormatProperty ¶
type CfnDBProxy_AuthFormatProperty struct { // The type of authentication that the proxy uses for connections from the proxy to the underlying database. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-authscheme // AuthScheme *string `field:"optional" json:"authScheme" yaml:"authScheme"` // Specifies the details of authentication used by a proxy to log in as a specific database user. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-clientpasswordauthtype // ClientPasswordAuthType *string `field:"optional" json:"clientPasswordAuthType" yaml:"clientPasswordAuthType"` // A user-specified description about the authentication used by a proxy to log in as a specific database user. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-description // Description *string `field:"optional" json:"description" yaml:"description"` // A value that indicates whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. // // The `ENABLED` value is valid only for proxies with RDS for Microsoft SQL Server. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-iamauth // IamAuth *string `field:"optional" json:"iamAuth" yaml:"iamAuth"` // The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. // // These secrets are stored within Amazon Secrets Manager. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-authformat.html#cfn-rds-dbproxy-authformat-secretarn // SecretArn *string `field:"optional" json:"secretArn" yaml:"secretArn"` }
Specifies the details of authentication used by a proxy to log in as a specific database user.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" authFormatProperty := &AuthFormatProperty{ AuthScheme: jsii.String("authScheme"), ClientPasswordAuthType: jsii.String("clientPasswordAuthType"), Description: jsii.String("description"), IamAuth: jsii.String("iamAuth"), SecretArn: jsii.String("secretArn"), }
type CfnDBProxy_TagFormatProperty ¶
type CfnDBProxy_TagFormatProperty struct { // A key is the required name of the tag. // // The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-tagformat.html#cfn-rds-dbproxy-tagformat-key // Key *string `field:"optional" json:"key" yaml:"key"` // A value is the optional value of the tag. // // The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxy-tagformat.html#cfn-rds-dbproxy-tagformat-value // Value *string `field:"optional" json:"value" yaml:"value"` }
Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" tagFormatProperty := &TagFormatProperty{ Key: jsii.String("key"), Value: jsii.String("value"), }
type CfnDBSecurityGroup ¶
type CfnDBSecurityGroup interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Ingress rules to be applied to the DB security group. DbSecurityGroupIngress() interface{} SetDbSecurityGroupIngress(val interface{}) // The identifier of an Amazon virtual private cloud (VPC). Ec2VpcId() *string SetEc2VpcId(val *string) // Provides the description of the DB security group. GroupDescription() *string SetGroupDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Metadata assigned to an Amazon RDS resource consisting of a key-value pair. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBSecurityGroup` resource creates or updates an Amazon RDS DB security group.
> EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see [Migrate from EC2-Classic to a VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) in the *Amazon EC2 User Guide* , the blog [EC2-Classic Networking is Retiring – Here’s How to Prepare](https://docs.aws.amazon.com/aws/ec2-classic-is-retiring-heres-how-to-prepare/) , and [Moving a DB instance not in a VPC into a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Non-VPC2VPC.html) in the *Amazon RDS User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBSecurityGroup := awscdk.Aws_rds.NewCfnDBSecurityGroup(this, jsii.String("MyCfnDBSecurityGroup"), &CfnDBSecurityGroupProps{ DbSecurityGroupIngress: []interface{}{ &IngressProperty{ Cidrip: jsii.String("cidrip"), Ec2SecurityGroupId: jsii.String("ec2SecurityGroupId"), Ec2SecurityGroupName: jsii.String("ec2SecurityGroupName"), Ec2SecurityGroupOwnerId: jsii.String("ec2SecurityGroupOwnerId"), }, }, GroupDescription: jsii.String("groupDescription"), // the properties below are optional Ec2VpcId: jsii.String("ec2VpcId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html
func NewCfnDBSecurityGroup ¶
func NewCfnDBSecurityGroup(scope constructs.Construct, id *string, props *CfnDBSecurityGroupProps) CfnDBSecurityGroup
type CfnDBSecurityGroupIngress ¶
type CfnDBSecurityGroupIngress interface { awscdk.CfnResource awscdk.IInspectable AttrId() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The IP range to authorize. Cidrip() *string SetCidrip(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The name of the DB security group to add authorization to. DbSecurityGroupName() *string SetDbSecurityGroupName(val *string) // Id of the EC2 security group to authorize. Ec2SecurityGroupId() *string SetEc2SecurityGroupId(val *string) // Name of the EC2 security group to authorize. Ec2SecurityGroupName() *string SetEc2SecurityGroupName(val *string) // AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. Ec2SecurityGroupOwnerId() *string SetEc2SecurityGroupOwnerId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBSecurityGroupIngress` resource enables ingress to a DB security group using one of two forms of authorization.
First, you can add EC2 or VPC security groups to the DB security group if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the Internet.
This type supports updates. For more information about updating stacks, see [AWS CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) .
For details about the settings for DB security group ingress, see [AuthorizeDBSecurityGroupIngress](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AuthorizeDBSecurityGroupIngress.html) .
> EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see [Migrate from EC2-Classic to a VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) in the *Amazon EC2 User Guide* , the blog [EC2-Classic Networking is Retiring – Here’s How to Prepare](https://docs.aws.amazon.com/aws/ec2-classic-is-retiring-heres-how-to-prepare/) , and [Moving a DB instance not in a VPC into a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Non-VPC2VPC.html) in the *Amazon RDS User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBSecurityGroupIngress := awscdk.Aws_rds.NewCfnDBSecurityGroupIngress(this, jsii.String("MyCfnDBSecurityGroupIngress"), &CfnDBSecurityGroupIngressProps{ DbSecurityGroupName: jsii.String("dbSecurityGroupName"), // the properties below are optional Cidrip: jsii.String("cidrip"), Ec2SecurityGroupId: jsii.String("ec2SecurityGroupId"), Ec2SecurityGroupName: jsii.String("ec2SecurityGroupName"), Ec2SecurityGroupOwnerId: jsii.String("ec2SecurityGroupOwnerId"), })
func NewCfnDBSecurityGroupIngress ¶
func NewCfnDBSecurityGroupIngress(scope constructs.Construct, id *string, props *CfnDBSecurityGroupIngressProps) CfnDBSecurityGroupIngress
type CfnDBSecurityGroupIngressProps ¶
type CfnDBSecurityGroupIngressProps struct { // The name of the DB security group to add authorization to. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html#cfn-rds-dbsecuritygroupingress-dbsecuritygroupname // DbSecurityGroupName *string `field:"required" json:"dbSecurityGroupName" yaml:"dbSecurityGroupName"` // The IP range to authorize. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html#cfn-rds-dbsecuritygroupingress-cidrip // Cidrip *string `field:"optional" json:"cidrip" yaml:"cidrip"` // Id of the EC2 security group to authorize. // // For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html#cfn-rds-dbsecuritygroupingress-ec2securitygroupid // Ec2SecurityGroupId *string `field:"optional" json:"ec2SecurityGroupId" yaml:"ec2SecurityGroupId"` // Name of the EC2 security group to authorize. // // For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html#cfn-rds-dbsecuritygroupingress-ec2securitygroupname // Ec2SecurityGroupName *string `field:"optional" json:"ec2SecurityGroupName" yaml:"ec2SecurityGroupName"` // AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. // // The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html#cfn-rds-dbsecuritygroupingress-ec2securitygroupownerid // Ec2SecurityGroupOwnerId *string `field:"optional" json:"ec2SecurityGroupOwnerId" yaml:"ec2SecurityGroupOwnerId"` }
Properties for defining a `CfnDBSecurityGroupIngress`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBSecurityGroupIngressProps := &CfnDBSecurityGroupIngressProps{ DbSecurityGroupName: jsii.String("dbSecurityGroupName"), // the properties below are optional Cidrip: jsii.String("cidrip"), Ec2SecurityGroupId: jsii.String("ec2SecurityGroupId"), Ec2SecurityGroupName: jsii.String("ec2SecurityGroupName"), Ec2SecurityGroupOwnerId: jsii.String("ec2SecurityGroupOwnerId"), }
type CfnDBSecurityGroupProps ¶
type CfnDBSecurityGroupProps struct { // Ingress rules to be applied to the DB security group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html#cfn-rds-dbsecuritygroup-dbsecuritygroupingress // DbSecurityGroupIngress interface{} `field:"required" json:"dbSecurityGroupIngress" yaml:"dbSecurityGroupIngress"` // Provides the description of the DB security group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html#cfn-rds-dbsecuritygroup-groupdescription // GroupDescription *string `field:"required" json:"groupDescription" yaml:"groupDescription"` // The identifier of an Amazon virtual private cloud (VPC). // // This property indicates the VPC that this DB security group belongs to. // // > This property is included for backwards compatibility and is no longer recommended for providing security information to an RDS DB instance. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html#cfn-rds-dbsecuritygroup-ec2vpcid // Ec2VpcId *string `field:"optional" json:"ec2VpcId" yaml:"ec2VpcId"` // Metadata assigned to an Amazon RDS resource consisting of a key-value pair. // // For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html#cfn-rds-dbsecuritygroup-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnDBSecurityGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBSecurityGroupProps := &CfnDBSecurityGroupProps{ DbSecurityGroupIngress: []interface{}{ &IngressProperty{ Cidrip: jsii.String("cidrip"), Ec2SecurityGroupId: jsii.String("ec2SecurityGroupId"), Ec2SecurityGroupName: jsii.String("ec2SecurityGroupName"), Ec2SecurityGroupOwnerId: jsii.String("ec2SecurityGroupOwnerId"), }, }, GroupDescription: jsii.String("groupDescription"), // the properties below are optional Ec2VpcId: jsii.String("ec2VpcId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html
type CfnDBSecurityGroup_IngressProperty ¶
type CfnDBSecurityGroup_IngressProperty struct { // The IP range to authorize. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbsecuritygroup-ingress.html#cfn-rds-dbsecuritygroup-ingress-cidrip // Cidrip *string `field:"optional" json:"cidrip" yaml:"cidrip"` // Id of the EC2 security group to authorize. // // For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbsecuritygroup-ingress.html#cfn-rds-dbsecuritygroup-ingress-ec2securitygroupid // Ec2SecurityGroupId *string `field:"optional" json:"ec2SecurityGroupId" yaml:"ec2SecurityGroupId"` // Name of the EC2 security group to authorize. // // For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbsecuritygroup-ingress.html#cfn-rds-dbsecuritygroup-ingress-ec2securitygroupname // Ec2SecurityGroupName *string `field:"optional" json:"ec2SecurityGroupName" yaml:"ec2SecurityGroupName"` // AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. // // The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbsecuritygroup-ingress.html#cfn-rds-dbsecuritygroup-ingress-ec2securitygroupownerid // Ec2SecurityGroupOwnerId *string `field:"optional" json:"ec2SecurityGroupOwnerId" yaml:"ec2SecurityGroupOwnerId"` }
The `Ingress` property type specifies an individual ingress rule within an `AWS::RDS::DBSecurityGroup` resource.
> EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic to a VPC, we recommend that you migrate as soon as possible. For more information, see [Migrate from EC2-Classic to a VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) in the *Amazon EC2 User Guide* , the blog [EC2-Classic Networking is Retiring – Here’s How to Prepare](https://docs.aws.amazon.com/aws/ec2-classic-is-retiring-heres-how-to-prepare/) , and [Moving a DB instance not in a VPC into a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Non-VPC2VPC.html) in the *Amazon RDS User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" ingressProperty := &IngressProperty{ Cidrip: jsii.String("cidrip"), Ec2SecurityGroupId: jsii.String("ec2SecurityGroupId"), Ec2SecurityGroupName: jsii.String("ec2SecurityGroupName"), Ec2SecurityGroupOwnerId: jsii.String("ec2SecurityGroupOwnerId"), }
type CfnDBSubnetGroup ¶
type CfnDBSubnetGroup interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The description for the DB subnet group. DbSubnetGroupDescription() *string SetDbSubnetGroupDescription(val *string) // The name for the DB subnet group. // // This value is stored as a lowercase string. DbSubnetGroupName() *string SetDbSubnetGroupName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The EC2 Subnet IDs for the DB subnet group. SubnetIds() *[]*string SetSubnetIds(val *[]*string) // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Tags to assign to the DB subnet group. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::DBSubnetGroup` resource creates a database subnet group.
Subnet groups must contain at least two subnets in two different Availability Zones in the same region.
For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBSubnetGroup := awscdk.Aws_rds.NewCfnDBSubnetGroup(this, jsii.String("MyCfnDBSubnetGroup"), &CfnDBSubnetGroupProps{ DbSubnetGroupDescription: jsii.String("dbSubnetGroupDescription"), SubnetIds: []*string{ jsii.String("subnetIds"), }, // the properties below are optional DbSubnetGroupName: jsii.String("dbSubnetGroupName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html
func NewCfnDBSubnetGroup ¶
func NewCfnDBSubnetGroup(scope constructs.Construct, id *string, props *CfnDBSubnetGroupProps) CfnDBSubnetGroup
type CfnDBSubnetGroupProps ¶
type CfnDBSubnetGroupProps struct { // The description for the DB subnet group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html#cfn-rds-dbsubnetgroup-dbsubnetgroupdescription // DbSubnetGroupDescription *string `field:"required" json:"dbSubnetGroupDescription" yaml:"dbSubnetGroupDescription"` // The EC2 Subnet IDs for the DB subnet group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html#cfn-rds-dbsubnetgroup-subnetids // SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"` // The name for the DB subnet group. This value is stored as a lowercase string. // // Constraints: // // - Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. // - Must not be default. // - First character must be a letter. // // Example: `mydbsubnetgroup`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html#cfn-rds-dbsubnetgroup-dbsubnetgroupname // DbSubnetGroupName *string `field:"optional" json:"dbSubnetGroupName" yaml:"dbSubnetGroupName"` // Tags to assign to the DB subnet group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html#cfn-rds-dbsubnetgroup-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnDBSubnetGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDBSubnetGroupProps := &CfnDBSubnetGroupProps{ DbSubnetGroupDescription: jsii.String("dbSubnetGroupDescription"), SubnetIds: []*string{ jsii.String("subnetIds"), }, // the properties below are optional DbSubnetGroupName: jsii.String("dbSubnetGroupName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html
type CfnEventSubscription ¶
type CfnEventSubscription interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Specifies whether to activate the subscription. Enabled() interface{} SetEnabled(val interface{}) // A list of event categories for a particular source type ( `SourceType` ) that you want to subscribe to. EventCategories() *[]*string SetEventCategories(val *[]*string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The Amazon Resource Name (ARN) of the SNS topic created for event notification. SnsTopicArn() *string SetSnsTopicArn(val *string) // The list of identifiers of the event sources for which events are returned. SourceIds() *[]*string SetSourceIds(val *[]*string) // The type of source that is generating the events. SourceType() *string SetSourceType(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The name of the subscription. SubscriptionName() *string SetSubscriptionName(val *string) // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // An optional array of key-value pairs to apply to this subscription. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::EventSubscription` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS).
For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEventSubscription := awscdk.Aws_rds.NewCfnEventSubscription(this, jsii.String("MyCfnEventSubscription"), &CfnEventSubscriptionProps{ SnsTopicArn: jsii.String("snsTopicArn"), // the properties below are optional Enabled: jsii.Boolean(false), EventCategories: []*string{ jsii.String("eventCategories"), }, SourceIds: []*string{ jsii.String("sourceIds"), }, SourceType: jsii.String("sourceType"), SubscriptionName: jsii.String("subscriptionName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnEventSubscription ¶
func NewCfnEventSubscription(scope constructs.Construct, id *string, props *CfnEventSubscriptionProps) CfnEventSubscription
type CfnEventSubscriptionProps ¶
type CfnEventSubscriptionProps struct { // The Amazon Resource Name (ARN) of the SNS topic created for event notification. // // SNS automatically creates the ARN when you create a topic and subscribe to it. // // > RDS doesn't support FIFO (first in, first out) topics. For more information, see [Message ordering and deduplication (FIFO topics)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html) in the *Amazon Simple Notification Service Developer Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-snstopicarn // SnsTopicArn *string `field:"required" json:"snsTopicArn" yaml:"snsTopicArn"` // Specifies whether to activate the subscription. // // If the event notification subscription isn't activated, the subscription is created but not active. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-enabled // // Default: - true. // Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` // A list of event categories for a particular source type ( `SourceType` ) that you want to subscribe to. // // You can see a list of the categories for a given source type in the "Amazon RDS event categories and event messages" section of the [*Amazon RDS User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) or the [*Amazon Aurora User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) . You can also see this list by using the `DescribeEventCategories` operation. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-eventcategories // EventCategories *[]*string `field:"optional" json:"eventCategories" yaml:"eventCategories"` // The list of identifiers of the event sources for which events are returned. // // If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens. It can't end with a hyphen or contain two consecutive hyphens. // // Constraints: // // - If `SourceIds` are supplied, `SourceType` must also be provided. // - If the source type is a DB instance, a `DBInstanceIdentifier` value must be supplied. // - If the source type is a DB cluster, a `DBClusterIdentifier` value must be supplied. // - If the source type is a DB parameter group, a `DBParameterGroupName` value must be supplied. // - If the source type is a DB security group, a `DBSecurityGroupName` value must be supplied. // - If the source type is a DB snapshot, a `DBSnapshotIdentifier` value must be supplied. // - If the source type is a DB cluster snapshot, a `DBClusterSnapshotIdentifier` value must be supplied. // - If the source type is an RDS Proxy, a `DBProxyName` value must be supplied. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-sourceids // SourceIds *[]*string `field:"optional" json:"sourceIds" yaml:"sourceIds"` // The type of source that is generating the events. // // For example, if you want to be notified of events generated by a DB instance, you set this parameter to `db-instance` . For RDS Proxy events, specify `db-proxy` . If this value isn't specified, all events are returned. // // Valid Values: `db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy | zero-etl | custom-engine-version | blue-green-deployment`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-sourcetype // SourceType *string `field:"optional" json:"sourceType" yaml:"sourceType"` // The name of the subscription. // // Constraints: The name must be less than 255 characters. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-subscriptionname // SubscriptionName *string `field:"optional" json:"subscriptionName" yaml:"subscriptionName"` // An optional array of key-value pairs to apply to this subscription. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnEventSubscription`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEventSubscriptionProps := &CfnEventSubscriptionProps{ SnsTopicArn: jsii.String("snsTopicArn"), // the properties below are optional Enabled: jsii.Boolean(false), EventCategories: []*string{ jsii.String("eventCategories"), }, SourceIds: []*string{ jsii.String("sourceIds"), }, SourceType: jsii.String("sourceType"), SubscriptionName: jsii.String("subscriptionName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnGlobalCluster ¶
type CfnGlobalCluster interface { awscdk.CfnResource awscdk.IInspectable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Specifies whether to enable deletion protection for the new global database cluster. DeletionProtection() interface{} SetDeletionProtection(val interface{}) // The database engine to use for this global database cluster. Engine() *string SetEngine(val *string) // The life cycle type for this global database cluster. EngineLifecycleSupport() *string SetEngineLifecycleSupport(val *string) // The engine version to use for this global database cluster. EngineVersion() *string SetEngineVersion(val *string) // The cluster identifier for this global database cluster. GlobalClusterIdentifier() *string SetGlobalClusterIdentifier(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The Amazon Resource Name (ARN) to use as the primary cluster of the global database. SourceDbClusterIdentifier() *string SetSourceDbClusterIdentifier(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Specifies whether to enable storage encryption for the new global database cluster. StorageEncrypted() interface{} SetStorageEncrypted(val interface{}) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::GlobalCluster` resource creates or updates an Amazon Aurora global database spread across multiple AWS Regions.
The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.
You can create a global database that is initially empty, and then add a primary cluster and a secondary cluster to it.
For information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide* .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnGlobalCluster := awscdk.Aws_rds.NewCfnGlobalCluster(this, jsii.String("MyCfnGlobalCluster"), &CfnGlobalClusterProps{ DeletionProtection: jsii.Boolean(false), Engine: jsii.String("engine"), EngineLifecycleSupport: jsii.String("engineLifecycleSupport"), EngineVersion: jsii.String("engineVersion"), GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"), SourceDbClusterIdentifier: jsii.String("sourceDbClusterIdentifier"), StorageEncrypted: jsii.Boolean(false), })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html
func NewCfnGlobalCluster ¶
func NewCfnGlobalCluster(scope constructs.Construct, id *string, props *CfnGlobalClusterProps) CfnGlobalCluster
type CfnGlobalClusterProps ¶
type CfnGlobalClusterProps struct { // Specifies whether to enable deletion protection for the new global database cluster. // // The global database can't be deleted when deletion protection is enabled. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-deletionprotection // DeletionProtection interface{} `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // The database engine to use for this global database cluster. // // Valid Values: `aurora-mysql | aurora-postgresql` // // Constraints: // // - Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine of the source DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-engine // Engine *string `field:"optional" json:"engine" yaml:"engine"` // The life cycle type for this global database cluster. // // > By default, this value is set to `open-source-rds-extended-support` , which enrolls your global cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the global cluster will fail if the DB major version is past its end of standard support date. // // This setting only applies to Aurora PostgreSQL-based global databases. // // You can use this setting to enroll your global cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your global cluster past the end of standard support for that engine version. For more information, see [Using Amazon RDS Extended Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* . // // Valid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled` // // Default: `open-source-rds-extended-support`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-enginelifecyclesupport // EngineLifecycleSupport *string `field:"optional" json:"engineLifecycleSupport" yaml:"engineLifecycleSupport"` // The engine version to use for this global database cluster. // // Constraints: // // - Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine version of the source DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-engineversion // EngineVersion *string `field:"optional" json:"engineVersion" yaml:"engineVersion"` // The cluster identifier for this global database cluster. // // This parameter is stored as a lowercase string. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-globalclusteridentifier // GlobalClusterIdentifier *string `field:"optional" json:"globalClusterIdentifier" yaml:"globalClusterIdentifier"` // The Amazon Resource Name (ARN) to use as the primary cluster of the global database. // // If you provide a value for this parameter, don't specify values for the following settings because Amazon Aurora uses the values from the specified source DB cluster: // // - `DatabaseName` // - `Engine` // - `EngineVersion` // - `StorageEncrypted`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-sourcedbclusteridentifier // SourceDbClusterIdentifier *string `field:"optional" json:"sourceDbClusterIdentifier" yaml:"sourceDbClusterIdentifier"` // Specifies whether to enable storage encryption for the new global database cluster. // // Constraints: // // - Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the setting from the source DB cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html#cfn-rds-globalcluster-storageencrypted // StorageEncrypted interface{} `field:"optional" json:"storageEncrypted" yaml:"storageEncrypted"` }
Properties for defining a `CfnGlobalCluster`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnGlobalClusterProps := &CfnGlobalClusterProps{ DeletionProtection: jsii.Boolean(false), Engine: jsii.String("engine"), EngineLifecycleSupport: jsii.String("engineLifecycleSupport"), EngineVersion: jsii.String("engineVersion"), GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"), SourceDbClusterIdentifier: jsii.String("sourceDbClusterIdentifier"), StorageEncrypted: jsii.Boolean(false), }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html
type CfnIntegration ¶ added in v2.127.0
type CfnIntegration interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggableV2 // An optional set of non-secret key–value pairs that contains additional contextual information about the data. AdditionalEncryptionContext() interface{} SetAdditionalEncryptionContext(val interface{}) // The time when the integration was created, in Universal Coordinated Time (UTC). AttrCreateTime() *string // The ARN of the integration. AttrIntegrationArn() *string // Tag Manager which manages the tags for this resource. CdkTagManager() awscdk.TagManager // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Data filters for the integration. DataFilter() *string SetDataFilter(val *string) // A description of the integration. Description() *string SetDescription(val *string) // The name of the integration. IntegrationName() *string SetIntegrationName(val *string) // The AWS Key Management System ( AWS KMS) key identifier for the key to use to encrypt the integration. KmsKeyId() *string SetKmsKeyId(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The Amazon Resource Name (ARN) of the database to use as the source for replication. SourceArn() *string SetSourceArn(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // An optional array of key-value pairs to apply to this integration. Tags() *[]*awscdk.CfnTag SetTags(val *[]*awscdk.CfnTag) // The ARN of the Redshift data warehouse to use as the target for replication. TargetArn() *string SetTargetArn(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
A zero-ETL integration with Amazon Redshift.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIntegration := awscdk.Aws_rds.NewCfnIntegration(this, jsii.String("MyCfnIntegration"), &CfnIntegrationProps{ SourceArn: jsii.String("sourceArn"), TargetArn: jsii.String("targetArn"), // the properties below are optional AdditionalEncryptionContext: map[string]*string{ "additionalEncryptionContextKey": jsii.String("additionalEncryptionContext"), }, DataFilter: jsii.String("dataFilter"), Description: jsii.String("description"), IntegrationName: jsii.String("integrationName"), KmsKeyId: jsii.String("kmsKeyId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html
func NewCfnIntegration ¶ added in v2.127.0
func NewCfnIntegration(scope constructs.Construct, id *string, props *CfnIntegrationProps) CfnIntegration
type CfnIntegrationProps ¶ added in v2.127.0
type CfnIntegrationProps struct { // The Amazon Resource Name (ARN) of the database to use as the source for replication. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html#cfn-rds-integration-sourcearn // SourceArn *string `field:"required" json:"sourceArn" yaml:"sourceArn"` // The ARN of the Redshift data warehouse to use as the target for replication. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html#cfn-rds-integration-targetarn // TargetArn *string `field:"required" json:"targetArn" yaml:"targetArn"` // An optional set of non-secret key–value pairs that contains additional contextual information about the data. // // For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* . // // You can only include this parameter if you specify the `KMSKeyId` parameter. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html#cfn-rds-integration-additionalencryptioncontext // AdditionalEncryptionContext interface{} `field:"optional" json:"additionalEncryptionContext" yaml:"additionalEncryptionContext"` // Data filters for the integration. // // These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html#cfn-rds-integration-datafilter // DataFilter *string `field:"optional" json:"dataFilter" yaml:"dataFilter"` // A description of the integration. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html#cfn-rds-integration-description // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the integration. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html#cfn-rds-integration-integrationname // IntegrationName *string `field:"optional" json:"integrationName" yaml:"integrationName"` // The AWS Key Management System ( AWS KMS) key identifier for the key to use to encrypt the integration. // // If you don't specify an encryption key, RDS uses a default AWS owned key. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html#cfn-rds-integration-kmskeyid // KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"` // An optional array of key-value pairs to apply to this integration. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html#cfn-rds-integration-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnIntegration`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnIntegrationProps := &CfnIntegrationProps{ SourceArn: jsii.String("sourceArn"), TargetArn: jsii.String("targetArn"), // the properties below are optional AdditionalEncryptionContext: map[string]*string{ "additionalEncryptionContextKey": jsii.String("additionalEncryptionContext"), }, DataFilter: jsii.String("dataFilter"), Description: jsii.String("description"), IntegrationName: jsii.String("integrationName"), KmsKeyId: jsii.String("kmsKeyId"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html
type CfnOptionGroup ¶
type CfnOptionGroup interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Specifies the name of the engine that this option group should be associated with. EngineName() *string SetEngineName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // Specifies the major version of the engine that this option group should be associated with. MajorEngineVersion() *string SetMajorEngineVersion(val *string) // The tree node. Node() constructs.Node // A list of all available options. OptionConfigurations() interface{} SetOptionConfigurations(val interface{}) // The description of the option group. OptionGroupDescription() *string SetOptionGroupDescription(val *string) // The name of the option group to be created. OptionGroupName() *string SetOptionGroupName(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Tags to assign to the option group. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::RDS::OptionGroup` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnOptionGroup := awscdk.Aws_rds.NewCfnOptionGroup(this, jsii.String("MyCfnOptionGroup"), &CfnOptionGroupProps{ EngineName: jsii.String("engineName"), MajorEngineVersion: jsii.String("majorEngineVersion"), OptionGroupDescription: jsii.String("optionGroupDescription"), // the properties below are optional OptionConfigurations: []interface{}{ &OptionConfigurationProperty{ OptionName: jsii.String("optionName"), // the properties below are optional DbSecurityGroupMemberships: []*string{ jsii.String("dbSecurityGroupMemberships"), }, OptionSettings: []interface{}{ &OptionSettingProperty{ Name: jsii.String("name"), Value: jsii.String("value"), }, }, OptionVersion: jsii.String("optionVersion"), Port: jsii.Number(123), VpcSecurityGroupMemberships: []*string{ jsii.String("vpcSecurityGroupMemberships"), }, }, }, OptionGroupName: jsii.String("optionGroupName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html
func NewCfnOptionGroup ¶
func NewCfnOptionGroup(scope constructs.Construct, id *string, props *CfnOptionGroupProps) CfnOptionGroup
type CfnOptionGroupProps ¶
type CfnOptionGroupProps struct { // Specifies the name of the engine that this option group should be associated with. // // Valid Values: // // - `mariadb` // - `mysql` // - `oracle-ee` // - `oracle-ee-cdb` // - `oracle-se2` // - `oracle-se2-cdb` // - `postgres` // - `sqlserver-ee` // - `sqlserver-se` // - `sqlserver-ex` // - `sqlserver-web`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-enginename // EngineName *string `field:"required" json:"engineName" yaml:"engineName"` // Specifies the major version of the engine that this option group should be associated with. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-majorengineversion // MajorEngineVersion *string `field:"required" json:"majorEngineVersion" yaml:"majorEngineVersion"` // The description of the option group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-optiongroupdescription // OptionGroupDescription *string `field:"required" json:"optionGroupDescription" yaml:"optionGroupDescription"` // A list of all available options. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-optionconfigurations // OptionConfigurations interface{} `field:"optional" json:"optionConfigurations" yaml:"optionConfigurations"` // The name of the option group to be created. // // Constraints: // // - Must be 1 to 255 letters, numbers, or hyphens // - First character must be a letter // - Can't end with a hyphen or contain two consecutive hyphens // // Example: `myoptiongroup` // // If you don't specify a value for `OptionGroupName` property, a name is automatically created for the option group. // // > This value is stored as a lowercase string. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-optiongroupname // OptionGroupName *string `field:"optional" json:"optionGroupName" yaml:"optionGroupName"` // Tags to assign to the option group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnOptionGroup`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnOptionGroupProps := &CfnOptionGroupProps{ EngineName: jsii.String("engineName"), MajorEngineVersion: jsii.String("majorEngineVersion"), OptionGroupDescription: jsii.String("optionGroupDescription"), // the properties below are optional OptionConfigurations: []interface{}{ &OptionConfigurationProperty{ OptionName: jsii.String("optionName"), // the properties below are optional DbSecurityGroupMemberships: []*string{ jsii.String("dbSecurityGroupMemberships"), }, OptionSettings: []interface{}{ &OptionSettingProperty{ Name: jsii.String("name"), Value: jsii.String("value"), }, }, OptionVersion: jsii.String("optionVersion"), Port: jsii.Number(123), VpcSecurityGroupMemberships: []*string{ jsii.String("vpcSecurityGroupMemberships"), }, }, }, OptionGroupName: jsii.String("optionGroupName"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html
type CfnOptionGroup_OptionConfigurationProperty ¶
type CfnOptionGroup_OptionConfigurationProperty struct { // The configuration of options to include in a group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-optionname // OptionName *string `field:"required" json:"optionName" yaml:"optionName"` // A list of DBSecurityGroupMembership name strings used for this option. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-dbsecuritygroupmemberships // DbSecurityGroupMemberships *[]*string `field:"optional" json:"dbSecurityGroupMemberships" yaml:"dbSecurityGroupMemberships"` // The option settings to include in an option group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-optionsettings // OptionSettings interface{} `field:"optional" json:"optionSettings" yaml:"optionSettings"` // The version for the option. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-optionversion // OptionVersion *string `field:"optional" json:"optionVersion" yaml:"optionVersion"` // The optional port for the option. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-port // Port *float64 `field:"optional" json:"port" yaml:"port"` // A list of VpcSecurityGroupMembership name strings used for this option. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfiguration.html#cfn-rds-optiongroup-optionconfiguration-vpcsecuritygroupmemberships // VpcSecurityGroupMemberships *[]*string `field:"optional" json:"vpcSecurityGroupMemberships" yaml:"vpcSecurityGroupMemberships"` }
The `OptionConfiguration` property type specifies an individual option, and its settings, within an `AWS::RDS::OptionGroup` resource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" optionConfigurationProperty := &OptionConfigurationProperty{ OptionName: jsii.String("optionName"), // the properties below are optional DbSecurityGroupMemberships: []*string{ jsii.String("dbSecurityGroupMemberships"), }, OptionSettings: []interface{}{ &OptionSettingProperty{ Name: jsii.String("name"), Value: jsii.String("value"), }, }, OptionVersion: jsii.String("optionVersion"), Port: jsii.Number(123), VpcSecurityGroupMemberships: []*string{ jsii.String("vpcSecurityGroupMemberships"), }, }
type CfnOptionGroup_OptionSettingProperty ¶
type CfnOptionGroup_OptionSettingProperty struct { // The name of the option that has settings that you can set. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionsetting.html#cfn-rds-optiongroup-optionsetting-name // Name *string `field:"optional" json:"name" yaml:"name"` // The current value of the option setting. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionsetting.html#cfn-rds-optiongroup-optionsetting-value // Value *string `field:"optional" json:"value" yaml:"value"` }
The `OptionSetting` property type specifies the value for an option within an `OptionSetting` property.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" optionSettingProperty := &OptionSettingProperty{ Name: jsii.String("name"), Value: jsii.String("value"), }
type ClientPasswordAuthType ¶ added in v2.118.0
type ClientPasswordAuthType string
Client password authentication type used by a proxy to log in as a specific database user.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_03_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer")), Vpc: Vpc, }) proxy := rds.NewDatabaseProxy(this, jsii.String("Proxy"), &DatabaseProxyProps{ ProxyTarget: rds.ProxyTarget_FromCluster(cluster), Secrets: []iSecret{ cluster.Secret, }, Vpc: Vpc, ClientPasswordAuthType: rds.ClientPasswordAuthType_MYSQL_NATIVE_PASSWORD, })
const ( // MySQL Native Password client authentication type. ClientPasswordAuthType_MYSQL_NATIVE_PASSWORD ClientPasswordAuthType = "MYSQL_NATIVE_PASSWORD" // SCRAM SHA 256 client authentication type. ClientPasswordAuthType_POSTGRES_SCRAM_SHA_256 ClientPasswordAuthType = "POSTGRES_SCRAM_SHA_256" // PostgreSQL MD5 client authentication type. ClientPasswordAuthType_POSTGRES_MD5 ClientPasswordAuthType = "POSTGRES_MD5" // SQL Server Authentication client authentication type. ClientPasswordAuthType_SQL_SERVER_AUTHENTICATION ClientPasswordAuthType = "SQL_SERVER_AUTHENTICATION" )
type ClusterEngineBindOptions ¶
type ClusterEngineBindOptions struct { // The customer-provided ParameterGroup. // Default: - none. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The role used for S3 exporting. // Default: - none. // S3ExportRole awsiam.IRole `field:"optional" json:"s3ExportRole" yaml:"s3ExportRole"` // The role used for S3 importing. // Default: - none. // S3ImportRole awsiam.IRole `field:"optional" json:"s3ImportRole" yaml:"s3ImportRole"` }
The extra options passed to the `IClusterEngine.bindToCluster` method.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var parameterGroup parameterGroup var role role clusterEngineBindOptions := &ClusterEngineBindOptions{ ParameterGroup: parameterGroup, S3ExportRole: role, S3ImportRole: role, }
type ClusterEngineConfig ¶
type ClusterEngineConfig struct { // Features supported by the database engine. // See: https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html // // Default: - no features. // Features *ClusterEngineFeatures `field:"optional" json:"features" yaml:"features"` // The ParameterGroup to use for the cluster. // Default: - no ParameterGroup will be used. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The port to use for this cluster, unless the customer specified the port directly. // Default: - use the default port for clusters (3306). // Port *float64 `field:"optional" json:"port" yaml:"port"` }
The type returned from the `IClusterEngine.bindToCluster` method.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var parameterGroup parameterGroup clusterEngineConfig := &ClusterEngineConfig{ Features: &ClusterEngineFeatures{ S3Export: jsii.String("s3Export"), S3Import: jsii.String("s3Import"), }, ParameterGroup: parameterGroup, Port: jsii.Number(123), }
type ClusterEngineFeatures ¶
type ClusterEngineFeatures struct { // Feature name for the DB instance that the IAM role to export to S3 bucket is to be associated with. // Default: - no s3Export feature name. // S3Export *string `field:"optional" json:"s3Export" yaml:"s3Export"` // Feature name for the DB instance that the IAM role to access the S3 bucket for import is to be associated with. // Default: - no s3Import feature name. // S3Import *string `field:"optional" json:"s3Import" yaml:"s3Import"` }
Represents Database Engine features.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clusterEngineFeatures := &ClusterEngineFeatures{ S3Export: jsii.String("s3Export"), S3Import: jsii.String("s3Import"), }
type ClusterInstance ¶ added in v2.82.0
type ClusterInstance interface { IClusterInstance // Add the ClusterInstance to the cluster. Bind(scope constructs.Construct, cluster IDatabaseCluster, props *ClusterInstanceBindOptions) IAuroraClusterInstance }
Create an RDS Aurora Cluster Instance.
You can create either provisioned or serverless v2 instances.
Example:
var vpc vpc myCluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_2_08_1(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_R6G, ec2.InstanceSize_XLARGE4), }), ServerlessV2MinCapacity: jsii.Number(6.5), ServerlessV2MaxCapacity: jsii.Number(64), Readers: []iClusterInstance{ rds.ClusterInstance_ServerlessV2(jsii.String("reader1"), &ServerlessV2ClusterInstanceProps{ ScaleWithWriter: jsii.Boolean(true), }), rds.ClusterInstance_*ServerlessV2(jsii.String("reader2")), }, Vpc: Vpc, })
type ClusterInstanceBindOptions ¶ added in v2.82.0
type ClusterInstanceBindOptions struct { // The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instances. // Default: no enhanced monitoring. // MonitoringInterval awscdk.Duration `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // Role that will be used to manage DB instances monitoring. // Default: - A role is automatically created for you. // MonitoringRole awsiam.IRole `field:"optional" json:"monitoringRole" yaml:"monitoringRole"` // The promotion tier of the cluster instance. // // This matters more for serverlessV2 instances. If a serverless // instance is in tier 0-1 then it will scale with the writer. // // For provisioned instances this just determines the failover priority. // If multiple instances have the same priority then one will be picked at random. // Default: 2. // PromotionTier *float64 `field:"optional" json:"promotionTier" yaml:"promotionTier"` // The removal policy on the cluster. // Default: - RemovalPolicy.DESTROY (cluster snapshot can restore) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // Existing subnet group for the cluster. // // This is only needed when using the isFromLegacyInstanceProps. // Default: - cluster subnet group is used. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` }
Options for binding the instance to the cluster.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var role role var subnetGroup subnetGroup clusterInstanceBindOptions := &ClusterInstanceBindOptions{ MonitoringInterval: cdk.Duration_Minutes(jsii.Number(30)), MonitoringRole: role, PromotionTier: jsii.Number(123), RemovalPolicy: cdk.RemovalPolicy_DESTROY, SubnetGroup: subnetGroup, }
type ClusterInstanceOptions ¶ added in v2.82.0
type ClusterInstanceOptions struct { // Whether to allow upgrade of major version for the DB instance. // Default: - false. // AllowMajorVersionUpgrade *bool `field:"optional" json:"allowMajorVersionUpgrade" yaml:"allowMajorVersionUpgrade"` // Whether to enable automatic upgrade of minor version for the DB instance. // Default: - true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The identifier of the CA certificate for this DB cluster's instances. // // Specifying or updating this property triggers a reboot. // // For RDS DB engines:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html // // Default: - RDS will choose a certificate authority. // CaCertificate CaCertificate `field:"optional" json:"caCertificate" yaml:"caCertificate"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // The identifier for the database instance. // Default: - CloudFormation generated identifier. // InstanceIdentifier *string `field:"optional" json:"instanceIdentifier" yaml:"instanceIdentifier"` // Only used for migrating existing clusters from using `instanceProps` to `writer` and `readers`. // // Example: // // existing cluster // var vpc vpc // // cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ // Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ // Version: rds.AuroraMysqlEngineVersion_VER_3_03_0(), // }), // Instances: jsii.Number(2), // InstanceProps: &InstanceProps{ // InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_SMALL), // VpcSubnets: &SubnetSelection{ // SubnetType: ec2.SubnetType_PUBLIC, // }, // Vpc: *Vpc, // }, // }) // // // migration // // instanceProps := map[string]interface{}{ // "instanceType": ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_SMALL), // "isFromLegacyInstanceProps": jsii.Boolean(true), // } // // myCluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ // Engine: rds.DatabaseClusterEngine_*AuroraMysql(&AuroraMysqlClusterEngineProps{ // Version: rds.AuroraMysqlEngineVersion_VER_3_03_0(), // }), // VpcSubnets: &SubnetSelection{ // SubnetType: ec2.SubnetType_PUBLIC, // }, // Vpc: Vpc, // Writer: rds.ClusterInstance_Provisioned(jsii.String("Instance1"), &ProvisionedClusterInstanceProps{ // InstanceType: instanceProps.instanceType, // IsFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps, // }), // Readers: []iClusterInstance{ // rds.ClusterInstance_*Provisioned(jsii.String("Instance2"), &ProvisionedClusterInstanceProps{ // InstanceType: instanceProps.instanceType, // IsFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps, // }), // }, // }) // // Default: false. // IsFromLegacyInstanceProps *bool `field:"optional" json:"isFromLegacyInstanceProps" yaml:"isFromLegacyInstanceProps"` // The DB parameter group to associate with the instance. // // This is only needed if you need to configure different parameter // groups for each individual instance, otherwise you should not // provide this and just use the cluster parameter group. // Default: the cluster parameter group is used. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The parameters in the DBParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). // // Example: 'Sun:23:45-Mon:00:15'. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // // Default: - 30-minute window selected at random from an 8-hour block of time for // each AWS Region, occurring on a random day of the week. // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // Indicates whether the DB instance is an internet-facing instance. // // If not specified, // the cluster's vpcSubnets will be used to determine if the instance is internet-facing // or not. // Default: - `true` if the cluster's `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` }
Common options for creating a cluster instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var caCertificate caCertificate var key key var parameterGroup parameterGroup clusterInstanceOptions := &ClusterInstanceOptions{ AllowMajorVersionUpgrade: jsii.Boolean(false), AutoMinorVersionUpgrade: jsii.Boolean(false), CaCertificate: caCertificate, EnablePerformanceInsights: jsii.Boolean(false), InstanceIdentifier: jsii.String("instanceIdentifier"), IsFromLegacyInstanceProps: jsii.Boolean(false), ParameterGroup: parameterGroup, Parameters: map[string]*string{ "parametersKey": jsii.String("parameters"), }, PerformanceInsightEncryptionKey: key, PerformanceInsightRetention: awscdk.Aws_rds.PerformanceInsightRetention_DEFAULT, PreferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), PubliclyAccessible: jsii.Boolean(false), }
type ClusterInstanceProps ¶ added in v2.82.0
type ClusterInstanceProps struct { // Whether to allow upgrade of major version for the DB instance. // Default: - false. // AllowMajorVersionUpgrade *bool `field:"optional" json:"allowMajorVersionUpgrade" yaml:"allowMajorVersionUpgrade"` // Whether to enable automatic upgrade of minor version for the DB instance. // Default: - true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The identifier of the CA certificate for this DB cluster's instances. // // Specifying or updating this property triggers a reboot. // // For RDS DB engines:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html // // Default: - RDS will choose a certificate authority. // CaCertificate CaCertificate `field:"optional" json:"caCertificate" yaml:"caCertificate"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // The identifier for the database instance. // Default: - CloudFormation generated identifier. // InstanceIdentifier *string `field:"optional" json:"instanceIdentifier" yaml:"instanceIdentifier"` // Only used for migrating existing clusters from using `instanceProps` to `writer` and `readers`. // // Example: // // existing cluster // declare const vpc: ec2.Vpc; // const cluster = new rds.DatabaseCluster(this, 'Database', { // engine: rds.DatabaseClusterEngine.auroraMysql({ // version: rds.AuroraMysqlEngineVersion.VER_3_03_0, // }), // instances: 2, // instanceProps: { // instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), // vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC }, // vpc, // }, // }); // // // migration // // const instanceProps = { // instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), // isFromLegacyInstanceProps: true, // }; // // const myCluster = new rds.DatabaseCluster(this, 'Database', { // engine: rds.DatabaseClusterEngine.auroraMysql({ // version: rds.AuroraMysqlEngineVersion.VER_3_03_0, // }), // vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC }, // vpc, // writer: rds.ClusterInstance.provisioned('Instance1', { // instanceType: instanceProps.instanceType, // isFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps, // }), // readers: [ // rds.ClusterInstance.provisioned('Instance2', { // instanceType: instanceProps.instanceType, // isFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps, // }), // ], // }); // // Default: false. // IsFromLegacyInstanceProps *bool `field:"optional" json:"isFromLegacyInstanceProps" yaml:"isFromLegacyInstanceProps"` // The DB parameter group to associate with the instance. // // This is only needed if you need to configure different parameter // groups for each individual instance, otherwise you should not // provide this and just use the cluster parameter group. // Default: the cluster parameter group is used. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The parameters in the DBParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). // // Example: 'Sun:23:45-Mon:00:15'. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // // Default: - 30-minute window selected at random from an 8-hour block of time for // each AWS Region, occurring on a random day of the week. // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // Indicates whether the DB instance is an internet-facing instance. // // If not specified, // the cluster's vpcSubnets will be used to determine if the instance is internet-facing // or not. // Default: - `true` if the cluster's `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // The type of cluster instance to create. // // Can be either // provisioned or serverless v2. InstanceType ClusterInstanceType `field:"required" json:"instanceType" yaml:"instanceType"` // The promotion tier of the cluster instance. // // This matters more for serverlessV2 instances. If a serverless // instance is in tier 0-1 then it will scale with the writer. // // For provisioned instances this just determines the failover priority. // If multiple instances have the same priority then one will be picked at random. // Default: 2. // PromotionTier *float64 `field:"optional" json:"promotionTier" yaml:"promotionTier"` }
Common options for creating cluster instances (both serverless and provisioned).
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var caCertificate caCertificate var clusterInstanceType clusterInstanceType var key key var parameterGroup parameterGroup clusterInstanceProps := &ClusterInstanceProps{ InstanceType: clusterInstanceType, // the properties below are optional AllowMajorVersionUpgrade: jsii.Boolean(false), AutoMinorVersionUpgrade: jsii.Boolean(false), CaCertificate: caCertificate, EnablePerformanceInsights: jsii.Boolean(false), InstanceIdentifier: jsii.String("instanceIdentifier"), IsFromLegacyInstanceProps: jsii.Boolean(false), ParameterGroup: parameterGroup, Parameters: map[string]*string{ "parametersKey": jsii.String("parameters"), }, PerformanceInsightEncryptionKey: key, PerformanceInsightRetention: awscdk.Aws_rds.PerformanceInsightRetention_DEFAULT, PreferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), PromotionTier: jsii.Number(123), PubliclyAccessible: jsii.Boolean(false), }
type ClusterInstanceType ¶ added in v2.82.0
type ClusterInstanceType interface { Type() InstanceType // String representation of the instance type that can be used in the CloudFormation resource. ToString() *string }
The type of Aurora Cluster Instance.
Can be either serverless v2 or provisioned.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" clusterInstanceType := awscdk.Aws_rds.NewClusterInstanceType(jsii.String("instanceType"), awscdk.Aws_rds.InstanceType_PROVISIONED)
func ClusterInstanceType_Provisioned ¶ added in v2.82.0
func ClusterInstanceType_Provisioned(instanceType awsec2.InstanceType) ClusterInstanceType
Aurora Provisioned instance type.
func ClusterInstanceType_ServerlessV2 ¶ added in v2.82.0
func ClusterInstanceType_ServerlessV2() ClusterInstanceType
Aurora Serverless V2 instance type. See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html
func NewClusterInstanceType ¶ added in v2.82.0
func NewClusterInstanceType(instanceType *string, type_ InstanceType) ClusterInstanceType
type CommonRotationUserOptions ¶ added in v2.16.0
type CommonRotationUserOptions struct { // Specifies the number of days after the previous rotation before Secrets Manager triggers the next automatic rotation. // Default: - 30 days. // AutomaticallyAfter awscdk.Duration `field:"optional" json:"automaticallyAfter" yaml:"automaticallyAfter"` // The VPC interface endpoint to use for the Secrets Manager API. // // If you enable private DNS hostnames for your VPC private endpoint (the default), you don't // need to specify an endpoint. The standard Secrets Manager DNS hostname the Secrets Manager // CLI and SDKs use by default (https://secretsmanager.<region>.amazonaws.com) automatically // resolves to your VPC endpoint. // Default: https://secretsmanager.<region>.amazonaws.com // Endpoint awsec2.IInterfaceVpcEndpoint `field:"optional" json:"endpoint" yaml:"endpoint"` // Specifies characters to not include in generated passwords. // Default: " %+~`#$&*()|[]{}:;<>?!'/@\"\\" // ExcludeCharacters *string `field:"optional" json:"excludeCharacters" yaml:"excludeCharacters"` // Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. // Default: true. // RotateImmediatelyOnUpdate *bool `field:"optional" json:"rotateImmediatelyOnUpdate" yaml:"rotateImmediatelyOnUpdate"` // The security group for the Lambda rotation function. // Default: - a new security group is created. // SecurityGroup awsec2.ISecurityGroup `field:"optional" json:"securityGroup" yaml:"securityGroup"` // Where to place the rotation Lambda function. // Default: - same placement as instance or cluster. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Properties common to single-user and multi-user rotation options.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var interfaceVpcEndpoint interfaceVpcEndpoint var securityGroup securityGroup var subnet subnet var subnetFilter subnetFilter commonRotationUserOptions := &CommonRotationUserOptions{ AutomaticallyAfter: cdk.Duration_Minutes(jsii.Number(30)), Endpoint: interfaceVpcEndpoint, ExcludeCharacters: jsii.String("excludeCharacters"), RotateImmediatelyOnUpdate: jsii.Boolean(false), SecurityGroup: securityGroup, VpcSubnets: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, }
type Credentials ¶
type Credentials interface { // KMS encryption key to encrypt the generated secret. // Default: - default master key. // EncryptionKey() awskms.IKey // The characters to exclude from the generated password. // // Only used if `password` has not been set. // Default: - the DatabaseSecret default exclude character set (" %+~`#$&*()|[]{}:;<>?!'/@\"\\") // ExcludeCharacters() *string // Password. // // Do not put passwords in your CDK code directly. // Default: - a Secrets Manager generated password. // Password() awscdk.SecretValue // A list of regions where to replicate the generated secret. // Default: - Secret is not replicated. // ReplicaRegions() *[]*awssecretsmanager.ReplicaRegion // Secret used to instantiate this Login. // Default: - none. // Secret() awssecretsmanager.ISecret // The name to use for the Secret if a new Secret is to be generated in SecretsManager for these Credentials. // Default: - A name is generated by CloudFormation. // SecretName() *string // Username. Username() *string // Whether the username should be referenced as a string and not as a dynamic reference to the username in the secret. // Default: false. // UsernameAsString() *bool }
Username and password combination.
Example:
// Build a data source for AppSync to access the database. var api graphqlApi // Create username and password secret for DB Cluster secret := rds.NewDatabaseSecret(this, jsii.String("AuroraSecret"), &DatabaseSecretProps{ Username: jsii.String("clusteradmin"), }) // The VPC to place the cluster in vpc := ec2.NewVpc(this, jsii.String("AuroraVpc")) // Create the serverless cluster, provide all values needed to customise the database. cluster := rds.NewDatabaseCluster(this, jsii.String("AuroraClusterV2"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraPostgres(&AuroraPostgresClusterEngineProps{ Version: rds.AuroraPostgresEngineVersion_VER_15_5(), }), Credentials: map[string]*string{ "username": jsii.String("clusteradmin"), }, ClusterIdentifier: jsii.String("db-endpoint-test"), Writer: rds.ClusterInstance_ServerlessV2(jsii.String("writer")), ServerlessV2MinCapacity: jsii.Number(2), ServerlessV2MaxCapacity: jsii.Number(10), Vpc: Vpc, DefaultDatabaseName: jsii.String("demos"), EnableDataApi: jsii.Boolean(true), }) rdsDS := api.AddRdsDataSourceV2(jsii.String("rds"), cluster, secret, jsii.String("demos")) // Set up a resolver for an RDS query. rdsDS.CreateResolver(jsii.String("QueryGetDemosRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Query"), FieldName: jsii.String("getDemosRds"), RequestMappingTemplate: appsync.MappingTemplate_FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "SELECT * FROM demos" ] } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[0]) `)), }) // Set up a resolver for an RDS mutation. rdsDS.CreateResolver(jsii.String("MutationAddDemoRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Mutation"), FieldName: jsii.String("addDemoRds"), RequestMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "INSERT INTO demos VALUES (:id, :version)", "SELECT * WHERE id = :id" ], "variableMap": { ":id": $util.toJson($util.autoId()), ":version": $util.toJson($ctx.args.version) } } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0]) `)), })
func Credentials_FromGeneratedSecret ¶
func Credentials_FromGeneratedSecret(username *string, options *CredentialsBaseOptions) Credentials
Creates Credentials with a password generated and stored in Secrets Manager.
func Credentials_FromPassword ¶
func Credentials_FromPassword(username *string, password awscdk.SecretValue) Credentials
Creates Credentials from a password.
Do not put passwords in your CDK code directly.
func Credentials_FromSecret ¶
func Credentials_FromSecret(secret awssecretsmanager.ISecret, username *string) Credentials
Creates Credentials from an existing Secrets Manager “Secret“ (or “DatabaseSecret“).
The Secret must be a JSON string with a “username“ and “password“ field: ```
{ ... "username": <required: username>, "password": <required: password>, }
```.
func Credentials_FromUsername ¶
func Credentials_FromUsername(username *string, options *CredentialsFromUsernameOptions) Credentials
Creates Credentials for the given username, and optional password and key.
If no password is provided, one will be generated and stored in Secrets Manager.
type CredentialsBaseOptions ¶
type CredentialsBaseOptions struct { // KMS encryption key to encrypt the generated secret. // Default: - default master key. // EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // The characters to exclude from the generated password. // // Has no effect if `password` has been provided. // Default: - the DatabaseSecret default exclude character set (" %+~`#$&*()|[]{}:;<>?!'/@\"\\") // ExcludeCharacters *string `field:"optional" json:"excludeCharacters" yaml:"excludeCharacters"` // A list of regions where to replicate this secret. // Default: - Secret is not replicated. // ReplicaRegions *[]*awssecretsmanager.ReplicaRegion `field:"optional" json:"replicaRegions" yaml:"replicaRegions"` // The name of the secret. // Default: - A name is generated by CloudFormation. // SecretName *string `field:"optional" json:"secretName" yaml:"secretName"` }
Base options for creating Credentials.
Example:
var vpc vpc engine := rds.DatabaseInstanceEngine_Postgres(&PostgresInstanceEngineProps{ Version: rds.PostgresEngineVersion_VER_16_3(), }) myKey := kms.NewKey(this, jsii.String("MyKey")) rds.NewDatabaseInstance(this, jsii.String("InstanceWithCustomizedSecret"), &DatabaseInstanceProps{ Engine: Engine, Vpc: Vpc, Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("postgres"), &CredentialsBaseOptions{ SecretName: jsii.String("my-cool-name"), EncryptionKey: myKey, ExcludeCharacters: jsii.String("!&*^#@()"), ReplicaRegions: []replicaRegion{ &replicaRegion{ Region: jsii.String("eu-west-1"), }, &replicaRegion{ Region: jsii.String("eu-west-2"), }, }, }), })
type CredentialsFromUsernameOptions ¶
type CredentialsFromUsernameOptions struct { // KMS encryption key to encrypt the generated secret. // Default: - default master key. // EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // The characters to exclude from the generated password. // // Has no effect if `password` has been provided. // Default: - the DatabaseSecret default exclude character set (" %+~`#$&*()|[]{}:;<>?!'/@\"\\") // ExcludeCharacters *string `field:"optional" json:"excludeCharacters" yaml:"excludeCharacters"` // A list of regions where to replicate this secret. // Default: - Secret is not replicated. // ReplicaRegions *[]*awssecretsmanager.ReplicaRegion `field:"optional" json:"replicaRegions" yaml:"replicaRegions"` // The name of the secret. // Default: - A name is generated by CloudFormation. // SecretName *string `field:"optional" json:"secretName" yaml:"secretName"` // Password. // // Do not put passwords in your CDK code directly. // Default: - a Secrets Manager generated password. // Password awscdk.SecretValue `field:"optional" json:"password" yaml:"password"` }
Options for creating Credentials from a username.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraPostgres(&AuroraPostgresClusterEngineProps{ Version: rds.AuroraPostgresEngineVersion_VER_15_2(), }), Credentials: rds.Credentials_FromUsername(jsii.String("adminuser"), &CredentialsFromUsernameOptions{ Password: awscdk.SecretValue_UnsafePlainText(jsii.String("7959866cacc02c2d243ecfe177464fe6")), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ PubliclyAccessible: jsii.Boolean(false), }), Readers: []iClusterInstance{ rds.ClusterInstance_*Provisioned(jsii.String("reader")), }, StorageType: rds.DBClusterStorageType_AURORA_IOPT1, VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }, Vpc: Vpc, })
type DBClusterStorageType ¶ added in v2.82.0
type DBClusterStorageType string
The storage type to be associated with the DB cluster.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraPostgres(&AuroraPostgresClusterEngineProps{ Version: rds.AuroraPostgresEngineVersion_VER_15_2(), }), Credentials: rds.Credentials_FromUsername(jsii.String("adminuser"), &CredentialsFromUsernameOptions{ Password: awscdk.SecretValue_UnsafePlainText(jsii.String("7959866cacc02c2d243ecfe177464fe6")), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ PubliclyAccessible: jsii.Boolean(false), }), Readers: []iClusterInstance{ rds.ClusterInstance_*Provisioned(jsii.String("reader")), }, StorageType: rds.DBClusterStorageType_AURORA_IOPT1, VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }, Vpc: Vpc, })
const ( // Storage type for Aurora DB standard clusters. DBClusterStorageType_AURORA DBClusterStorageType = "AURORA" // Storage type for Aurora DB I/O-Optimized clusters. DBClusterStorageType_AURORA_IOPT1 DBClusterStorageType = "AURORA_IOPT1" )
type DatabaseCluster ¶
type DatabaseCluster interface { DatabaseClusterBase // The log group is created when `cloudwatchLogsExports` is set. // // Each export value will create a separate log group. CloudwatchLogGroups() *map[string]awslogs.ILogGroup // The ARN of the cluster. ClusterArn() *string // The endpoint to use for read/write operations. ClusterEndpoint() Endpoint // Identifier of the cluster. ClusterIdentifier() *string // Endpoint to use for load-balanced read-only operations. ClusterReadEndpoint() Endpoint // The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP. // // This AWS Region-unique identifier is used in things like IAM authentication policies. ClusterResourceIdentifier() *string // Access to the network connections. Connections() awsec2.Connections EnableDataApi() *bool SetEnableDataApi(val *bool) // The engine for this Cluster. // // Never undefined. Engine() IClusterEngine // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment HasServerlessInstance() *bool SetHasServerlessInstance(val *bool) // Endpoints which address each individual replica. InstanceEndpoints() *[]Endpoint // Identifiers of the replicas. InstanceIdentifiers() *[]*string // Application for multi user rotation to this cluster. MultiUserRotationApplication() awssecretsmanager.SecretRotationApplication NewCfnProps() *CfnDBClusterProps // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The secret attached to this cluster. Secret() awssecretsmanager.ISecret SecurityGroups() *[]awsec2.ISecurityGroup ServerlessV2MaxCapacity() *float64 ServerlessV2MinCapacity() *float64 // Application for single user rotation of the master password to this cluster. SingleUserRotationApplication() awssecretsmanager.SecretRotationApplication // The stack in which this resource is defined. Stack() awscdk.Stack SubnetGroup() ISubnetGroup // The VPC network to place the cluster in. Vpc() awsec2.IVpc // The cluster's subnets. VpcSubnets() *awsec2.SubnetSelection // Add a new db proxy to this cluster. AddProxy(id *string, options *DatabaseProxyOptions) DatabaseProxy // Adds the multi user rotation to this cluster. // // See [Alternating users rotation strategy](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets_strategies.html#rotating-secrets-two-users) AddRotationMultiUser(id *string, options *RotationMultiUserOptions) awssecretsmanager.SecretRotation // Adds the single user rotation of the master password to this cluster. // // See [Single user rotation strategy](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets_strategies.html#rotating-secrets-one-user-one-password) AddRotationSingleUser(options *RotationSingleUserOptions) awssecretsmanager.SecretRotation // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity connection access to the Cluster. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Grant the given identity to access the Data API. GrantDataApiAccess(grantee awsiam.IGrantable) awsiam.Grant // Return the given named metric for this DBCluster. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // This value is represented as a percentage. // // It's calculated as the value of the // ServerlessDatabaseCapacity metric divided by the maximum ACU value of the DB cluster. // // If this metric approaches a value of 100.0, the DB instance has scaled up as high as it can. // Consider increasing the maximum ACU setting for the cluster. MetricACUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The percentage of CPU utilization. // // Average over 5 minutes. MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of database connections in use. // // Average over 5 minutes. MetricDatabaseConnections(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of deadlocks in the database per second. // // Average over 5 minutes. MetricDeadlocks(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of time that the instance has been running, in seconds. // // Average over 5 minutes. MetricEngineUptime(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available random access memory, in bytes. // // Average over 5 minutes. MetricFreeableMemory(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of local storage available, in bytes. // // Average over 5 minutes. MetricFreeLocalStorage(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput received from clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkReceiveThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput both received from and transmitted to clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput sent to clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkTransmitThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // As a cluster-level metric, it represents the average of the ServerlessDatabaseCapacity values of all the Aurora Serverless v2 DB instances in the cluster. MetricServerlessDatabaseCapacity(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total amount of backup storage in bytes consumed by all Aurora snapshots outside its backup retention window. // // Average over 5 minutes. MetricSnapshotStorageUsed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total amount of backup storage in bytes for which you are billed. // // Average over 5 minutes. MetricTotalBackupStorageBilled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of storage used by your Aurora DB instance, in bytes. // // Average over 5 minutes. MetricVolumeBytesUsed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of billed read I/O operations from a cluster volume, reported at 5-minute intervals. // // Average over 5 minutes. MetricVolumeReadIOPs(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of write disk I/O operations to the cluster volume, reported at 5-minute intervals. // // Average over 5 minutes. MetricVolumeWriteIOPs(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Returns a string representation of this construct. ToString() *string }
Create a clustered database with a given number of instances.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_01_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_R6G, ec2.InstanceSize_XLARGE4), }), ServerlessV2MinCapacity: jsii.Number(6.5), ServerlessV2MaxCapacity: jsii.Number(64), Readers: []iClusterInstance{ rds.ClusterInstance_ServerlessV2(jsii.String("reader1"), &ServerlessV2ClusterInstanceProps{ ScaleWithWriter: jsii.Boolean(true), }), rds.ClusterInstance_*ServerlessV2(jsii.String("reader2")), }, Vpc: Vpc, })
func NewDatabaseCluster ¶
func NewDatabaseCluster(scope constructs.Construct, id *string, props *DatabaseClusterProps) DatabaseCluster
type DatabaseClusterAttributes ¶
type DatabaseClusterAttributes struct { // Identifier for the cluster. ClusterIdentifier *string `field:"required" json:"clusterIdentifier" yaml:"clusterIdentifier"` // Cluster endpoint address. // Default: - no endpoint address. // ClusterEndpointAddress *string `field:"optional" json:"clusterEndpointAddress" yaml:"clusterEndpointAddress"` // The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP. // // This AWS Region-unique identifier is used to grant access to the cluster. // Default: none. // ClusterResourceIdentifier *string `field:"optional" json:"clusterResourceIdentifier" yaml:"clusterResourceIdentifier"` // The engine of the existing Cluster. // Default: - the imported Cluster's engine is unknown. // Engine IClusterEngine `field:"optional" json:"engine" yaml:"engine"` // Endpoint addresses of individual instances. // Default: - no instance endpoints. // InstanceEndpointAddresses *[]*string `field:"optional" json:"instanceEndpointAddresses" yaml:"instanceEndpointAddresses"` // Identifier for the instances. // Default: - no instance identifiers. // InstanceIdentifiers *[]*string `field:"optional" json:"instanceIdentifiers" yaml:"instanceIdentifiers"` // The database port. // Default: - none. // Port *float64 `field:"optional" json:"port" yaml:"port"` // Reader endpoint address. // Default: - no reader address. // ReaderEndpointAddress *string `field:"optional" json:"readerEndpointAddress" yaml:"readerEndpointAddress"` // The secret attached to the database cluster. // Default: - the imported Cluster's secret is unknown. // Secret awssecretsmanager.ISecret `field:"optional" json:"secret" yaml:"secret"` // The security groups of the database cluster. // Default: - no security groups. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` }
Properties that describe an existing cluster instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var clusterEngine iClusterEngine var secret secret var securityGroup securityGroup databaseClusterAttributes := &DatabaseClusterAttributes{ ClusterIdentifier: jsii.String("clusterIdentifier"), // the properties below are optional ClusterEndpointAddress: jsii.String("clusterEndpointAddress"), ClusterResourceIdentifier: jsii.String("clusterResourceIdentifier"), Engine: clusterEngine, InstanceEndpointAddresses: []*string{ jsii.String("instanceEndpointAddresses"), }, InstanceIdentifiers: []*string{ jsii.String("instanceIdentifiers"), }, Port: jsii.Number(123), ReaderEndpointAddress: jsii.String("readerEndpointAddress"), Secret: secret, SecurityGroups: []iSecurityGroup{ securityGroup, }, }
type DatabaseClusterBase ¶
type DatabaseClusterBase interface { awscdk.Resource IDatabaseCluster // The ARN of the cluster. ClusterArn() *string // The endpoint to use for read/write operations. ClusterEndpoint() Endpoint // Identifier of the cluster. ClusterIdentifier() *string // Endpoint to use for load-balanced read-only operations. ClusterReadEndpoint() Endpoint // The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP. // // This AWS Region-unique identifier is used in things like IAM authentication policies. ClusterResourceIdentifier() *string // Access to the network connections. Connections() awsec2.Connections EnableDataApi() *bool SetEnableDataApi(val *bool) // The engine of this Cluster. // // May be not known for imported Clusters if it wasn't provided explicitly. Engine() IClusterEngine // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // Endpoints which address each individual replica. InstanceEndpoints() *[]Endpoint // Identifiers of the replicas. InstanceIdentifiers() *[]*string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The secret attached to this cluster. Secret() awssecretsmanager.ISecret // The stack in which this resource is defined. Stack() awscdk.Stack // Add a new db proxy to this cluster. AddProxy(id *string, options *DatabaseProxyOptions) DatabaseProxy // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity connection access to the Cluster. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Grant the given identity to access the Data API. GrantDataApiAccess(grantee awsiam.IGrantable) awsiam.Grant // Return the given named metric for this DBCluster. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The percentage of CPU utilization. // // Average over 5 minutes. MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of database connections in use. // // Average over 5 minutes. MetricDatabaseConnections(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of deadlocks in the database per second. // // Average over 5 minutes. MetricDeadlocks(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of time that the instance has been running, in seconds. // // Average over 5 minutes. MetricEngineUptime(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available random access memory, in bytes. // // Average over 5 minutes. MetricFreeableMemory(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of local storage available, in bytes. // // Average over 5 minutes. MetricFreeLocalStorage(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput received from clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkReceiveThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput both received from and transmitted to clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput sent to clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkTransmitThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total amount of backup storage in bytes consumed by all Aurora snapshots outside its backup retention window. // // Average over 5 minutes. MetricSnapshotStorageUsed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total amount of backup storage in bytes for which you are billed. // // Average over 5 minutes. MetricTotalBackupStorageBilled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of storage used by your Aurora DB instance, in bytes. // // Average over 5 minutes. MetricVolumeBytesUsed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of billed read I/O operations from a cluster volume, reported at 5-minute intervals. // // Average over 5 minutes. MetricVolumeReadIOPs(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of write disk I/O operations to the cluster volume, reported at 5-minute intervals. // // Average over 5 minutes. MetricVolumeWriteIOPs(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Returns a string representation of this construct. ToString() *string }
A new or imported clustered database.
type DatabaseClusterEngine ¶
type DatabaseClusterEngine interface { }
A database cluster engine.
Provides mapping to the serverless application used for secret rotation.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_01_0(), }), Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("clusteradmin")), // Optional - will default to 'admin' username and generated password Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ PubliclyAccessible: jsii.Boolean(false), }), Readers: []iClusterInstance{ rds.ClusterInstance_*Provisioned(jsii.String("reader1"), &ProvisionedClusterInstanceProps{ PromotionTier: jsii.Number(1), }), rds.ClusterInstance_ServerlessV2(jsii.String("reader2")), }, VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }, Vpc: Vpc, })
func NewDatabaseClusterEngine ¶
func NewDatabaseClusterEngine() DatabaseClusterEngine
type DatabaseClusterFromSnapshot ¶
type DatabaseClusterFromSnapshot interface { DatabaseClusterBase // The log group is created when `cloudwatchLogsExports` is set. // // Each export value will create a separate log group. CloudwatchLogGroups() *map[string]awslogs.ILogGroup // The ARN of the cluster. ClusterArn() *string // The endpoint to use for read/write operations. ClusterEndpoint() Endpoint // Identifier of the cluster. ClusterIdentifier() *string // Endpoint to use for load-balanced read-only operations. ClusterReadEndpoint() Endpoint // The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP. // // This AWS Region-unique identifier is used in things like IAM authentication policies. ClusterResourceIdentifier() *string // Access to the network connections. Connections() awsec2.Connections EnableDataApi() *bool SetEnableDataApi(val *bool) // The engine for this Cluster. // // Never undefined. Engine() IClusterEngine // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment HasServerlessInstance() *bool SetHasServerlessInstance(val *bool) // Endpoints which address each individual replica. InstanceEndpoints() *[]Endpoint // Identifiers of the replicas. InstanceIdentifiers() *[]*string // Application for multi user rotation to this cluster. MultiUserRotationApplication() awssecretsmanager.SecretRotationApplication NewCfnProps() *CfnDBClusterProps // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The secret attached to this cluster. Secret() awssecretsmanager.ISecret SecurityGroups() *[]awsec2.ISecurityGroup ServerlessV2MaxCapacity() *float64 ServerlessV2MinCapacity() *float64 // Application for single user rotation of the master password to this cluster. SingleUserRotationApplication() awssecretsmanager.SecretRotationApplication // The stack in which this resource is defined. Stack() awscdk.Stack SubnetGroup() ISubnetGroup // The VPC network to place the cluster in. Vpc() awsec2.IVpc // The cluster's subnets. VpcSubnets() *awsec2.SubnetSelection // Add a new db proxy to this cluster. AddProxy(id *string, options *DatabaseProxyOptions) DatabaseProxy // Adds the multi user rotation to this cluster. // // See [Alternating users rotation strategy](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets_strategies.html#rotating-secrets-two-users) AddRotationMultiUser(id *string, options *RotationMultiUserOptions) awssecretsmanager.SecretRotation // Adds the single user rotation of the master password to this cluster. // // See [Single user rotation strategy](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets_strategies.html#rotating-secrets-one-user-one-password) AddRotationSingleUser(options *RotationSingleUserOptions) awssecretsmanager.SecretRotation // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity connection access to the Cluster. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Grant the given identity to access the Data API. GrantDataApiAccess(grantee awsiam.IGrantable) awsiam.Grant // Return the given named metric for this DBCluster. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // This value is represented as a percentage. // // It's calculated as the value of the // ServerlessDatabaseCapacity metric divided by the maximum ACU value of the DB cluster. // // If this metric approaches a value of 100.0, the DB instance has scaled up as high as it can. // Consider increasing the maximum ACU setting for the cluster. MetricACUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The percentage of CPU utilization. // // Average over 5 minutes. MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of database connections in use. // // Average over 5 minutes. MetricDatabaseConnections(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of deadlocks in the database per second. // // Average over 5 minutes. MetricDeadlocks(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of time that the instance has been running, in seconds. // // Average over 5 minutes. MetricEngineUptime(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available random access memory, in bytes. // // Average over 5 minutes. MetricFreeableMemory(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of local storage available, in bytes. // // Average over 5 minutes. MetricFreeLocalStorage(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput received from clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkReceiveThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput both received from and transmitted to clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput sent to clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkTransmitThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // As a cluster-level metric, it represents the average of the ServerlessDatabaseCapacity values of all the Aurora Serverless v2 DB instances in the cluster. MetricServerlessDatabaseCapacity(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total amount of backup storage in bytes consumed by all Aurora snapshots outside its backup retention window. // // Average over 5 minutes. MetricSnapshotStorageUsed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total amount of backup storage in bytes for which you are billed. // // Average over 5 minutes. MetricTotalBackupStorageBilled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of storage used by your Aurora DB instance, in bytes. // // Average over 5 minutes. MetricVolumeBytesUsed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of billed read I/O operations from a cluster volume, reported at 5-minute intervals. // // Average over 5 minutes. MetricVolumeReadIOPs(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of write disk I/O operations to the cluster volume, reported at 5-minute intervals. // // Average over 5 minutes. MetricVolumeWriteIOPs(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Returns a string representation of this construct. ToString() *string }
A database cluster restored from a snapshot.
Example:
var vpc vpc rds.NewDatabaseClusterFromSnapshot(this, jsii.String("Database"), &DatabaseClusterFromSnapshotProps{ Engine: rds.DatabaseClusterEngine_Aurora(&AuroraClusterEngineProps{ Version: rds.AuroraEngineVersion_VER_1_22_2(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer")), Vpc: Vpc, SnapshotIdentifier: jsii.String("mySnapshot"), })
func NewDatabaseClusterFromSnapshot ¶
func NewDatabaseClusterFromSnapshot(scope constructs.Construct, id *string, props *DatabaseClusterFromSnapshotProps) DatabaseClusterFromSnapshot
type DatabaseClusterFromSnapshotProps ¶
type DatabaseClusterFromSnapshotProps struct { // What kind of database to start. Engine IClusterEngine `field:"required" json:"engine" yaml:"engine"` // The identifier for the DB instance snapshot or DB cluster snapshot to restore from. // // You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. // However, you can use only the ARN to specify a DB instance snapshot. SnapshotIdentifier *string `field:"required" json:"snapshotIdentifier" yaml:"snapshotIdentifier"` // The number of seconds to set a cluster's target backtrack window to. // // This feature is only supported by the Aurora MySQL database engine and // cannot be enabled on existing clusters. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html // // Default: 0 seconds (no backtrack). // BacktrackWindow awscdk.Duration `field:"optional" json:"backtrackWindow" yaml:"backtrackWindow"` // Backup settings. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow // // Default: - Backup retention period for automated backups is 1 day. // Backup preferred window is set to a 30-minute window selected at random from an // 8-hour block of time for each AWS Region, occurring on a random day of the week. // Backup *BackupProps `field:"optional" json:"backup" yaml:"backup"` // The list of log types that need to be enabled for exporting to CloudWatch Logs. // Default: - no log exports. // CloudwatchLogsExports *[]*string `field:"optional" json:"cloudwatchLogsExports" yaml:"cloudwatchLogsExports"` // The number of days log events are kept in CloudWatch Logs. // // When updating // this property, unsetting it doesn't remove the log retention policy. To // remove the retention policy, set the value to `Infinity`. // Default: - logs never expire. // CloudwatchLogsRetention awslogs.RetentionDays `field:"optional" json:"cloudwatchLogsRetention" yaml:"cloudwatchLogsRetention"` // The IAM role for the Lambda function associated with the custom resource that sets the retention policy. // Default: - a new role is created. // CloudwatchLogsRetentionRole awsiam.IRole `field:"optional" json:"cloudwatchLogsRetentionRole" yaml:"cloudwatchLogsRetentionRole"` // An optional identifier for the cluster. // Default: - A name is automatically generated. // ClusterIdentifier *string `field:"optional" json:"clusterIdentifier" yaml:"clusterIdentifier"` // Whether to copy tags to the snapshot when a snapshot is created. // Default: - true. // CopyTagsToSnapshot *bool `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // Credentials for the administrative user. // // Note - using this prop only works with `Credentials.fromPassword()` with the // username of the snapshot, `Credentials.fromUsername()` with the username and // password of the snapshot or `Credentials.fromSecret()` with a secret containing // the username and password of the snapshot. // Default: - A username of 'admin' (or 'postgres' for PostgreSQL) and SecretsManager-generated password // that **will not be applied** to the cluster, use `snapshotCredentials` for the correct behavior. // // Deprecated: use `snapshotCredentials` which allows to generate a new password. Credentials Credentials `field:"optional" json:"credentials" yaml:"credentials"` // Name of a database which is automatically created inside the cluster. // Default: - Database is not created in cluster. // DefaultDatabaseName *string `field:"optional" json:"defaultDatabaseName" yaml:"defaultDatabaseName"` // Indicates whether the DB cluster should have deletion protection enabled. // Default: - true if `removalPolicy` is RETAIN, `undefined` otherwise, which will not enable deletion protection. // To disable deletion protection after it has been enabled, you must explicitly set this value to `false`. // DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // Directory ID for associating the DB cluster with a specific Active Directory. // // Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. // If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. // Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled. // Domain *string `field:"optional" json:"domain" yaml:"domain"` // The IAM role to be used when making API calls to the Directory Service. // // The role needs the AWS-managed policy // `AmazonRDSDirectoryServiceAccess` or equivalent. // Default: - If `DatabaseClusterBaseProps.domain` is specified, a role with the `AmazonRDSDirectoryServiceAccess` policy is automatically created. // DomainRole awsiam.IRole `field:"optional" json:"domainRole" yaml:"domainRole"` // Whether to enable the Data API for the cluster. // Default: - false. // EnableDataApi *bool `field:"optional" json:"enableDataApi" yaml:"enableDataApi"` // Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. // Default: false. // IamAuthentication *bool `field:"optional" json:"iamAuthentication" yaml:"iamAuthentication"` // Base identifier for instances. // // Every replica is named by appending the replica number to this string, 1-based. // Default: - clusterIdentifier is used with the word "Instance" appended. // If clusterIdentifier is not provided, the identifier is automatically generated. // InstanceIdentifierBase *string `field:"optional" json:"instanceIdentifierBase" yaml:"instanceIdentifierBase"` // Settings for the individual instances that are launched. // Deprecated: - use writer and readers instead. InstanceProps *InstanceProps `field:"optional" json:"instanceProps" yaml:"instanceProps"` // How many replicas/instances to create. // // Has to be at least 1. // Default: 2. // // Deprecated: - use writer and readers instead. Instances *float64 `field:"optional" json:"instances" yaml:"instances"` // The ordering of updates for instances. // Default: InstanceUpdateBehaviour.BULK // InstanceUpdateBehaviour InstanceUpdateBehaviour `field:"optional" json:"instanceUpdateBehaviour" yaml:"instanceUpdateBehaviour"` // The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instances. // Default: no enhanced monitoring. // MonitoringInterval awscdk.Duration `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // Role that will be used to manage DB instances monitoring. // Default: - A role is automatically created for you. // MonitoringRole awsiam.IRole `field:"optional" json:"monitoringRole" yaml:"monitoringRole"` // The network type of the DB instance. // Default: - IPV4. // NetworkType NetworkType `field:"optional" json:"networkType" yaml:"networkType"` // Additional parameters to pass to the database engine. // Default: - No parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The parameters in the DBClusterParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBClusterParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // What port to listen on. // Default: - The default for the engine is used. // Port *float64 `field:"optional" json:"port" yaml:"port"` // A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). // // Example: 'Sun:23:45-Mon:00:15'. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // // Default: - 30-minute window selected at random from an 8-hour block of time for // each AWS Region, occurring on a random day of the week. // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // A list of instances to create as cluster reader instances. // Default: - no readers are created. The cluster will have a single writer/reader // Readers *[]IClusterInstance `field:"optional" json:"readers" yaml:"readers"` // The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update. // Default: - RemovalPolicy.SNAPSHOT (remove the cluster and instances, but retain a snapshot of the data) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // S3 buckets that you want to load data into. This feature is only supported by the Aurora database engine. // // This property must not be used if `s3ExportRole` is used. // // For MySQL:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html // // Default: - None. // S3ExportBuckets *[]awss3.IBucket `field:"optional" json:"s3ExportBuckets" yaml:"s3ExportBuckets"` // Role that will be associated with this DB cluster to enable S3 export. // // This feature is only supported by the Aurora database engine. // // This property must not be used if `s3ExportBuckets` is used. // To use this property with Aurora PostgreSQL, it must be configured with the S3 export feature enabled when creating the DatabaseClusterEngine // For MySQL:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html // // Default: - New role is created if `s3ExportBuckets` is set, no role is defined otherwise. // S3ExportRole awsiam.IRole `field:"optional" json:"s3ExportRole" yaml:"s3ExportRole"` // S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. // // This property must not be used if `s3ImportRole` is used. // // For MySQL:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html // // Default: - None. // S3ImportBuckets *[]awss3.IBucket `field:"optional" json:"s3ImportBuckets" yaml:"s3ImportBuckets"` // Role that will be associated with this DB cluster to enable S3 import. // // This feature is only supported by the Aurora database engine. // // This property must not be used if `s3ImportBuckets` is used. // To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine // For MySQL:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html // // Default: - New role is created if `s3ImportBuckets` is set, no role is defined otherwise. // S3ImportRole awsiam.IRole `field:"optional" json:"s3ImportRole" yaml:"s3ImportRole"` // Security group. // Default: a new security group is created. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. // // You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. // The largest value that you can use is 128 (256GB). // // The maximum capacity must be higher than 0.5 ACUs. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations // // Default: 2. // ServerlessV2MaxCapacity *float64 `field:"optional" json:"serverlessV2MaxCapacity" yaml:"serverlessV2MaxCapacity"` // The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. // // You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. // The smallest value that you can use is 0.5. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations // // Default: 0.5 // ServerlessV2MinCapacity *float64 `field:"optional" json:"serverlessV2MinCapacity" yaml:"serverlessV2MinCapacity"` // Master user credentials. // // Note - It is not possible to change the master username for a snapshot; // however, it is possible to provide (or generate) a new password. // Default: - The existing username and password from the snapshot will be used. // SnapshotCredentials SnapshotCredentials `field:"optional" json:"snapshotCredentials" yaml:"snapshotCredentials"` // Whether to enable storage encryption. // Default: - true if storageEncryptionKey is provided, false otherwise. // StorageEncrypted *bool `field:"optional" json:"storageEncrypted" yaml:"storageEncrypted"` // The KMS key for storage encryption. // // If specified, `storageEncrypted` will be set to `true`. // Default: - if storageEncrypted is true then the default master key, no key otherwise. // StorageEncryptionKey awskms.IKey `field:"optional" json:"storageEncryptionKey" yaml:"storageEncryptionKey"` // The storage type to be associated with the DB cluster. // Default: - DBClusterStorageType.AURORA_IOPT1 // StorageType DBClusterStorageType `field:"optional" json:"storageType" yaml:"storageType"` // Existing subnet group for the cluster. // Default: - a new subnet group will be created. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // What subnets to run the RDS instances in. // // Must be at least 2 subnets in two different AZs. Vpc awsec2.IVpc `field:"optional" json:"vpc" yaml:"vpc"` // Where to place the instances within the VPC. // Default: - the Vpc default strategy if not specified. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // The instance to use for the cluster writer. // Default: required if instanceProps is not provided. // Writer IClusterInstance `field:"optional" json:"writer" yaml:"writer"` }
Properties for “DatabaseClusterFromSnapshot“.
Example:
var vpc vpc rds.NewDatabaseClusterFromSnapshot(this, jsii.String("Database"), &DatabaseClusterFromSnapshotProps{ Engine: rds.DatabaseClusterEngine_Aurora(&AuroraClusterEngineProps{ Version: rds.AuroraEngineVersion_VER_1_22_2(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer")), Vpc: Vpc, SnapshotIdentifier: jsii.String("mySnapshot"), })
type DatabaseClusterProps ¶
type DatabaseClusterProps struct { // What kind of database to start. Engine IClusterEngine `field:"required" json:"engine" yaml:"engine"` // The number of seconds to set a cluster's target backtrack window to. // // This feature is only supported by the Aurora MySQL database engine and // cannot be enabled on existing clusters. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html // // Default: 0 seconds (no backtrack). // BacktrackWindow awscdk.Duration `field:"optional" json:"backtrackWindow" yaml:"backtrackWindow"` // Backup settings. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow // // Default: - Backup retention period for automated backups is 1 day. // Backup preferred window is set to a 30-minute window selected at random from an // 8-hour block of time for each AWS Region, occurring on a random day of the week. // Backup *BackupProps `field:"optional" json:"backup" yaml:"backup"` // The list of log types that need to be enabled for exporting to CloudWatch Logs. // Default: - no log exports. // CloudwatchLogsExports *[]*string `field:"optional" json:"cloudwatchLogsExports" yaml:"cloudwatchLogsExports"` // The number of days log events are kept in CloudWatch Logs. // // When updating // this property, unsetting it doesn't remove the log retention policy. To // remove the retention policy, set the value to `Infinity`. // Default: - logs never expire. // CloudwatchLogsRetention awslogs.RetentionDays `field:"optional" json:"cloudwatchLogsRetention" yaml:"cloudwatchLogsRetention"` // The IAM role for the Lambda function associated with the custom resource that sets the retention policy. // Default: - a new role is created. // CloudwatchLogsRetentionRole awsiam.IRole `field:"optional" json:"cloudwatchLogsRetentionRole" yaml:"cloudwatchLogsRetentionRole"` // An optional identifier for the cluster. // Default: - A name is automatically generated. // ClusterIdentifier *string `field:"optional" json:"clusterIdentifier" yaml:"clusterIdentifier"` // Whether to copy tags to the snapshot when a snapshot is created. // Default: - true. // CopyTagsToSnapshot *bool `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // Credentials for the administrative user. // Default: - A username of 'admin' (or 'postgres' for PostgreSQL) and SecretsManager-generated password. // Credentials Credentials `field:"optional" json:"credentials" yaml:"credentials"` // Name of a database which is automatically created inside the cluster. // Default: - Database is not created in cluster. // DefaultDatabaseName *string `field:"optional" json:"defaultDatabaseName" yaml:"defaultDatabaseName"` // Indicates whether the DB cluster should have deletion protection enabled. // Default: - true if `removalPolicy` is RETAIN, `undefined` otherwise, which will not enable deletion protection. // To disable deletion protection after it has been enabled, you must explicitly set this value to `false`. // DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // Directory ID for associating the DB cluster with a specific Active Directory. // // Necessary for enabling Kerberos authentication. If specified, the DB cluster joins the given Active Directory, enabling Kerberos authentication. // If not specified, the DB cluster will not be associated with any Active Directory, and Kerberos authentication will not be enabled. // Default: - DB cluster is not associated with an Active Directory; Kerberos authentication is not enabled. // Domain *string `field:"optional" json:"domain" yaml:"domain"` // The IAM role to be used when making API calls to the Directory Service. // // The role needs the AWS-managed policy // `AmazonRDSDirectoryServiceAccess` or equivalent. // Default: - If `DatabaseClusterBaseProps.domain` is specified, a role with the `AmazonRDSDirectoryServiceAccess` policy is automatically created. // DomainRole awsiam.IRole `field:"optional" json:"domainRole" yaml:"domainRole"` // Whether to enable the Data API for the cluster. // Default: - false. // EnableDataApi *bool `field:"optional" json:"enableDataApi" yaml:"enableDataApi"` // Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. // Default: false. // IamAuthentication *bool `field:"optional" json:"iamAuthentication" yaml:"iamAuthentication"` // Base identifier for instances. // // Every replica is named by appending the replica number to this string, 1-based. // Default: - clusterIdentifier is used with the word "Instance" appended. // If clusterIdentifier is not provided, the identifier is automatically generated. // InstanceIdentifierBase *string `field:"optional" json:"instanceIdentifierBase" yaml:"instanceIdentifierBase"` // Settings for the individual instances that are launched. // Deprecated: - use writer and readers instead. InstanceProps *InstanceProps `field:"optional" json:"instanceProps" yaml:"instanceProps"` // How many replicas/instances to create. // // Has to be at least 1. // Default: 2. // // Deprecated: - use writer and readers instead. Instances *float64 `field:"optional" json:"instances" yaml:"instances"` // The ordering of updates for instances. // Default: InstanceUpdateBehaviour.BULK // InstanceUpdateBehaviour InstanceUpdateBehaviour `field:"optional" json:"instanceUpdateBehaviour" yaml:"instanceUpdateBehaviour"` // The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instances. // Default: no enhanced monitoring. // MonitoringInterval awscdk.Duration `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // Role that will be used to manage DB instances monitoring. // Default: - A role is automatically created for you. // MonitoringRole awsiam.IRole `field:"optional" json:"monitoringRole" yaml:"monitoringRole"` // The network type of the DB instance. // Default: - IPV4. // NetworkType NetworkType `field:"optional" json:"networkType" yaml:"networkType"` // Additional parameters to pass to the database engine. // Default: - No parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The parameters in the DBClusterParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBClusterParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // What port to listen on. // Default: - The default for the engine is used. // Port *float64 `field:"optional" json:"port" yaml:"port"` // A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). // // Example: 'Sun:23:45-Mon:00:15'. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // // Default: - 30-minute window selected at random from an 8-hour block of time for // each AWS Region, occurring on a random day of the week. // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // A list of instances to create as cluster reader instances. // Default: - no readers are created. The cluster will have a single writer/reader // Readers *[]IClusterInstance `field:"optional" json:"readers" yaml:"readers"` // The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update. // Default: - RemovalPolicy.SNAPSHOT (remove the cluster and instances, but retain a snapshot of the data) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // S3 buckets that you want to load data into. This feature is only supported by the Aurora database engine. // // This property must not be used if `s3ExportRole` is used. // // For MySQL:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html // // Default: - None. // S3ExportBuckets *[]awss3.IBucket `field:"optional" json:"s3ExportBuckets" yaml:"s3ExportBuckets"` // Role that will be associated with this DB cluster to enable S3 export. // // This feature is only supported by the Aurora database engine. // // This property must not be used if `s3ExportBuckets` is used. // To use this property with Aurora PostgreSQL, it must be configured with the S3 export feature enabled when creating the DatabaseClusterEngine // For MySQL:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html // // Default: - New role is created if `s3ExportBuckets` is set, no role is defined otherwise. // S3ExportRole awsiam.IRole `field:"optional" json:"s3ExportRole" yaml:"s3ExportRole"` // S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. // // This property must not be used if `s3ImportRole` is used. // // For MySQL:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html // // Default: - None. // S3ImportBuckets *[]awss3.IBucket `field:"optional" json:"s3ImportBuckets" yaml:"s3ImportBuckets"` // Role that will be associated with this DB cluster to enable S3 import. // // This feature is only supported by the Aurora database engine. // // This property must not be used if `s3ImportBuckets` is used. // To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine // For MySQL:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html // // Default: - New role is created if `s3ImportBuckets` is set, no role is defined otherwise. // S3ImportRole awsiam.IRole `field:"optional" json:"s3ImportRole" yaml:"s3ImportRole"` // Security group. // Default: a new security group is created. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. // // You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. // The largest value that you can use is 128 (256GB). // // The maximum capacity must be higher than 0.5 ACUs. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations // // Default: 2. // ServerlessV2MaxCapacity *float64 `field:"optional" json:"serverlessV2MaxCapacity" yaml:"serverlessV2MaxCapacity"` // The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. // // You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. // The smallest value that you can use is 0.5. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations // // Default: 0.5 // ServerlessV2MinCapacity *float64 `field:"optional" json:"serverlessV2MinCapacity" yaml:"serverlessV2MinCapacity"` // Whether to enable storage encryption. // Default: - true if storageEncryptionKey is provided, false otherwise. // StorageEncrypted *bool `field:"optional" json:"storageEncrypted" yaml:"storageEncrypted"` // The KMS key for storage encryption. // // If specified, `storageEncrypted` will be set to `true`. // Default: - if storageEncrypted is true then the default master key, no key otherwise. // StorageEncryptionKey awskms.IKey `field:"optional" json:"storageEncryptionKey" yaml:"storageEncryptionKey"` // The storage type to be associated with the DB cluster. // Default: - DBClusterStorageType.AURORA_IOPT1 // StorageType DBClusterStorageType `field:"optional" json:"storageType" yaml:"storageType"` // Existing subnet group for the cluster. // Default: - a new subnet group will be created. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // What subnets to run the RDS instances in. // // Must be at least 2 subnets in two different AZs. Vpc awsec2.IVpc `field:"optional" json:"vpc" yaml:"vpc"` // Where to place the instances within the VPC. // Default: - the Vpc default strategy if not specified. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // The instance to use for the cluster writer. // Default: required if instanceProps is not provided. // Writer IClusterInstance `field:"optional" json:"writer" yaml:"writer"` }
Properties for a new database cluster.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_01_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_R6G, ec2.InstanceSize_XLARGE4), }), ServerlessV2MinCapacity: jsii.Number(6.5), ServerlessV2MaxCapacity: jsii.Number(64), Readers: []iClusterInstance{ rds.ClusterInstance_ServerlessV2(jsii.String("reader1"), &ServerlessV2ClusterInstanceProps{ ScaleWithWriter: jsii.Boolean(true), }), rds.ClusterInstance_*ServerlessV2(jsii.String("reader2")), }, Vpc: Vpc, })
type DatabaseInstance ¶
type DatabaseInstance interface { DatabaseInstanceBase IDatabaseInstance // The log group is created when `cloudwatchLogsExports` is set. // // Each export value will create a separate log group. CloudwatchLogGroups() *map[string]awslogs.ILogGroup // Access to network connections. Connections() awsec2.Connections // The instance endpoint address. DbInstanceEndpointAddress() *string // The instance endpoint port. DbInstanceEndpointPort() *string EnableIamAuthentication() *bool SetEnableIamAuthentication(val *bool) // The engine of this database Instance. // // May be not known for imported Instances if it wasn't provided explicitly, // or for read replicas. Engine() IInstanceEngine // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The instance arn. InstanceArn() *string // The instance endpoint. InstanceEndpoint() Endpoint // The instance identifier. InstanceIdentifier() *string // The AWS Region-unique, immutable identifier for the DB instance. // // This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed. InstanceResourceId() *string InstanceType() awsec2.InstanceType NewCfnProps() *CfnDBInstanceProps // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The AWS Secrets Manager secret attached to the instance. Secret() awssecretsmanager.ISecret SourceCfnProps() *CfnDBInstanceProps // The stack in which this resource is defined. Stack() awscdk.Stack // The VPC where this database instance is deployed. Vpc() awsec2.IVpc VpcPlacement() *awsec2.SubnetSelection // Add a new db proxy to this instance. AddProxy(id *string, options *DatabaseProxyOptions) DatabaseProxy // Adds the multi user rotation to this instance. AddRotationMultiUser(id *string, options *RotationMultiUserOptions) awssecretsmanager.SecretRotation // Adds the single user rotation of the master password to this instance. AddRotationSingleUser(options *RotationSingleUserOptions) awssecretsmanager.SecretRotation // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity connection access to the database. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Return the given named metric for this DBInstance. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The percentage of CPU utilization. // // Average over 5 minutes. MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of database connections in use. // // Average over 5 minutes. MetricDatabaseConnections(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available random access memory. // // Average over 5 minutes. MetricFreeableMemory(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available storage space. // // Average over 5 minutes. MetricFreeStorageSpace(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk write I/O operations per second. // // Average over 5 minutes. MetricReadIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk read I/O operations per second. // // Average over 5 minutes. MetricWriteIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Defines a CloudWatch event rule which triggers for instance events. // // Use // `rule.addEventPattern(pattern)` to specify a filter. OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule SetLogRetention() // Returns a string representation of this construct. ToString() *string }
A database instance.
Example:
var vpc iVpc instance1 := rds.NewDatabaseInstance(this, jsii.String("PostgresInstance1"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_POSTGRES(), // Generate the secret with admin username `postgres` and random password Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("postgres")), Vpc: Vpc, }) // Templated secret with username and password fields templatedSecret := secretsmanager.NewSecret(this, jsii.String("TemplatedSecret"), &SecretProps{ GenerateSecretString: &SecretStringGenerator{ SecretStringTemplate: jSON.stringify(map[string]*string{ "username": jsii.String("postgres"), }), GenerateStringKey: jsii.String("password"), ExcludeCharacters: jsii.String("/@\""), }, }) // Using the templated secret as credentials instance2 := rds.NewDatabaseInstance(this, jsii.String("PostgresInstance2"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_POSTGRES(), Credentials: map[string]interface{}{ "username": templatedSecret.secretValueFromJson(jsii.String("username")).toString(), "password": templatedSecret.secretValueFromJson(jsii.String("password")), }, Vpc: Vpc, })
func NewDatabaseInstance ¶
func NewDatabaseInstance(scope constructs.Construct, id *string, props *DatabaseInstanceProps) DatabaseInstance
type DatabaseInstanceAttributes ¶
type DatabaseInstanceAttributes struct { // The endpoint address. InstanceEndpointAddress *string `field:"required" json:"instanceEndpointAddress" yaml:"instanceEndpointAddress"` // The instance identifier. InstanceIdentifier *string `field:"required" json:"instanceIdentifier" yaml:"instanceIdentifier"` // The database port. Port *float64 `field:"required" json:"port" yaml:"port"` // The security groups of the instance. SecurityGroups *[]awsec2.ISecurityGroup `field:"required" json:"securityGroups" yaml:"securityGroups"` // The engine of the existing database Instance. // Default: - the imported Instance's engine is unknown. // Engine IInstanceEngine `field:"optional" json:"engine" yaml:"engine"` // The AWS Region-unique, immutable identifier for the DB instance. // // This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance-return-values // InstanceResourceId *string `field:"optional" json:"instanceResourceId" yaml:"instanceResourceId"` }
Properties that describe an existing instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var instanceEngine iInstanceEngine var securityGroup securityGroup databaseInstanceAttributes := &DatabaseInstanceAttributes{ InstanceEndpointAddress: jsii.String("instanceEndpointAddress"), InstanceIdentifier: jsii.String("instanceIdentifier"), Port: jsii.Number(123), SecurityGroups: []iSecurityGroup{ securityGroup, }, // the properties below are optional Engine: instanceEngine, InstanceResourceId: jsii.String("instanceResourceId"), }
type DatabaseInstanceBase ¶
type DatabaseInstanceBase interface { awscdk.Resource IDatabaseInstance // Access to network connections. Connections() awsec2.Connections // The instance endpoint address. DbInstanceEndpointAddress() *string // The instance endpoint port. DbInstanceEndpointPort() *string EnableIamAuthentication() *bool SetEnableIamAuthentication(val *bool) // The engine of this database Instance. // // May be not known for imported Instances if it wasn't provided explicitly, // or for read replicas. Engine() IInstanceEngine // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The instance arn. InstanceArn() *string // The instance endpoint. InstanceEndpoint() Endpoint // The instance identifier. InstanceIdentifier() *string // The AWS Region-unique, immutable identifier for the DB instance. // // This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed. InstanceResourceId() *string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Add a new db proxy to this instance. AddProxy(id *string, options *DatabaseProxyOptions) DatabaseProxy // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity connection access to the database. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Return the given named metric for this DBInstance. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The percentage of CPU utilization. // // Average over 5 minutes. MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of database connections in use. // // Average over 5 minutes. MetricDatabaseConnections(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available random access memory. // // Average over 5 minutes. MetricFreeableMemory(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available storage space. // // Average over 5 minutes. MetricFreeStorageSpace(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk write I/O operations per second. // // Average over 5 minutes. MetricReadIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk read I/O operations per second. // // Average over 5 minutes. MetricWriteIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Defines a CloudWatch event rule which triggers for instance events. // // Use // `rule.addEventPattern(pattern)` to specify a filter. OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule // Returns a string representation of this construct. ToString() *string }
A new or imported database instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var instanceEngine iInstanceEngine var securityGroup securityGroup databaseInstanceBase := awscdk.Aws_rds.DatabaseInstanceBase_FromDatabaseInstanceAttributes(this, jsii.String("MyDatabaseInstanceBase"), &DatabaseInstanceAttributes{ InstanceEndpointAddress: jsii.String("instanceEndpointAddress"), InstanceIdentifier: jsii.String("instanceIdentifier"), Port: jsii.Number(123), SecurityGroups: []iSecurityGroup{ securityGroup, }, // the properties below are optional Engine: instanceEngine, InstanceResourceId: jsii.String("instanceResourceId"), })
type DatabaseInstanceEngine ¶
type DatabaseInstanceEngine interface { }
A database instance engine.
Provides mapping to DatabaseEngine used for secret rotation.
Example:
var vpc vpc iopsInstance := rds.NewDatabaseInstance(this, jsii.String("IopsInstance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_Mysql(&MySqlInstanceEngineProps{ Version: rds.MysqlEngineVersion_VER_8_0_30(), }), Vpc: Vpc, StorageType: rds.StorageType_IO1, Iops: jsii.Number(5000), }) gp3Instance := rds.NewDatabaseInstance(this, jsii.String("Gp3Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_*Mysql(&MySqlInstanceEngineProps{ Version: rds.MysqlEngineVersion_VER_8_0_30(), }), Vpc: Vpc, AllocatedStorage: jsii.Number(500), StorageType: rds.StorageType_GP3, StorageThroughput: jsii.Number(500), })
func NewDatabaseInstanceEngine ¶
func NewDatabaseInstanceEngine() DatabaseInstanceEngine
type DatabaseInstanceFromSnapshot ¶
type DatabaseInstanceFromSnapshot interface { DatabaseInstanceBase IDatabaseInstance // The log group is created when `cloudwatchLogsExports` is set. // // Each export value will create a separate log group. CloudwatchLogGroups() *map[string]awslogs.ILogGroup // Access to network connections. Connections() awsec2.Connections // The instance endpoint address. DbInstanceEndpointAddress() *string // The instance endpoint port. DbInstanceEndpointPort() *string EnableIamAuthentication() *bool SetEnableIamAuthentication(val *bool) // The engine of this database Instance. // // May be not known for imported Instances if it wasn't provided explicitly, // or for read replicas. Engine() IInstanceEngine // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The instance arn. InstanceArn() *string // The instance endpoint. InstanceEndpoint() Endpoint // The instance identifier. InstanceIdentifier() *string // The AWS Region-unique, immutable identifier for the DB instance. // // This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed. InstanceResourceId() *string InstanceType() awsec2.InstanceType NewCfnProps() *CfnDBInstanceProps // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The AWS Secrets Manager secret attached to the instance. Secret() awssecretsmanager.ISecret SourceCfnProps() *CfnDBInstanceProps // The stack in which this resource is defined. Stack() awscdk.Stack // The VPC where this database instance is deployed. Vpc() awsec2.IVpc VpcPlacement() *awsec2.SubnetSelection // Add a new db proxy to this instance. AddProxy(id *string, options *DatabaseProxyOptions) DatabaseProxy // Adds the multi user rotation to this instance. AddRotationMultiUser(id *string, options *RotationMultiUserOptions) awssecretsmanager.SecretRotation // Adds the single user rotation of the master password to this instance. AddRotationSingleUser(options *RotationSingleUserOptions) awssecretsmanager.SecretRotation // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity connection access to the database. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Return the given named metric for this DBInstance. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The percentage of CPU utilization. // // Average over 5 minutes. MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of database connections in use. // // Average over 5 minutes. MetricDatabaseConnections(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available random access memory. // // Average over 5 minutes. MetricFreeableMemory(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available storage space. // // Average over 5 minutes. MetricFreeStorageSpace(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk write I/O operations per second. // // Average over 5 minutes. MetricReadIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk read I/O operations per second. // // Average over 5 minutes. MetricWriteIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Defines a CloudWatch event rule which triggers for instance events. // // Use // `rule.addEventPattern(pattern)` to specify a filter. OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule SetLogRetention() // Returns a string representation of this construct. ToString() *string }
A database instance restored from a snapshot.
Example:
var vpc vpc var sourceInstance databaseInstance rds.NewDatabaseInstanceFromSnapshot(this, jsii.String("Instance"), &DatabaseInstanceFromSnapshotProps{ SnapshotIdentifier: jsii.String("my-snapshot"), Engine: rds.DatabaseInstanceEngine_Postgres(&PostgresInstanceEngineProps{ Version: rds.PostgresEngineVersion_VER_16_3(), }), // optional, defaults to m5.large InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_LARGE), Vpc: Vpc, }) rds.NewDatabaseInstanceReadReplica(this, jsii.String("ReadReplica"), &DatabaseInstanceReadReplicaProps{ SourceDatabaseInstance: sourceInstance, InstanceType: ec2.InstanceType_*Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_LARGE), Vpc: Vpc, })
func NewDatabaseInstanceFromSnapshot ¶
func NewDatabaseInstanceFromSnapshot(scope constructs.Construct, id *string, props *DatabaseInstanceFromSnapshotProps) DatabaseInstanceFromSnapshot
type DatabaseInstanceFromSnapshotProps ¶
type DatabaseInstanceFromSnapshotProps struct { // The VPC network where the DB subnet group should be created. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. // Default: true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The name of the Availability Zone where the DB instance will be located. // Default: - no preference. // AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The number of days during which automatic DB snapshots are retained. // // Set to zero to disable backups. // When creating a read replica, you must enable automatic backups on the source // database instance by setting the backup retention to a value other than zero. // Default: - Duration.days(1) for source instances, disabled for read replicas // BackupRetention awscdk.Duration `field:"optional" json:"backupRetention" yaml:"backupRetention"` // The identifier of the CA certificate for this DB instance. // // Specifying or updating this property triggers a reboot. // // For RDS DB engines:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html // // Default: - RDS will choose a certificate authority. // CaCertificate CaCertificate `field:"optional" json:"caCertificate" yaml:"caCertificate"` // The list of log types that need to be enabled for exporting to CloudWatch Logs. // Default: - no log exports. // CloudwatchLogsExports *[]*string `field:"optional" json:"cloudwatchLogsExports" yaml:"cloudwatchLogsExports"` // The number of days log events are kept in CloudWatch Logs. // // When updating // this property, unsetting it doesn't remove the log retention policy. To // remove the retention policy, set the value to `Infinity`. // Default: - logs never expire. // CloudwatchLogsRetention awslogs.RetentionDays `field:"optional" json:"cloudwatchLogsRetention" yaml:"cloudwatchLogsRetention"` // The IAM role for the Lambda function associated with the custom resource that sets the retention policy. // Default: - a new role is created. // CloudwatchLogsRetentionRole awsiam.IRole `field:"optional" json:"cloudwatchLogsRetentionRole" yaml:"cloudwatchLogsRetentionRole"` // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. // Default: true. // CopyTagsToSnapshot *bool `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // Indicates whether automated backups should be deleted or retained when you delete a DB instance. // Default: true. // DeleteAutomatedBackups *bool `field:"optional" json:"deleteAutomatedBackups" yaml:"deleteAutomatedBackups"` // Indicates whether the DB instance should have deletion protection enabled. // Default: - true if “removalPolicy“ is RETAIN, false otherwise. // DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // The Active Directory directory ID to create the DB instance in. // Default: - Do not join domain. // Domain *string `field:"optional" json:"domain" yaml:"domain"` // The IAM role to be used when making API calls to the Directory Service. // // The role needs the AWS-managed policy // AmazonRDSDirectoryServiceAccess or equivalent. // Default: - The role will be created for you if `DatabaseInstanceNewProps#domain` is specified. // DomainRole awsiam.IRole `field:"optional" json:"domainRole" yaml:"domainRole"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. // Default: false. // IamAuthentication *bool `field:"optional" json:"iamAuthentication" yaml:"iamAuthentication"` // A name for the DB instance. // // If you specify a name, AWS CloudFormation // converts it to lowercase. // Default: - a CloudFormation generated name. // InstanceIdentifier *string `field:"optional" json:"instanceIdentifier" yaml:"instanceIdentifier"` // The number of I/O operations per second (IOPS) that the database provisions. // // The value must be equal to or greater than 1000. // Default: - no provisioned iops if storage type is not specified. For GP3: 3,000 IOPS if allocated // storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, less than 200 GiB for Oracle and // less than 20 GiB for SQL Server. 12,000 IOPS otherwise (except for SQL Server where the default is // always 3,000 IOPS). // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // Upper limit to which RDS can scale the storage in GiB(Gibibyte). // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling // // Default: - No autoscaling of RDS instance. // MaxAllocatedStorage *float64 `field:"optional" json:"maxAllocatedStorage" yaml:"maxAllocatedStorage"` // The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instance. // Default: - no enhanced monitoring. // MonitoringInterval awscdk.Duration `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // Role that will be used to manage DB instance monitoring. // Default: - A role is automatically created for you. // MonitoringRole awsiam.IRole `field:"optional" json:"monitoringRole" yaml:"monitoringRole"` // Specifies if the database instance is a multiple Availability Zone deployment. // Default: false. // MultiAz *bool `field:"optional" json:"multiAz" yaml:"multiAz"` // The network type of the DB instance. // Default: - IPV4. // NetworkType NetworkType `field:"optional" json:"networkType" yaml:"networkType"` // The option group to associate with the instance. // Default: - no option group. // OptionGroup IOptionGroup `field:"optional" json:"optionGroup" yaml:"optionGroup"` // The DB parameter group to associate with the instance. // Default: - no parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7 this is the free tier. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // The port for the instance. // Default: - the default port for the chosen engine. // Port *float64 `field:"optional" json:"port" yaml:"port"` // The daily time range during which automated backups are performed. // // Constraints: // - Must be in the format `hh24:mi-hh24:mi`. // - Must be in Universal Coordinated Time (UTC). // - Must not conflict with the preferred maintenance window. // - Must be at least 30 minutes. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region. To see the time blocks available, see // https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow // PreferredBackupWindow *string `field:"optional" json:"preferredBackupWindow" yaml:"preferredBackupWindow"` // The weekly time range (in UTC) during which system maintenance can occur. // // Format: `ddd:hh24:mi-ddd:hh24:mi` // Constraint: Minimum 30-minute window. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region, occurring on a random day of the week. To see // the time blocks available, see https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // The number of CPU cores and the number of threads per core. // Default: - the default number of CPU cores and threads per core for the // chosen instance class. // // See https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor // ProcessorFeatures *ProcessorFeatures `field:"optional" json:"processorFeatures" yaml:"processorFeatures"` // Indicates whether the DB instance is an internet-facing instance. // // If not specified, // the instance's vpcSubnets will be used to determine if the instance is internet-facing // or not. // Default: - `true` if the instance's `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update. // Default: - RemovalPolicy.SNAPSHOT (remove the resource, but retain a snapshot of the data) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // S3 buckets that you want to load data into. // // This property must not be used if `s3ExportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - None. // S3ExportBuckets *[]awss3.IBucket `field:"optional" json:"s3ExportBuckets" yaml:"s3ExportBuckets"` // Role that will be associated with this DB instance to enable S3 export. // // This property must not be used if `s3ExportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - New role is created if `s3ExportBuckets` is set, no role is defined otherwise. // S3ExportRole awsiam.IRole `field:"optional" json:"s3ExportRole" yaml:"s3ExportRole"` // S3 buckets that you want to load data from. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - None. // S3ImportBuckets *[]awss3.IBucket `field:"optional" json:"s3ImportBuckets" yaml:"s3ImportBuckets"` // Role that will be associated with this DB instance to enable S3 import. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - New role is created if `s3ImportBuckets` is set, no role is defined otherwise. // S3ImportRole awsiam.IRole `field:"optional" json:"s3ImportRole" yaml:"s3ImportRole"` // The security groups to assign to the DB instance. // Default: - a new security group is created. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The storage throughput, specified in mebibytes per second (MiBps). // // Only applicable for GP3. // See: https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage // // Default: - 125 MiBps if allocated storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, // less than 200 GiB for Oracle and less than 20 GiB for SQL Server. 500 MiBps otherwise (except for // SQL Server where the default is always 125 MiBps). // StorageThroughput *float64 `field:"optional" json:"storageThroughput" yaml:"storageThroughput"` // The storage type. // // Storage types supported are gp2, io1, standard. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD // // Default: GP2. // StorageType StorageType `field:"optional" json:"storageType" yaml:"storageType"` // Existing subnet group for the instance. // Default: - a new subnet group will be created. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // The type of subnets to add to the created DB subnet group. // Default: - private subnets. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // The database engine. Engine IInstanceEngine `field:"required" json:"engine" yaml:"engine"` // The allocated storage size, specified in gibibytes (GiB). // Default: 100. // AllocatedStorage *float64 `field:"optional" json:"allocatedStorage" yaml:"allocatedStorage"` // Whether to allow major version upgrades. // Default: false. // AllowMajorVersionUpgrade *bool `field:"optional" json:"allowMajorVersionUpgrade" yaml:"allowMajorVersionUpgrade"` // The name of the database. // Default: - no name. // DatabaseName *string `field:"optional" json:"databaseName" yaml:"databaseName"` // The name of the compute and memory capacity for the instance. // Default: - m5.large (or, more specifically, db.m5.large) // InstanceType awsec2.InstanceType `field:"optional" json:"instanceType" yaml:"instanceType"` // The license model. // Default: - RDS default license model. // LicenseModel LicenseModel `field:"optional" json:"licenseModel" yaml:"licenseModel"` // The parameters in the DBParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // The time zone of the instance. // // This is currently supported only by Microsoft Sql Server. // Default: - RDS default timezone. // Timezone *string `field:"optional" json:"timezone" yaml:"timezone"` // The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. // // If you're restoring from a shared manual DB // snapshot, you must specify the ARN of the snapshot. SnapshotIdentifier *string `field:"required" json:"snapshotIdentifier" yaml:"snapshotIdentifier"` // Master user credentials. // // Note - It is not possible to change the master username for a snapshot; // however, it is possible to provide (or generate) a new password. // Default: - The existing username and password from the snapshot will be used. // Credentials SnapshotCredentials `field:"optional" json:"credentials" yaml:"credentials"` }
Construction properties for a DatabaseInstanceFromSnapshot.
Example:
var vpc vpc var sourceInstance databaseInstance rds.NewDatabaseInstanceFromSnapshot(this, jsii.String("Instance"), &DatabaseInstanceFromSnapshotProps{ SnapshotIdentifier: jsii.String("my-snapshot"), Engine: rds.DatabaseInstanceEngine_Postgres(&PostgresInstanceEngineProps{ Version: rds.PostgresEngineVersion_VER_16_3(), }), // optional, defaults to m5.large InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_LARGE), Vpc: Vpc, }) rds.NewDatabaseInstanceReadReplica(this, jsii.String("ReadReplica"), &DatabaseInstanceReadReplicaProps{ SourceDatabaseInstance: sourceInstance, InstanceType: ec2.InstanceType_*Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_LARGE), Vpc: Vpc, })
type DatabaseInstanceNewProps ¶
type DatabaseInstanceNewProps struct { // The VPC network where the DB subnet group should be created. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. // Default: true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The name of the Availability Zone where the DB instance will be located. // Default: - no preference. // AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The number of days during which automatic DB snapshots are retained. // // Set to zero to disable backups. // When creating a read replica, you must enable automatic backups on the source // database instance by setting the backup retention to a value other than zero. // Default: - Duration.days(1) for source instances, disabled for read replicas // BackupRetention awscdk.Duration `field:"optional" json:"backupRetention" yaml:"backupRetention"` // The identifier of the CA certificate for this DB instance. // // Specifying or updating this property triggers a reboot. // // For RDS DB engines:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html // // Default: - RDS will choose a certificate authority. // CaCertificate CaCertificate `field:"optional" json:"caCertificate" yaml:"caCertificate"` // The list of log types that need to be enabled for exporting to CloudWatch Logs. // Default: - no log exports. // CloudwatchLogsExports *[]*string `field:"optional" json:"cloudwatchLogsExports" yaml:"cloudwatchLogsExports"` // The number of days log events are kept in CloudWatch Logs. // // When updating // this property, unsetting it doesn't remove the log retention policy. To // remove the retention policy, set the value to `Infinity`. // Default: - logs never expire. // CloudwatchLogsRetention awslogs.RetentionDays `field:"optional" json:"cloudwatchLogsRetention" yaml:"cloudwatchLogsRetention"` // The IAM role for the Lambda function associated with the custom resource that sets the retention policy. // Default: - a new role is created. // CloudwatchLogsRetentionRole awsiam.IRole `field:"optional" json:"cloudwatchLogsRetentionRole" yaml:"cloudwatchLogsRetentionRole"` // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. // Default: true. // CopyTagsToSnapshot *bool `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // Indicates whether automated backups should be deleted or retained when you delete a DB instance. // Default: true. // DeleteAutomatedBackups *bool `field:"optional" json:"deleteAutomatedBackups" yaml:"deleteAutomatedBackups"` // Indicates whether the DB instance should have deletion protection enabled. // Default: - true if “removalPolicy“ is RETAIN, false otherwise. // DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // The Active Directory directory ID to create the DB instance in. // Default: - Do not join domain. // Domain *string `field:"optional" json:"domain" yaml:"domain"` // The IAM role to be used when making API calls to the Directory Service. // // The role needs the AWS-managed policy // AmazonRDSDirectoryServiceAccess or equivalent. // Default: - The role will be created for you if `DatabaseInstanceNewProps#domain` is specified. // DomainRole awsiam.IRole `field:"optional" json:"domainRole" yaml:"domainRole"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. // Default: false. // IamAuthentication *bool `field:"optional" json:"iamAuthentication" yaml:"iamAuthentication"` // A name for the DB instance. // // If you specify a name, AWS CloudFormation // converts it to lowercase. // Default: - a CloudFormation generated name. // InstanceIdentifier *string `field:"optional" json:"instanceIdentifier" yaml:"instanceIdentifier"` // The number of I/O operations per second (IOPS) that the database provisions. // // The value must be equal to or greater than 1000. // Default: - no provisioned iops if storage type is not specified. For GP3: 3,000 IOPS if allocated // storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, less than 200 GiB for Oracle and // less than 20 GiB for SQL Server. 12,000 IOPS otherwise (except for SQL Server where the default is // always 3,000 IOPS). // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // Upper limit to which RDS can scale the storage in GiB(Gibibyte). // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling // // Default: - No autoscaling of RDS instance. // MaxAllocatedStorage *float64 `field:"optional" json:"maxAllocatedStorage" yaml:"maxAllocatedStorage"` // The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instance. // Default: - no enhanced monitoring. // MonitoringInterval awscdk.Duration `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // Role that will be used to manage DB instance monitoring. // Default: - A role is automatically created for you. // MonitoringRole awsiam.IRole `field:"optional" json:"monitoringRole" yaml:"monitoringRole"` // Specifies if the database instance is a multiple Availability Zone deployment. // Default: false. // MultiAz *bool `field:"optional" json:"multiAz" yaml:"multiAz"` // The network type of the DB instance. // Default: - IPV4. // NetworkType NetworkType `field:"optional" json:"networkType" yaml:"networkType"` // The option group to associate with the instance. // Default: - no option group. // OptionGroup IOptionGroup `field:"optional" json:"optionGroup" yaml:"optionGroup"` // The DB parameter group to associate with the instance. // Default: - no parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7 this is the free tier. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // The port for the instance. // Default: - the default port for the chosen engine. // Port *float64 `field:"optional" json:"port" yaml:"port"` // The daily time range during which automated backups are performed. // // Constraints: // - Must be in the format `hh24:mi-hh24:mi`. // - Must be in Universal Coordinated Time (UTC). // - Must not conflict with the preferred maintenance window. // - Must be at least 30 minutes. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region. To see the time blocks available, see // https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow // PreferredBackupWindow *string `field:"optional" json:"preferredBackupWindow" yaml:"preferredBackupWindow"` // The weekly time range (in UTC) during which system maintenance can occur. // // Format: `ddd:hh24:mi-ddd:hh24:mi` // Constraint: Minimum 30-minute window. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region, occurring on a random day of the week. To see // the time blocks available, see https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // The number of CPU cores and the number of threads per core. // Default: - the default number of CPU cores and threads per core for the // chosen instance class. // // See https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor // ProcessorFeatures *ProcessorFeatures `field:"optional" json:"processorFeatures" yaml:"processorFeatures"` // Indicates whether the DB instance is an internet-facing instance. // // If not specified, // the instance's vpcSubnets will be used to determine if the instance is internet-facing // or not. // Default: - `true` if the instance's `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update. // Default: - RemovalPolicy.SNAPSHOT (remove the resource, but retain a snapshot of the data) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // S3 buckets that you want to load data into. // // This property must not be used if `s3ExportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - None. // S3ExportBuckets *[]awss3.IBucket `field:"optional" json:"s3ExportBuckets" yaml:"s3ExportBuckets"` // Role that will be associated with this DB instance to enable S3 export. // // This property must not be used if `s3ExportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - New role is created if `s3ExportBuckets` is set, no role is defined otherwise. // S3ExportRole awsiam.IRole `field:"optional" json:"s3ExportRole" yaml:"s3ExportRole"` // S3 buckets that you want to load data from. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - None. // S3ImportBuckets *[]awss3.IBucket `field:"optional" json:"s3ImportBuckets" yaml:"s3ImportBuckets"` // Role that will be associated with this DB instance to enable S3 import. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - New role is created if `s3ImportBuckets` is set, no role is defined otherwise. // S3ImportRole awsiam.IRole `field:"optional" json:"s3ImportRole" yaml:"s3ImportRole"` // The security groups to assign to the DB instance. // Default: - a new security group is created. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The storage throughput, specified in mebibytes per second (MiBps). // // Only applicable for GP3. // See: https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage // // Default: - 125 MiBps if allocated storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, // less than 200 GiB for Oracle and less than 20 GiB for SQL Server. 500 MiBps otherwise (except for // SQL Server where the default is always 125 MiBps). // StorageThroughput *float64 `field:"optional" json:"storageThroughput" yaml:"storageThroughput"` // The storage type. // // Storage types supported are gp2, io1, standard. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD // // Default: GP2. // StorageType StorageType `field:"optional" json:"storageType" yaml:"storageType"` // Existing subnet group for the instance. // Default: - a new subnet group will be created. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // The type of subnets to add to the created DB subnet group. // Default: - private subnets. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Construction properties for a DatabaseInstanceNew.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var bucket bucket var caCertificate caCertificate var key key var optionGroup optionGroup var parameterGroup parameterGroup var role role var securityGroup securityGroup var subnet subnet var subnetFilter subnetFilter var subnetGroup subnetGroup var vpc vpc databaseInstanceNewProps := &DatabaseInstanceNewProps{ Vpc: vpc, // the properties below are optional AutoMinorVersionUpgrade: jsii.Boolean(false), AvailabilityZone: jsii.String("availabilityZone"), BackupRetention: cdk.Duration_Minutes(jsii.Number(30)), CaCertificate: caCertificate, CloudwatchLogsExports: []*string{ jsii.String("cloudwatchLogsExports"), }, CloudwatchLogsRetention: awscdk.Aws_logs.RetentionDays_ONE_DAY, CloudwatchLogsRetentionRole: role, CopyTagsToSnapshot: jsii.Boolean(false), DeleteAutomatedBackups: jsii.Boolean(false), DeletionProtection: jsii.Boolean(false), Domain: jsii.String("domain"), DomainRole: role, EnablePerformanceInsights: jsii.Boolean(false), IamAuthentication: jsii.Boolean(false), InstanceIdentifier: jsii.String("instanceIdentifier"), Iops: jsii.Number(123), MaxAllocatedStorage: jsii.Number(123), MonitoringInterval: cdk.Duration_*Minutes(jsii.Number(30)), MonitoringRole: role, MultiAz: jsii.Boolean(false), NetworkType: awscdk.Aws_rds.NetworkType_IPV4, OptionGroup: optionGroup, ParameterGroup: parameterGroup, PerformanceInsightEncryptionKey: key, PerformanceInsightRetention: awscdk.*Aws_rds.PerformanceInsightRetention_DEFAULT, Port: jsii.Number(123), PreferredBackupWindow: jsii.String("preferredBackupWindow"), PreferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), ProcessorFeatures: &ProcessorFeatures{ CoreCount: jsii.Number(123), ThreadsPerCore: jsii.Number(123), }, PubliclyAccessible: jsii.Boolean(false), RemovalPolicy: cdk.RemovalPolicy_DESTROY, S3ExportBuckets: []iBucket{ bucket, }, S3ExportRole: role, S3ImportBuckets: []*iBucket{ bucket, }, S3ImportRole: role, SecurityGroups: []iSecurityGroup{ securityGroup, }, StorageThroughput: jsii.Number(123), StorageType: awscdk.*Aws_rds.StorageType_STANDARD, SubnetGroup: subnetGroup, VpcSubnets: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, }
type DatabaseInstanceProps ¶
type DatabaseInstanceProps struct { // The VPC network where the DB subnet group should be created. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. // Default: true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The name of the Availability Zone where the DB instance will be located. // Default: - no preference. // AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The number of days during which automatic DB snapshots are retained. // // Set to zero to disable backups. // When creating a read replica, you must enable automatic backups on the source // database instance by setting the backup retention to a value other than zero. // Default: - Duration.days(1) for source instances, disabled for read replicas // BackupRetention awscdk.Duration `field:"optional" json:"backupRetention" yaml:"backupRetention"` // The identifier of the CA certificate for this DB instance. // // Specifying or updating this property triggers a reboot. // // For RDS DB engines:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html // // Default: - RDS will choose a certificate authority. // CaCertificate CaCertificate `field:"optional" json:"caCertificate" yaml:"caCertificate"` // The list of log types that need to be enabled for exporting to CloudWatch Logs. // Default: - no log exports. // CloudwatchLogsExports *[]*string `field:"optional" json:"cloudwatchLogsExports" yaml:"cloudwatchLogsExports"` // The number of days log events are kept in CloudWatch Logs. // // When updating // this property, unsetting it doesn't remove the log retention policy. To // remove the retention policy, set the value to `Infinity`. // Default: - logs never expire. // CloudwatchLogsRetention awslogs.RetentionDays `field:"optional" json:"cloudwatchLogsRetention" yaml:"cloudwatchLogsRetention"` // The IAM role for the Lambda function associated with the custom resource that sets the retention policy. // Default: - a new role is created. // CloudwatchLogsRetentionRole awsiam.IRole `field:"optional" json:"cloudwatchLogsRetentionRole" yaml:"cloudwatchLogsRetentionRole"` // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. // Default: true. // CopyTagsToSnapshot *bool `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // Indicates whether automated backups should be deleted or retained when you delete a DB instance. // Default: true. // DeleteAutomatedBackups *bool `field:"optional" json:"deleteAutomatedBackups" yaml:"deleteAutomatedBackups"` // Indicates whether the DB instance should have deletion protection enabled. // Default: - true if “removalPolicy“ is RETAIN, false otherwise. // DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // The Active Directory directory ID to create the DB instance in. // Default: - Do not join domain. // Domain *string `field:"optional" json:"domain" yaml:"domain"` // The IAM role to be used when making API calls to the Directory Service. // // The role needs the AWS-managed policy // AmazonRDSDirectoryServiceAccess or equivalent. // Default: - The role will be created for you if `DatabaseInstanceNewProps#domain` is specified. // DomainRole awsiam.IRole `field:"optional" json:"domainRole" yaml:"domainRole"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. // Default: false. // IamAuthentication *bool `field:"optional" json:"iamAuthentication" yaml:"iamAuthentication"` // A name for the DB instance. // // If you specify a name, AWS CloudFormation // converts it to lowercase. // Default: - a CloudFormation generated name. // InstanceIdentifier *string `field:"optional" json:"instanceIdentifier" yaml:"instanceIdentifier"` // The number of I/O operations per second (IOPS) that the database provisions. // // The value must be equal to or greater than 1000. // Default: - no provisioned iops if storage type is not specified. For GP3: 3,000 IOPS if allocated // storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, less than 200 GiB for Oracle and // less than 20 GiB for SQL Server. 12,000 IOPS otherwise (except for SQL Server where the default is // always 3,000 IOPS). // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // Upper limit to which RDS can scale the storage in GiB(Gibibyte). // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling // // Default: - No autoscaling of RDS instance. // MaxAllocatedStorage *float64 `field:"optional" json:"maxAllocatedStorage" yaml:"maxAllocatedStorage"` // The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instance. // Default: - no enhanced monitoring. // MonitoringInterval awscdk.Duration `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // Role that will be used to manage DB instance monitoring. // Default: - A role is automatically created for you. // MonitoringRole awsiam.IRole `field:"optional" json:"monitoringRole" yaml:"monitoringRole"` // Specifies if the database instance is a multiple Availability Zone deployment. // Default: false. // MultiAz *bool `field:"optional" json:"multiAz" yaml:"multiAz"` // The network type of the DB instance. // Default: - IPV4. // NetworkType NetworkType `field:"optional" json:"networkType" yaml:"networkType"` // The option group to associate with the instance. // Default: - no option group. // OptionGroup IOptionGroup `field:"optional" json:"optionGroup" yaml:"optionGroup"` // The DB parameter group to associate with the instance. // Default: - no parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7 this is the free tier. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // The port for the instance. // Default: - the default port for the chosen engine. // Port *float64 `field:"optional" json:"port" yaml:"port"` // The daily time range during which automated backups are performed. // // Constraints: // - Must be in the format `hh24:mi-hh24:mi`. // - Must be in Universal Coordinated Time (UTC). // - Must not conflict with the preferred maintenance window. // - Must be at least 30 minutes. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region. To see the time blocks available, see // https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow // PreferredBackupWindow *string `field:"optional" json:"preferredBackupWindow" yaml:"preferredBackupWindow"` // The weekly time range (in UTC) during which system maintenance can occur. // // Format: `ddd:hh24:mi-ddd:hh24:mi` // Constraint: Minimum 30-minute window. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region, occurring on a random day of the week. To see // the time blocks available, see https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // The number of CPU cores and the number of threads per core. // Default: - the default number of CPU cores and threads per core for the // chosen instance class. // // See https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor // ProcessorFeatures *ProcessorFeatures `field:"optional" json:"processorFeatures" yaml:"processorFeatures"` // Indicates whether the DB instance is an internet-facing instance. // // If not specified, // the instance's vpcSubnets will be used to determine if the instance is internet-facing // or not. // Default: - `true` if the instance's `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update. // Default: - RemovalPolicy.SNAPSHOT (remove the resource, but retain a snapshot of the data) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // S3 buckets that you want to load data into. // // This property must not be used if `s3ExportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - None. // S3ExportBuckets *[]awss3.IBucket `field:"optional" json:"s3ExportBuckets" yaml:"s3ExportBuckets"` // Role that will be associated with this DB instance to enable S3 export. // // This property must not be used if `s3ExportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - New role is created if `s3ExportBuckets` is set, no role is defined otherwise. // S3ExportRole awsiam.IRole `field:"optional" json:"s3ExportRole" yaml:"s3ExportRole"` // S3 buckets that you want to load data from. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - None. // S3ImportBuckets *[]awss3.IBucket `field:"optional" json:"s3ImportBuckets" yaml:"s3ImportBuckets"` // Role that will be associated with this DB instance to enable S3 import. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - New role is created if `s3ImportBuckets` is set, no role is defined otherwise. // S3ImportRole awsiam.IRole `field:"optional" json:"s3ImportRole" yaml:"s3ImportRole"` // The security groups to assign to the DB instance. // Default: - a new security group is created. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The storage throughput, specified in mebibytes per second (MiBps). // // Only applicable for GP3. // See: https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage // // Default: - 125 MiBps if allocated storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, // less than 200 GiB for Oracle and less than 20 GiB for SQL Server. 500 MiBps otherwise (except for // SQL Server where the default is always 125 MiBps). // StorageThroughput *float64 `field:"optional" json:"storageThroughput" yaml:"storageThroughput"` // The storage type. // // Storage types supported are gp2, io1, standard. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD // // Default: GP2. // StorageType StorageType `field:"optional" json:"storageType" yaml:"storageType"` // Existing subnet group for the instance. // Default: - a new subnet group will be created. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // The type of subnets to add to the created DB subnet group. // Default: - private subnets. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // The database engine. Engine IInstanceEngine `field:"required" json:"engine" yaml:"engine"` // The allocated storage size, specified in gibibytes (GiB). // Default: 100. // AllocatedStorage *float64 `field:"optional" json:"allocatedStorage" yaml:"allocatedStorage"` // Whether to allow major version upgrades. // Default: false. // AllowMajorVersionUpgrade *bool `field:"optional" json:"allowMajorVersionUpgrade" yaml:"allowMajorVersionUpgrade"` // The name of the database. // Default: - no name. // DatabaseName *string `field:"optional" json:"databaseName" yaml:"databaseName"` // The name of the compute and memory capacity for the instance. // Default: - m5.large (or, more specifically, db.m5.large) // InstanceType awsec2.InstanceType `field:"optional" json:"instanceType" yaml:"instanceType"` // The license model. // Default: - RDS default license model. // LicenseModel LicenseModel `field:"optional" json:"licenseModel" yaml:"licenseModel"` // The parameters in the DBParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // The time zone of the instance. // // This is currently supported only by Microsoft Sql Server. // Default: - RDS default timezone. // Timezone *string `field:"optional" json:"timezone" yaml:"timezone"` // For supported engines, specifies the character set to associate with the DB instance. // Default: - RDS default character set name. // CharacterSetName *string `field:"optional" json:"characterSetName" yaml:"characterSetName"` // Credentials for the administrative user. // Default: - A username of 'admin' (or 'postgres' for PostgreSQL) and SecretsManager-generated password. // Credentials Credentials `field:"optional" json:"credentials" yaml:"credentials"` // Indicates whether the DB instance is encrypted. // Default: - true if storageEncryptionKey has been provided, false otherwise. // StorageEncrypted *bool `field:"optional" json:"storageEncrypted" yaml:"storageEncrypted"` // The KMS key that's used to encrypt the DB instance. // Default: - default master key if storageEncrypted is true, no key otherwise. // StorageEncryptionKey awskms.IKey `field:"optional" json:"storageEncryptionKey" yaml:"storageEncryptionKey"` }
Construction properties for a DatabaseInstance.
Example:
var vpc iVpc instance1 := rds.NewDatabaseInstance(this, jsii.String("PostgresInstance1"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_POSTGRES(), // Generate the secret with admin username `postgres` and random password Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("postgres")), Vpc: Vpc, }) // Templated secret with username and password fields templatedSecret := secretsmanager.NewSecret(this, jsii.String("TemplatedSecret"), &SecretProps{ GenerateSecretString: &SecretStringGenerator{ SecretStringTemplate: jSON.stringify(map[string]*string{ "username": jsii.String("postgres"), }), GenerateStringKey: jsii.String("password"), ExcludeCharacters: jsii.String("/@\""), }, }) // Using the templated secret as credentials instance2 := rds.NewDatabaseInstance(this, jsii.String("PostgresInstance2"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_POSTGRES(), Credentials: map[string]interface{}{ "username": templatedSecret.secretValueFromJson(jsii.String("username")).toString(), "password": templatedSecret.secretValueFromJson(jsii.String("password")), }, Vpc: Vpc, })
type DatabaseInstanceReadReplica ¶
type DatabaseInstanceReadReplica interface { DatabaseInstanceBase IDatabaseInstance // The log group is created when `cloudwatchLogsExports` is set. // // Each export value will create a separate log group. CloudwatchLogGroups() *map[string]awslogs.ILogGroup // Access to network connections. Connections() awsec2.Connections // The instance endpoint address. DbInstanceEndpointAddress() *string // The instance endpoint port. DbInstanceEndpointPort() *string EnableIamAuthentication() *bool SetEnableIamAuthentication(val *bool) // The engine of this database Instance. // // May be not known for imported Instances if it wasn't provided explicitly, // or for read replicas. Engine() IInstanceEngine // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The instance arn. InstanceArn() *string // The instance endpoint. InstanceEndpoint() Endpoint // The instance identifier. InstanceIdentifier() *string // The AWS Region-unique, immutable identifier for the DB instance. // // This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed. InstanceResourceId() *string InstanceType() awsec2.InstanceType NewCfnProps() *CfnDBInstanceProps // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // The VPC where this database instance is deployed. Vpc() awsec2.IVpc VpcPlacement() *awsec2.SubnetSelection // Add a new db proxy to this instance. AddProxy(id *string, options *DatabaseProxyOptions) DatabaseProxy // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity connection access to the database. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Return the given named metric for this DBInstance. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The percentage of CPU utilization. // // Average over 5 minutes. MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of database connections in use. // // Average over 5 minutes. MetricDatabaseConnections(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available random access memory. // // Average over 5 minutes. MetricFreeableMemory(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available storage space. // // Average over 5 minutes. MetricFreeStorageSpace(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk write I/O operations per second. // // Average over 5 minutes. MetricReadIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk read I/O operations per second. // // Average over 5 minutes. MetricWriteIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Defines a CloudWatch event rule which triggers for instance events. // // Use // `rule.addEventPattern(pattern)` to specify a filter. OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule SetLogRetention() // Returns a string representation of this construct. ToString() *string }
A read replica database instance.
Example:
var vpc vpc var sourceInstance databaseInstance rds.NewDatabaseInstanceFromSnapshot(this, jsii.String("Instance"), &DatabaseInstanceFromSnapshotProps{ SnapshotIdentifier: jsii.String("my-snapshot"), Engine: rds.DatabaseInstanceEngine_Postgres(&PostgresInstanceEngineProps{ Version: rds.PostgresEngineVersion_VER_16_3(), }), // optional, defaults to m5.large InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_LARGE), Vpc: Vpc, }) rds.NewDatabaseInstanceReadReplica(this, jsii.String("ReadReplica"), &DatabaseInstanceReadReplicaProps{ SourceDatabaseInstance: sourceInstance, InstanceType: ec2.InstanceType_*Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_LARGE), Vpc: Vpc, })
func NewDatabaseInstanceReadReplica ¶
func NewDatabaseInstanceReadReplica(scope constructs.Construct, id *string, props *DatabaseInstanceReadReplicaProps) DatabaseInstanceReadReplica
type DatabaseInstanceReadReplicaProps ¶
type DatabaseInstanceReadReplicaProps struct { // The VPC network where the DB subnet group should be created. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. // Default: true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The name of the Availability Zone where the DB instance will be located. // Default: - no preference. // AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The number of days during which automatic DB snapshots are retained. // // Set to zero to disable backups. // When creating a read replica, you must enable automatic backups on the source // database instance by setting the backup retention to a value other than zero. // Default: - Duration.days(1) for source instances, disabled for read replicas // BackupRetention awscdk.Duration `field:"optional" json:"backupRetention" yaml:"backupRetention"` // The identifier of the CA certificate for this DB instance. // // Specifying or updating this property triggers a reboot. // // For RDS DB engines:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html // // Default: - RDS will choose a certificate authority. // CaCertificate CaCertificate `field:"optional" json:"caCertificate" yaml:"caCertificate"` // The list of log types that need to be enabled for exporting to CloudWatch Logs. // Default: - no log exports. // CloudwatchLogsExports *[]*string `field:"optional" json:"cloudwatchLogsExports" yaml:"cloudwatchLogsExports"` // The number of days log events are kept in CloudWatch Logs. // // When updating // this property, unsetting it doesn't remove the log retention policy. To // remove the retention policy, set the value to `Infinity`. // Default: - logs never expire. // CloudwatchLogsRetention awslogs.RetentionDays `field:"optional" json:"cloudwatchLogsRetention" yaml:"cloudwatchLogsRetention"` // The IAM role for the Lambda function associated with the custom resource that sets the retention policy. // Default: - a new role is created. // CloudwatchLogsRetentionRole awsiam.IRole `field:"optional" json:"cloudwatchLogsRetentionRole" yaml:"cloudwatchLogsRetentionRole"` // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. // Default: true. // CopyTagsToSnapshot *bool `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // Indicates whether automated backups should be deleted or retained when you delete a DB instance. // Default: true. // DeleteAutomatedBackups *bool `field:"optional" json:"deleteAutomatedBackups" yaml:"deleteAutomatedBackups"` // Indicates whether the DB instance should have deletion protection enabled. // Default: - true if “removalPolicy“ is RETAIN, false otherwise. // DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // The Active Directory directory ID to create the DB instance in. // Default: - Do not join domain. // Domain *string `field:"optional" json:"domain" yaml:"domain"` // The IAM role to be used when making API calls to the Directory Service. // // The role needs the AWS-managed policy // AmazonRDSDirectoryServiceAccess or equivalent. // Default: - The role will be created for you if `DatabaseInstanceNewProps#domain` is specified. // DomainRole awsiam.IRole `field:"optional" json:"domainRole" yaml:"domainRole"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. // Default: false. // IamAuthentication *bool `field:"optional" json:"iamAuthentication" yaml:"iamAuthentication"` // A name for the DB instance. // // If you specify a name, AWS CloudFormation // converts it to lowercase. // Default: - a CloudFormation generated name. // InstanceIdentifier *string `field:"optional" json:"instanceIdentifier" yaml:"instanceIdentifier"` // The number of I/O operations per second (IOPS) that the database provisions. // // The value must be equal to or greater than 1000. // Default: - no provisioned iops if storage type is not specified. For GP3: 3,000 IOPS if allocated // storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, less than 200 GiB for Oracle and // less than 20 GiB for SQL Server. 12,000 IOPS otherwise (except for SQL Server where the default is // always 3,000 IOPS). // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // Upper limit to which RDS can scale the storage in GiB(Gibibyte). // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling // // Default: - No autoscaling of RDS instance. // MaxAllocatedStorage *float64 `field:"optional" json:"maxAllocatedStorage" yaml:"maxAllocatedStorage"` // The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instance. // Default: - no enhanced monitoring. // MonitoringInterval awscdk.Duration `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // Role that will be used to manage DB instance monitoring. // Default: - A role is automatically created for you. // MonitoringRole awsiam.IRole `field:"optional" json:"monitoringRole" yaml:"monitoringRole"` // Specifies if the database instance is a multiple Availability Zone deployment. // Default: false. // MultiAz *bool `field:"optional" json:"multiAz" yaml:"multiAz"` // The network type of the DB instance. // Default: - IPV4. // NetworkType NetworkType `field:"optional" json:"networkType" yaml:"networkType"` // The option group to associate with the instance. // Default: - no option group. // OptionGroup IOptionGroup `field:"optional" json:"optionGroup" yaml:"optionGroup"` // The DB parameter group to associate with the instance. // Default: - no parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7 this is the free tier. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // The port for the instance. // Default: - the default port for the chosen engine. // Port *float64 `field:"optional" json:"port" yaml:"port"` // The daily time range during which automated backups are performed. // // Constraints: // - Must be in the format `hh24:mi-hh24:mi`. // - Must be in Universal Coordinated Time (UTC). // - Must not conflict with the preferred maintenance window. // - Must be at least 30 minutes. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region. To see the time blocks available, see // https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow // PreferredBackupWindow *string `field:"optional" json:"preferredBackupWindow" yaml:"preferredBackupWindow"` // The weekly time range (in UTC) during which system maintenance can occur. // // Format: `ddd:hh24:mi-ddd:hh24:mi` // Constraint: Minimum 30-minute window. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region, occurring on a random day of the week. To see // the time blocks available, see https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // The number of CPU cores and the number of threads per core. // Default: - the default number of CPU cores and threads per core for the // chosen instance class. // // See https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor // ProcessorFeatures *ProcessorFeatures `field:"optional" json:"processorFeatures" yaml:"processorFeatures"` // Indicates whether the DB instance is an internet-facing instance. // // If not specified, // the instance's vpcSubnets will be used to determine if the instance is internet-facing // or not. // Default: - `true` if the instance's `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update. // Default: - RemovalPolicy.SNAPSHOT (remove the resource, but retain a snapshot of the data) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // S3 buckets that you want to load data into. // // This property must not be used if `s3ExportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - None. // S3ExportBuckets *[]awss3.IBucket `field:"optional" json:"s3ExportBuckets" yaml:"s3ExportBuckets"` // Role that will be associated with this DB instance to enable S3 export. // // This property must not be used if `s3ExportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - New role is created if `s3ExportBuckets` is set, no role is defined otherwise. // S3ExportRole awsiam.IRole `field:"optional" json:"s3ExportRole" yaml:"s3ExportRole"` // S3 buckets that you want to load data from. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - None. // S3ImportBuckets *[]awss3.IBucket `field:"optional" json:"s3ImportBuckets" yaml:"s3ImportBuckets"` // Role that will be associated with this DB instance to enable S3 import. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - New role is created if `s3ImportBuckets` is set, no role is defined otherwise. // S3ImportRole awsiam.IRole `field:"optional" json:"s3ImportRole" yaml:"s3ImportRole"` // The security groups to assign to the DB instance. // Default: - a new security group is created. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The storage throughput, specified in mebibytes per second (MiBps). // // Only applicable for GP3. // See: https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage // // Default: - 125 MiBps if allocated storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, // less than 200 GiB for Oracle and less than 20 GiB for SQL Server. 500 MiBps otherwise (except for // SQL Server where the default is always 125 MiBps). // StorageThroughput *float64 `field:"optional" json:"storageThroughput" yaml:"storageThroughput"` // The storage type. // // Storage types supported are gp2, io1, standard. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD // // Default: GP2. // StorageType StorageType `field:"optional" json:"storageType" yaml:"storageType"` // Existing subnet group for the instance. // Default: - a new subnet group will be created. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // The type of subnets to add to the created DB subnet group. // Default: - private subnets. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // The name of the compute and memory capacity classes. InstanceType awsec2.InstanceType `field:"required" json:"instanceType" yaml:"instanceType"` // The source database instance. // // Each DB instance can have a limited number of read replicas. For more // information, see https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html. SourceDatabaseInstance IDatabaseInstance `field:"required" json:"sourceDatabaseInstance" yaml:"sourceDatabaseInstance"` // The allocated storage size, specified in gibibytes (GiB). // Default: - The replica will inherit the allocated storage of the source database instance. // AllocatedStorage *float64 `field:"optional" json:"allocatedStorage" yaml:"allocatedStorage"` // Indicates whether the DB instance is encrypted. // Default: - true if storageEncryptionKey has been provided, false otherwise. // StorageEncrypted *bool `field:"optional" json:"storageEncrypted" yaml:"storageEncrypted"` // The KMS key that's used to encrypt the DB instance. // Default: - default master key if storageEncrypted is true, no key otherwise. // StorageEncryptionKey awskms.IKey `field:"optional" json:"storageEncryptionKey" yaml:"storageEncryptionKey"` }
Construction properties for a DatabaseInstanceReadReplica.
Example:
var vpc vpc var sourceInstance databaseInstance rds.NewDatabaseInstanceFromSnapshot(this, jsii.String("Instance"), &DatabaseInstanceFromSnapshotProps{ SnapshotIdentifier: jsii.String("my-snapshot"), Engine: rds.DatabaseInstanceEngine_Postgres(&PostgresInstanceEngineProps{ Version: rds.PostgresEngineVersion_VER_16_3(), }), // optional, defaults to m5.large InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_LARGE), Vpc: Vpc, }) rds.NewDatabaseInstanceReadReplica(this, jsii.String("ReadReplica"), &DatabaseInstanceReadReplicaProps{ SourceDatabaseInstance: sourceInstance, InstanceType: ec2.InstanceType_*Of(ec2.InstanceClass_BURSTABLE2, ec2.InstanceSize_LARGE), Vpc: Vpc, })
type DatabaseInstanceSourceProps ¶
type DatabaseInstanceSourceProps struct { // The VPC network where the DB subnet group should be created. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. // Default: true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The name of the Availability Zone where the DB instance will be located. // Default: - no preference. // AvailabilityZone *string `field:"optional" json:"availabilityZone" yaml:"availabilityZone"` // The number of days during which automatic DB snapshots are retained. // // Set to zero to disable backups. // When creating a read replica, you must enable automatic backups on the source // database instance by setting the backup retention to a value other than zero. // Default: - Duration.days(1) for source instances, disabled for read replicas // BackupRetention awscdk.Duration `field:"optional" json:"backupRetention" yaml:"backupRetention"` // The identifier of the CA certificate for this DB instance. // // Specifying or updating this property triggers a reboot. // // For RDS DB engines:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html // // Default: - RDS will choose a certificate authority. // CaCertificate CaCertificate `field:"optional" json:"caCertificate" yaml:"caCertificate"` // The list of log types that need to be enabled for exporting to CloudWatch Logs. // Default: - no log exports. // CloudwatchLogsExports *[]*string `field:"optional" json:"cloudwatchLogsExports" yaml:"cloudwatchLogsExports"` // The number of days log events are kept in CloudWatch Logs. // // When updating // this property, unsetting it doesn't remove the log retention policy. To // remove the retention policy, set the value to `Infinity`. // Default: - logs never expire. // CloudwatchLogsRetention awslogs.RetentionDays `field:"optional" json:"cloudwatchLogsRetention" yaml:"cloudwatchLogsRetention"` // The IAM role for the Lambda function associated with the custom resource that sets the retention policy. // Default: - a new role is created. // CloudwatchLogsRetentionRole awsiam.IRole `field:"optional" json:"cloudwatchLogsRetentionRole" yaml:"cloudwatchLogsRetentionRole"` // Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. // Default: true. // CopyTagsToSnapshot *bool `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // Indicates whether automated backups should be deleted or retained when you delete a DB instance. // Default: true. // DeleteAutomatedBackups *bool `field:"optional" json:"deleteAutomatedBackups" yaml:"deleteAutomatedBackups"` // Indicates whether the DB instance should have deletion protection enabled. // Default: - true if “removalPolicy“ is RETAIN, false otherwise. // DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // The Active Directory directory ID to create the DB instance in. // Default: - Do not join domain. // Domain *string `field:"optional" json:"domain" yaml:"domain"` // The IAM role to be used when making API calls to the Directory Service. // // The role needs the AWS-managed policy // AmazonRDSDirectoryServiceAccess or equivalent. // Default: - The role will be created for you if `DatabaseInstanceNewProps#domain` is specified. // DomainRole awsiam.IRole `field:"optional" json:"domainRole" yaml:"domainRole"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. // Default: false. // IamAuthentication *bool `field:"optional" json:"iamAuthentication" yaml:"iamAuthentication"` // A name for the DB instance. // // If you specify a name, AWS CloudFormation // converts it to lowercase. // Default: - a CloudFormation generated name. // InstanceIdentifier *string `field:"optional" json:"instanceIdentifier" yaml:"instanceIdentifier"` // The number of I/O operations per second (IOPS) that the database provisions. // // The value must be equal to or greater than 1000. // Default: - no provisioned iops if storage type is not specified. For GP3: 3,000 IOPS if allocated // storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, less than 200 GiB for Oracle and // less than 20 GiB for SQL Server. 12,000 IOPS otherwise (except for SQL Server where the default is // always 3,000 IOPS). // Iops *float64 `field:"optional" json:"iops" yaml:"iops"` // Upper limit to which RDS can scale the storage in GiB(Gibibyte). // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling // // Default: - No autoscaling of RDS instance. // MaxAllocatedStorage *float64 `field:"optional" json:"maxAllocatedStorage" yaml:"maxAllocatedStorage"` // The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instance. // Default: - no enhanced monitoring. // MonitoringInterval awscdk.Duration `field:"optional" json:"monitoringInterval" yaml:"monitoringInterval"` // Role that will be used to manage DB instance monitoring. // Default: - A role is automatically created for you. // MonitoringRole awsiam.IRole `field:"optional" json:"monitoringRole" yaml:"monitoringRole"` // Specifies if the database instance is a multiple Availability Zone deployment. // Default: false. // MultiAz *bool `field:"optional" json:"multiAz" yaml:"multiAz"` // The network type of the DB instance. // Default: - IPV4. // NetworkType NetworkType `field:"optional" json:"networkType" yaml:"networkType"` // The option group to associate with the instance. // Default: - no option group. // OptionGroup IOptionGroup `field:"optional" json:"optionGroup" yaml:"optionGroup"` // The DB parameter group to associate with the instance. // Default: - no parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7 this is the free tier. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // The port for the instance. // Default: - the default port for the chosen engine. // Port *float64 `field:"optional" json:"port" yaml:"port"` // The daily time range during which automated backups are performed. // // Constraints: // - Must be in the format `hh24:mi-hh24:mi`. // - Must be in Universal Coordinated Time (UTC). // - Must not conflict with the preferred maintenance window. // - Must be at least 30 minutes. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region. To see the time blocks available, see // https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow // PreferredBackupWindow *string `field:"optional" json:"preferredBackupWindow" yaml:"preferredBackupWindow"` // The weekly time range (in UTC) during which system maintenance can occur. // // Format: `ddd:hh24:mi-ddd:hh24:mi` // Constraint: Minimum 30-minute window. // Default: - a 30-minute window selected at random from an 8-hour block of // time for each AWS Region, occurring on a random day of the week. To see // the time blocks available, see https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // The number of CPU cores and the number of threads per core. // Default: - the default number of CPU cores and threads per core for the // chosen instance class. // // See https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor // ProcessorFeatures *ProcessorFeatures `field:"optional" json:"processorFeatures" yaml:"processorFeatures"` // Indicates whether the DB instance is an internet-facing instance. // // If not specified, // the instance's vpcSubnets will be used to determine if the instance is internet-facing // or not. // Default: - `true` if the instance's `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update. // Default: - RemovalPolicy.SNAPSHOT (remove the resource, but retain a snapshot of the data) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // S3 buckets that you want to load data into. // // This property must not be used if `s3ExportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - None. // S3ExportBuckets *[]awss3.IBucket `field:"optional" json:"s3ExportBuckets" yaml:"s3ExportBuckets"` // Role that will be associated with this DB instance to enable S3 export. // // This property must not be used if `s3ExportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html // // Default: - New role is created if `s3ExportBuckets` is set, no role is defined otherwise. // S3ExportRole awsiam.IRole `field:"optional" json:"s3ExportRole" yaml:"s3ExportRole"` // S3 buckets that you want to load data from. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportRole` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - None. // S3ImportBuckets *[]awss3.IBucket `field:"optional" json:"s3ImportBuckets" yaml:"s3ImportBuckets"` // Role that will be associated with this DB instance to enable S3 import. // // This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines. // // This property must not be used if `s3ImportBuckets` is used. // // For Microsoft SQL Server:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html // // Default: - New role is created if `s3ImportBuckets` is set, no role is defined otherwise. // S3ImportRole awsiam.IRole `field:"optional" json:"s3ImportRole" yaml:"s3ImportRole"` // The security groups to assign to the DB instance. // Default: - a new security group is created. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The storage throughput, specified in mebibytes per second (MiBps). // // Only applicable for GP3. // See: https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage // // Default: - 125 MiBps if allocated storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, // less than 200 GiB for Oracle and less than 20 GiB for SQL Server. 500 MiBps otherwise (except for // SQL Server where the default is always 125 MiBps). // StorageThroughput *float64 `field:"optional" json:"storageThroughput" yaml:"storageThroughput"` // The storage type. // // Storage types supported are gp2, io1, standard. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD // // Default: GP2. // StorageType StorageType `field:"optional" json:"storageType" yaml:"storageType"` // Existing subnet group for the instance. // Default: - a new subnet group will be created. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // The type of subnets to add to the created DB subnet group. // Default: - private subnets. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // The database engine. Engine IInstanceEngine `field:"required" json:"engine" yaml:"engine"` // The allocated storage size, specified in gibibytes (GiB). // Default: 100. // AllocatedStorage *float64 `field:"optional" json:"allocatedStorage" yaml:"allocatedStorage"` // Whether to allow major version upgrades. // Default: false. // AllowMajorVersionUpgrade *bool `field:"optional" json:"allowMajorVersionUpgrade" yaml:"allowMajorVersionUpgrade"` // The name of the database. // Default: - no name. // DatabaseName *string `field:"optional" json:"databaseName" yaml:"databaseName"` // The name of the compute and memory capacity for the instance. // Default: - m5.large (or, more specifically, db.m5.large) // InstanceType awsec2.InstanceType `field:"optional" json:"instanceType" yaml:"instanceType"` // The license model. // Default: - RDS default license model. // LicenseModel LicenseModel `field:"optional" json:"licenseModel" yaml:"licenseModel"` // The parameters in the DBParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // The time zone of the instance. // // This is currently supported only by Microsoft Sql Server. // Default: - RDS default timezone. // Timezone *string `field:"optional" json:"timezone" yaml:"timezone"` }
Construction properties for a DatabaseInstanceSource.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var bucket bucket var caCertificate caCertificate var instanceEngine iInstanceEngine var instanceType instanceType var key key var optionGroup optionGroup var parameterGroup parameterGroup var role role var securityGroup securityGroup var subnet subnet var subnetFilter subnetFilter var subnetGroup subnetGroup var vpc vpc databaseInstanceSourceProps := &DatabaseInstanceSourceProps{ Engine: instanceEngine, Vpc: vpc, // the properties below are optional AllocatedStorage: jsii.Number(123), AllowMajorVersionUpgrade: jsii.Boolean(false), AutoMinorVersionUpgrade: jsii.Boolean(false), AvailabilityZone: jsii.String("availabilityZone"), BackupRetention: cdk.Duration_Minutes(jsii.Number(30)), CaCertificate: caCertificate, CloudwatchLogsExports: []*string{ jsii.String("cloudwatchLogsExports"), }, CloudwatchLogsRetention: awscdk.Aws_logs.RetentionDays_ONE_DAY, CloudwatchLogsRetentionRole: role, CopyTagsToSnapshot: jsii.Boolean(false), DatabaseName: jsii.String("databaseName"), DeleteAutomatedBackups: jsii.Boolean(false), DeletionProtection: jsii.Boolean(false), Domain: jsii.String("domain"), DomainRole: role, EnablePerformanceInsights: jsii.Boolean(false), IamAuthentication: jsii.Boolean(false), InstanceIdentifier: jsii.String("instanceIdentifier"), InstanceType: instanceType, Iops: jsii.Number(123), LicenseModel: awscdk.Aws_rds.LicenseModel_LICENSE_INCLUDED, MaxAllocatedStorage: jsii.Number(123), MonitoringInterval: cdk.Duration_*Minutes(jsii.Number(30)), MonitoringRole: role, MultiAz: jsii.Boolean(false), NetworkType: awscdk.*Aws_rds.NetworkType_IPV4, OptionGroup: optionGroup, ParameterGroup: parameterGroup, Parameters: map[string]*string{ "parametersKey": jsii.String("parameters"), }, PerformanceInsightEncryptionKey: key, PerformanceInsightRetention: awscdk.*Aws_rds.PerformanceInsightRetention_DEFAULT, Port: jsii.Number(123), PreferredBackupWindow: jsii.String("preferredBackupWindow"), PreferredMaintenanceWindow: jsii.String("preferredMaintenanceWindow"), ProcessorFeatures: &ProcessorFeatures{ CoreCount: jsii.Number(123), ThreadsPerCore: jsii.Number(123), }, PubliclyAccessible: jsii.Boolean(false), RemovalPolicy: cdk.RemovalPolicy_DESTROY, S3ExportBuckets: []iBucket{ bucket, }, S3ExportRole: role, S3ImportBuckets: []*iBucket{ bucket, }, S3ImportRole: role, SecurityGroups: []iSecurityGroup{ securityGroup, }, StorageThroughput: jsii.Number(123), StorageType: awscdk.*Aws_rds.StorageType_STANDARD, SubnetGroup: subnetGroup, Timezone: jsii.String("timezone"), VpcSubnets: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, }
type DatabaseProxy ¶
type DatabaseProxy interface { awscdk.Resource awsec2.IConnectable IDatabaseProxy awssecretsmanager.ISecretAttachmentTarget // Access to network connections. Connections() awsec2.Connections // DB Proxy ARN. DbProxyArn() *string // DB Proxy Name. DbProxyName() *string // Endpoint. Endpoint() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity connection access to the proxy. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Returns a string representation of this construct. ToString() *string }
RDS Database Proxy.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_03_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer")), Vpc: Vpc, }) proxy := rds.NewDatabaseProxy(this, jsii.String("Proxy"), &DatabaseProxyProps{ ProxyTarget: rds.ProxyTarget_FromCluster(cluster), Secrets: []iSecret{ cluster.Secret, }, Vpc: Vpc, ClientPasswordAuthType: rds.ClientPasswordAuthType_MYSQL_NATIVE_PASSWORD, })
func NewDatabaseProxy ¶
func NewDatabaseProxy(scope constructs.Construct, id *string, props *DatabaseProxyProps) DatabaseProxy
type DatabaseProxyAttributes ¶
type DatabaseProxyAttributes struct { // DB Proxy ARN. DbProxyArn *string `field:"required" json:"dbProxyArn" yaml:"dbProxyArn"` // DB Proxy Name. DbProxyName *string `field:"required" json:"dbProxyName" yaml:"dbProxyName"` // Endpoint. Endpoint *string `field:"required" json:"endpoint" yaml:"endpoint"` // The security groups of the instance. SecurityGroups *[]awsec2.ISecurityGroup `field:"required" json:"securityGroups" yaml:"securityGroups"` }
Properties that describe an existing DB Proxy.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var securityGroup securityGroup databaseProxyAttributes := &DatabaseProxyAttributes{ DbProxyArn: jsii.String("dbProxyArn"), DbProxyName: jsii.String("dbProxyName"), Endpoint: jsii.String("endpoint"), SecurityGroups: []iSecurityGroup{ securityGroup, }, }
type DatabaseProxyOptions ¶
type DatabaseProxyOptions struct { // The secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. // // These secrets are stored within Amazon Secrets Manager. // One or more secrets are required. Secrets *[]awssecretsmanager.ISecret `field:"required" json:"secrets" yaml:"secrets"` // The VPC to associate with the new proxy. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // The duration for a proxy to wait for a connection to become available in the connection pool. // // Only applies when the proxy has opened its maximum number of connections and all connections are busy with client // sessions. // // Value must be between 1 second and 1 hour, or `Duration.seconds(0)` to represent unlimited. // Default: cdk.Duration.seconds(120) // BorrowTimeout awscdk.Duration `field:"optional" json:"borrowTimeout" yaml:"borrowTimeout"` // Specifies the details of authentication used by a proxy to log in as a specific database user. // Default: - CloudFormation defaults will apply given the specified database engine. // ClientPasswordAuthType ClientPasswordAuthType `field:"optional" json:"clientPasswordAuthType" yaml:"clientPasswordAuthType"` // The identifier for the proxy. // // This name must be unique for all proxies owned by your AWS account in the specified AWS Region. // An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; // it can't end with a hyphen or contain two consecutive hyphens. // Default: - Generated by CloudFormation (recommended). // DbProxyName *string `field:"optional" json:"dbProxyName" yaml:"dbProxyName"` // Whether the proxy includes detailed information about SQL statements in its logs. // // This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. // The debug information includes the text of SQL statements that you submit through the proxy. // Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive // information that appears in the logs. // Default: false. // DebugLogging *bool `field:"optional" json:"debugLogging" yaml:"debugLogging"` // Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. // Default: false. // IamAuth *bool `field:"optional" json:"iamAuth" yaml:"iamAuth"` // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. // // You can set this value higher or lower than the connection timeout limit for the associated database. // Default: cdk.Duration.minutes(30) // IdleClientTimeout awscdk.Duration `field:"optional" json:"idleClientTimeout" yaml:"idleClientTimeout"` // One or more SQL statements for the proxy to run when opening each new database connection. // // Typically used with SET statements to make sure that each connection has identical settings such as time zone // and character set. // For multiple statements, use semicolons as the separator. // You can also include multiple variables in a single SET statement, such as SET x=1, y=2. // // not currently supported for PostgreSQL. // Default: - no initialization query. // InitQuery *string `field:"optional" json:"initQuery" yaml:"initQuery"` // The maximum size of the connection pool for each target in a target group. // // For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB // cluster used by the target group. // // 1-100. // Default: 100. // MaxConnectionsPercent *float64 `field:"optional" json:"maxConnectionsPercent" yaml:"maxConnectionsPercent"` // Controls how actively the proxy closes idle database connections in the connection pool. // // A high value enables the proxy to leave a high percentage of idle connections open. // A low value causes the proxy to close idle client connections and return the underlying database connections // to the connection pool. // For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance // or Aurora DB cluster used by the target group. // // between 0 and MaxConnectionsPercent. // Default: 50. // MaxIdleConnectionsPercent *float64 `field:"optional" json:"maxIdleConnectionsPercent" yaml:"maxIdleConnectionsPercent"` // A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. // // By enabling this setting, you can enforce encrypted TLS connections to the proxy. // Default: true. // RequireTLS *bool `field:"optional" json:"requireTLS" yaml:"requireTLS"` // IAM role that the proxy uses to access secrets in AWS Secrets Manager. // Default: - A role will automatically be created. // Role awsiam.IRole `field:"optional" json:"role" yaml:"role"` // One or more VPC security groups to associate with the new proxy. // Default: - No security groups. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. // // Including an item in the list exempts that class of SQL operations from the pinning behavior. // Default: - no session pinning filters. // SessionPinningFilters *[]SessionPinningFilter `field:"optional" json:"sessionPinningFilters" yaml:"sessionPinningFilters"` // The subnets used by the proxy. // Default: - the VPC default strategy if not specified. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Options for a new DatabaseProxy.
Example:
var vpc vpc var securityGroup securityGroup var secrets []secret var dbInstance databaseInstance proxy := dbInstance.AddProxy(jsii.String("proxy"), &DatabaseProxyOptions{ BorrowTimeout: awscdk.Duration_Seconds(jsii.Number(30)), MaxConnectionsPercent: jsii.Number(50), Secrets: Secrets, Vpc: Vpc, })
type DatabaseProxyProps ¶
type DatabaseProxyProps struct { // The secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. // // These secrets are stored within Amazon Secrets Manager. // One or more secrets are required. Secrets *[]awssecretsmanager.ISecret `field:"required" json:"secrets" yaml:"secrets"` // The VPC to associate with the new proxy. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // The duration for a proxy to wait for a connection to become available in the connection pool. // // Only applies when the proxy has opened its maximum number of connections and all connections are busy with client // sessions. // // Value must be between 1 second and 1 hour, or `Duration.seconds(0)` to represent unlimited. // Default: cdk.Duration.seconds(120) // BorrowTimeout awscdk.Duration `field:"optional" json:"borrowTimeout" yaml:"borrowTimeout"` // Specifies the details of authentication used by a proxy to log in as a specific database user. // Default: - CloudFormation defaults will apply given the specified database engine. // ClientPasswordAuthType ClientPasswordAuthType `field:"optional" json:"clientPasswordAuthType" yaml:"clientPasswordAuthType"` // The identifier for the proxy. // // This name must be unique for all proxies owned by your AWS account in the specified AWS Region. // An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; // it can't end with a hyphen or contain two consecutive hyphens. // Default: - Generated by CloudFormation (recommended). // DbProxyName *string `field:"optional" json:"dbProxyName" yaml:"dbProxyName"` // Whether the proxy includes detailed information about SQL statements in its logs. // // This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. // The debug information includes the text of SQL statements that you submit through the proxy. // Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive // information that appears in the logs. // Default: false. // DebugLogging *bool `field:"optional" json:"debugLogging" yaml:"debugLogging"` // Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. // Default: false. // IamAuth *bool `field:"optional" json:"iamAuth" yaml:"iamAuth"` // The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. // // You can set this value higher or lower than the connection timeout limit for the associated database. // Default: cdk.Duration.minutes(30) // IdleClientTimeout awscdk.Duration `field:"optional" json:"idleClientTimeout" yaml:"idleClientTimeout"` // One or more SQL statements for the proxy to run when opening each new database connection. // // Typically used with SET statements to make sure that each connection has identical settings such as time zone // and character set. // For multiple statements, use semicolons as the separator. // You can also include multiple variables in a single SET statement, such as SET x=1, y=2. // // not currently supported for PostgreSQL. // Default: - no initialization query. // InitQuery *string `field:"optional" json:"initQuery" yaml:"initQuery"` // The maximum size of the connection pool for each target in a target group. // // For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB // cluster used by the target group. // // 1-100. // Default: 100. // MaxConnectionsPercent *float64 `field:"optional" json:"maxConnectionsPercent" yaml:"maxConnectionsPercent"` // Controls how actively the proxy closes idle database connections in the connection pool. // // A high value enables the proxy to leave a high percentage of idle connections open. // A low value causes the proxy to close idle client connections and return the underlying database connections // to the connection pool. // For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance // or Aurora DB cluster used by the target group. // // between 0 and MaxConnectionsPercent. // Default: 50. // MaxIdleConnectionsPercent *float64 `field:"optional" json:"maxIdleConnectionsPercent" yaml:"maxIdleConnectionsPercent"` // A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. // // By enabling this setting, you can enforce encrypted TLS connections to the proxy. // Default: true. // RequireTLS *bool `field:"optional" json:"requireTLS" yaml:"requireTLS"` // IAM role that the proxy uses to access secrets in AWS Secrets Manager. // Default: - A role will automatically be created. // Role awsiam.IRole `field:"optional" json:"role" yaml:"role"` // One or more VPC security groups to associate with the new proxy. // Default: - No security groups. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. // // Including an item in the list exempts that class of SQL operations from the pinning behavior. // Default: - no session pinning filters. // SessionPinningFilters *[]SessionPinningFilter `field:"optional" json:"sessionPinningFilters" yaml:"sessionPinningFilters"` // The subnets used by the proxy. // Default: - the VPC default strategy if not specified. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // DB proxy target: Instance or Cluster. ProxyTarget ProxyTarget `field:"required" json:"proxyTarget" yaml:"proxyTarget"` }
Construction properties for a DatabaseProxy.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_03_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer")), Vpc: Vpc, }) proxy := rds.NewDatabaseProxy(this, jsii.String("Proxy"), &DatabaseProxyProps{ ProxyTarget: rds.ProxyTarget_FromCluster(cluster), Secrets: []iSecret{ cluster.Secret, }, Vpc: Vpc, }) role := iam.NewRole(this, jsii.String("DBProxyRole"), &RoleProps{ AssumedBy: iam.NewAccountPrincipal(this.Account), }) proxy.GrantConnect(role, jsii.String("admin"))
type DatabaseSecret ¶
type DatabaseSecret interface { awssecretsmanager.Secret // Provides an identifier for this secret for use in IAM policies. // // If there is a full ARN, this is just the ARN; // if we have a partial ARN -- due to either importing by secret name or partial ARN -- // then we need to add a suffix to capture the full ARN's format. ArnForPolicies() *string AutoCreatePolicy() *bool // The customer-managed encryption key that is used to encrypt this secret, if any. // // When not specified, the default // KMS key for the account and region is being used. EncryptionKey() awskms.IKey // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The string of the characters that are excluded in this secret when it is generated. ExcludeCharacters() *string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The ARN of the secret in AWS Secrets Manager. // // Will return the full ARN if available, otherwise a partial arn. // For secrets imported by the deprecated `fromSecretName`, it will return the `secretName`. SecretArn() *string // The full ARN of the secret in AWS Secrets Manager, which is the ARN including the Secrets Manager-supplied 6-character suffix. // // This is equal to `secretArn` in most cases, but is undefined when a full ARN is not available (e.g., secrets imported by name). SecretFullArn() *string // The name of the secret. // // For "owned" secrets, this will be the full resource name (secret name + suffix), unless the // '@aws-cdk/aws-secretsmanager:parseOwnedSecretName' feature flag is set. SecretName() *string // Retrieve the value of the stored secret as a `SecretValue`. SecretValue() awscdk.SecretValue // The stack in which this resource is defined. Stack() awscdk.Stack // Adds a replica region for the secret. AddReplicaRegion(region *string, encryptionKey awskms.IKey) // Adds a rotation schedule to the secret. AddRotationSchedule(id *string, options *awssecretsmanager.RotationScheduleOptions) awssecretsmanager.RotationSchedule // Adds a statement to the IAM resource policy associated with this secret. // // If this secret was created in this stack, a resource policy will be // automatically created upon the first call to `addToResourcePolicy`. If // the secret is imported, then this is a no-op. AddToResourcePolicy(statement awsiam.PolicyStatement) *awsiam.AddToResourcePolicyResult // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Attach a target to this secret. // // Returns: An attached secret. Attach(target awssecretsmanager.ISecretAttachmentTarget) awssecretsmanager.ISecret // Denies the `DeleteSecret` action to all principals within the current account. DenyAccountRootDelete() GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grants reading the secret value to some role. GrantRead(grantee awsiam.IGrantable, versionStages *[]*string) awsiam.Grant // Grants writing and updating the secret value to some role. GrantWrite(grantee awsiam.IGrantable) awsiam.Grant // Interpret the secret as a JSON object and return a field's value from it as a `SecretValue`. SecretValueFromJson(jsonField *string) awscdk.SecretValue // Returns a string representation of this construct. ToString() *string }
A database secret.
Example:
// Build a data source for AppSync to access the database. var api graphqlApi // Create username and password secret for DB Cluster secret := rds.NewDatabaseSecret(this, jsii.String("AuroraSecret"), &DatabaseSecretProps{ Username: jsii.String("clusteradmin"), }) // The VPC to place the cluster in vpc := ec2.NewVpc(this, jsii.String("AuroraVpc")) // Create the serverless cluster, provide all values needed to customise the database. cluster := rds.NewServerlessCluster(this, jsii.String("AuroraCluster"), &ServerlessClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA_MYSQL(), Vpc: Vpc, Credentials: map[string]*string{ "username": jsii.String("clusteradmin"), }, ClusterIdentifier: jsii.String("db-endpoint-test"), DefaultDatabaseName: jsii.String("demos"), }) rdsDS := api.AddRdsDataSource(jsii.String("rds"), cluster, secret, jsii.String("demos")) // Set up a resolver for an RDS query. rdsDS.CreateResolver(jsii.String("QueryGetDemosRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Query"), FieldName: jsii.String("getDemosRds"), RequestMappingTemplate: appsync.MappingTemplate_FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "SELECT * FROM demos" ] } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[0]) `)), }) // Set up a resolver for an RDS mutation. rdsDS.CreateResolver(jsii.String("MutationAddDemoRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Mutation"), FieldName: jsii.String("addDemoRds"), RequestMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "INSERT INTO demos VALUES (:id, :version)", "SELECT * WHERE id = :id" ], "variableMap": { ":id": $util.toJson($util.autoId()), ":version": $util.toJson($ctx.args.version) } } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0]) `)), })
func NewDatabaseSecret ¶
func NewDatabaseSecret(scope constructs.Construct, id *string, props *DatabaseSecretProps) DatabaseSecret
type DatabaseSecretProps ¶
type DatabaseSecretProps struct { // The username. Username *string `field:"required" json:"username" yaml:"username"` // The database name, if not using the default one. // Default: - whatever the secret generates after the attach method is run. // Dbname *string `field:"optional" json:"dbname" yaml:"dbname"` // The KMS key to use to encrypt the secret. // Default: default master key. // EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // Characters to not include in the generated password. // Default: " %+~`#$&*()|[]{}:;<>?!'/@\"\\" // ExcludeCharacters *string `field:"optional" json:"excludeCharacters" yaml:"excludeCharacters"` // The master secret which will be used to rotate this secret. // Default: - no master secret information will be included. // MasterSecret awssecretsmanager.ISecret `field:"optional" json:"masterSecret" yaml:"masterSecret"` // Whether to replace this secret when the criteria for the password change. // // This is achieved by overriding the logical id of the AWS::SecretsManager::Secret // with a hash of the options that influence the password generation. This // way a new secret will be created when the password is regenerated and the // cluster or instance consuming this secret will have its credentials updated. // Default: false. // ReplaceOnPasswordCriteriaChanges *bool `field:"optional" json:"replaceOnPasswordCriteriaChanges" yaml:"replaceOnPasswordCriteriaChanges"` // A list of regions where to replicate this secret. // Default: - Secret is not replicated. // ReplicaRegions *[]*awssecretsmanager.ReplicaRegion `field:"optional" json:"replicaRegions" yaml:"replicaRegions"` // A name for the secret. // Default: - A name is generated by CloudFormation. // SecretName *string `field:"optional" json:"secretName" yaml:"secretName"` }
Construction properties for a DatabaseSecret.
Example:
// Build a data source for AppSync to access the database. var api graphqlApi // Create username and password secret for DB Cluster secret := rds.NewDatabaseSecret(this, jsii.String("AuroraSecret"), &DatabaseSecretProps{ Username: jsii.String("clusteradmin"), }) // The VPC to place the cluster in vpc := ec2.NewVpc(this, jsii.String("AuroraVpc")) // Create the serverless cluster, provide all values needed to customise the database. cluster := rds.NewServerlessCluster(this, jsii.String("AuroraCluster"), &ServerlessClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA_MYSQL(), Vpc: Vpc, Credentials: map[string]*string{ "username": jsii.String("clusteradmin"), }, ClusterIdentifier: jsii.String("db-endpoint-test"), DefaultDatabaseName: jsii.String("demos"), }) rdsDS := api.AddRdsDataSource(jsii.String("rds"), cluster, secret, jsii.String("demos")) // Set up a resolver for an RDS query. rdsDS.CreateResolver(jsii.String("QueryGetDemosRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Query"), FieldName: jsii.String("getDemosRds"), RequestMappingTemplate: appsync.MappingTemplate_FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "SELECT * FROM demos" ] } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[0]) `)), }) // Set up a resolver for an RDS mutation. rdsDS.CreateResolver(jsii.String("MutationAddDemoRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Mutation"), FieldName: jsii.String("addDemoRds"), RequestMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "INSERT INTO demos VALUES (:id, :version)", "SELECT * WHERE id = :id" ], "variableMap": { ":id": $util.toJson($util.autoId()), ":version": $util.toJson($ctx.args.version) } } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0]) `)), })
type Endpoint ¶
type Endpoint interface { // The hostname of the endpoint. Hostname() *string // The port of the endpoint. Port() *float64 // The combination of "HOSTNAME:PORT" for this endpoint. SocketAddress() *string }
Connection endpoint of a database cluster or instance.
Consists of a combination of hostname and port.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" endpoint := awscdk.Aws_rds.NewEndpoint(jsii.String("address"), jsii.Number(123))
func NewEndpoint ¶
type EngineVersion ¶
type EngineVersion struct { // The major version of the engine, for example, "5.6". Used in specifying the ParameterGroup family and OptionGroup version for this engine. MajorVersion *string `field:"required" json:"majorVersion" yaml:"majorVersion"` // The full version string of the engine, for example, "5.6.mysql_aurora.1.22.1". It can be undefined, which means RDS should use whatever version it deems appropriate for the given engine type. // Default: - no version specified. // FullVersion *string `field:"optional" json:"fullVersion" yaml:"fullVersion"` }
A version of an engine - for either a cluster, or instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" engineVersion := &EngineVersion{ MajorVersion: jsii.String("majorVersion"), // the properties below are optional FullVersion: jsii.String("fullVersion"), }
type IAuroraClusterInstance ¶ added in v2.82.0
type IAuroraClusterInstance interface { awscdk.IResource // The instance ARN. DbInstanceArn() *string // The instance endpoint address. DbInstanceEndpointAddress() *string // The instance resource ID. DbiResourceId() *string // The instance identifier. InstanceIdentifier() *string // The instance size if the instance is a provisioned type. InstanceSize() *string // Te promotion tier the instance was created in. Tier() *float64 // The instance type (provisioned vs serverless v2). Type() InstanceType }
An Aurora Cluster Instance.
type IClusterEngine ¶
type IClusterEngine interface { IEngine // Method called when the engine is used to create a new cluster. BindToCluster(scope constructs.Construct, options *ClusterEngineBindOptions) *ClusterEngineConfig // Whether the IAM Roles used for data importing and exporting need to be combined for this Engine, or can they be kept separate. // Default: false. // CombineImportAndExportRoles() *bool // The application used by this engine to perform rotation for a multi-user scenario. MultiUserRotationApplication() awssecretsmanager.SecretRotationApplication // The application used by this engine to perform rotation for a single-user scenario. SingleUserRotationApplication() awssecretsmanager.SecretRotationApplication // The log types that are available with this engine type. SupportedLogTypes() *[]*string }
The interface representing a database cluster (as opposed to instance) engine.
func DatabaseClusterEngine_AURORA ¶
func DatabaseClusterEngine_AURORA() IClusterEngine
func DatabaseClusterEngine_AURORA_MYSQL ¶
func DatabaseClusterEngine_AURORA_MYSQL() IClusterEngine
func DatabaseClusterEngine_AURORA_POSTGRESQL ¶
func DatabaseClusterEngine_AURORA_POSTGRESQL() IClusterEngine
func DatabaseClusterEngine_Aurora ¶
func DatabaseClusterEngine_Aurora(props *AuroraClusterEngineProps) IClusterEngine
Creates a new plain Aurora database cluster engine.
func DatabaseClusterEngine_AuroraMysql ¶
func DatabaseClusterEngine_AuroraMysql(props *AuroraMysqlClusterEngineProps) IClusterEngine
Creates a new Aurora MySQL database cluster engine.
func DatabaseClusterEngine_AuroraPostgres ¶
func DatabaseClusterEngine_AuroraPostgres(props *AuroraPostgresClusterEngineProps) IClusterEngine
Creates a new Aurora PostgreSQL database cluster engine.
type IClusterInstance ¶ added in v2.82.0
type IClusterInstance interface { // Create the database instance within the provided cluster. Bind(scope constructs.Construct, cluster IDatabaseCluster, options *ClusterInstanceBindOptions) IAuroraClusterInstance }
Represents an Aurora cluster instance This can be either a provisioned instance or a serverless v2 instance.
func ClusterInstance_Provisioned ¶ added in v2.82.0
func ClusterInstance_Provisioned(id *string, props *ProvisionedClusterInstanceProps) IClusterInstance
Add a provisioned instance to the cluster.
Example:
rds.ClusterInstance_Provisioned(jsii.String("ClusterInstance"), &ProvisionedClusterInstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_R6G, ec2.InstanceSize_XLARGE4), })
func ClusterInstance_ServerlessV2 ¶ added in v2.82.0
func ClusterInstance_ServerlessV2(id *string, props *ServerlessV2ClusterInstanceProps) IClusterInstance
Add a serverless v2 instance to the cluster.
Example:
rds.ClusterInstance_ServerlessV2(jsii.String("ClusterInstance"), &ServerlessV2ClusterInstanceProps{ ScaleWithWriter: jsii.Boolean(true), })
type IDatabaseCluster ¶
type IDatabaseCluster interface { awsec2.IConnectable awscdk.IResource awssecretsmanager.ISecretAttachmentTarget // Add a new db proxy to this cluster. AddProxy(id *string, options *DatabaseProxyOptions) DatabaseProxy // Grant the given identity connection access to the Cluster. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Grant the given identity to access to the Data API. GrantDataApiAccess(grantee awsiam.IGrantable) awsiam.Grant // Return the given named metric for this DBCluster. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The percentage of CPU utilization. // // Average over 5 minutes. MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of database connections in use. // // Average over 5 minutes. MetricDatabaseConnections(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of deadlocks in the database per second. // // Average over 5 minutes. MetricDeadlocks(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of time that the instance has been running, in seconds. // // Average over 5 minutes. MetricEngineUptime(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available random access memory, in bytes. // // Average over 5 minutes. MetricFreeableMemory(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of local storage available, in bytes. // // Average over 5 minutes. MetricFreeLocalStorage(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput received from clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkReceiveThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput both received from and transmitted to clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of network throughput sent to clients by each instance, in bytes per second. // // Average over 5 minutes. MetricNetworkTransmitThroughput(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total amount of backup storage in bytes consumed by all Aurora snapshots outside its backup retention window. // // Average over 5 minutes. MetricSnapshotStorageUsed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The total amount of backup storage in bytes for which you are billed. // // Average over 5 minutes. MetricTotalBackupStorageBilled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of storage used by your Aurora DB instance, in bytes. // // Average over 5 minutes. MetricVolumeBytesUsed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of billed read I/O operations from a cluster volume, reported at 5-minute intervals. // // Average over 5 minutes. MetricVolumeReadIOPs(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of write disk I/O operations to the cluster volume, reported at 5-minute intervals. // // Average over 5 minutes. MetricVolumeWriteIOPs(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The ARN of the database cluster. ClusterArn() *string // The endpoint to use for read/write operations. ClusterEndpoint() Endpoint // Identifier of the cluster. ClusterIdentifier() *string // Endpoint to use for load-balanced read-only operations. ClusterReadEndpoint() Endpoint // The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP. // // This AWS Region-unique identifier is used in things like IAM authentication policies. ClusterResourceIdentifier() *string // The engine of this Cluster. // // May be not known for imported Clusters if it wasn't provided explicitly. Engine() IClusterEngine // Endpoints which address each individual replica. InstanceEndpoints() *[]Endpoint // Identifiers of the replicas. InstanceIdentifiers() *[]*string }
Create a clustered database with a given number of instances.
func DatabaseCluster_FromDatabaseClusterAttributes ¶
func DatabaseCluster_FromDatabaseClusterAttributes(scope constructs.Construct, id *string, attrs *DatabaseClusterAttributes) IDatabaseCluster
Import an existing DatabaseCluster from properties.
type IDatabaseInstance ¶
type IDatabaseInstance interface { awsec2.IConnectable awscdk.IResource awssecretsmanager.ISecretAttachmentTarget // Add a new db proxy to this instance. AddProxy(id *string, options *DatabaseProxyOptions) DatabaseProxy // Grant the given identity connection access to the database. GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // Return the given named metric for this DBInstance. Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The percentage of CPU utilization. // // Average over 5 minutes. MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The number of database connections in use. // // Average over 5 minutes. MetricDatabaseConnections(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available random access memory. // // Average over 5 minutes. MetricFreeableMemory(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The amount of available storage space. // // Average over 5 minutes. MetricFreeStorageSpace(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk write I/O operations per second. // // Average over 5 minutes. MetricReadIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // The average number of disk read I/O operations per second. // // Average over 5 minutes. MetricWriteIOPS(props *awscloudwatch.MetricOptions) awscloudwatch.Metric // Defines a CloudWatch event rule which triggers for instance events. // // Use // `rule.addEventPattern(pattern)` to specify a filter. OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule // The instance endpoint address. DbInstanceEndpointAddress() *string // The instance endpoint port. DbInstanceEndpointPort() *string // The engine of this database Instance. // // May be not known for imported Instances if it wasn't provided explicitly, // or for read replicas. Engine() IInstanceEngine // The instance arn. InstanceArn() *string // The instance endpoint. InstanceEndpoint() Endpoint // The instance identifier. InstanceIdentifier() *string // The AWS Region-unique, immutable identifier for the DB instance. // // This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance-return-values // InstanceResourceId() *string }
A database instance.
func DatabaseInstanceBase_FromDatabaseInstanceAttributes ¶
func DatabaseInstanceBase_FromDatabaseInstanceAttributes(scope constructs.Construct, id *string, attrs *DatabaseInstanceAttributes) IDatabaseInstance
Import an existing database instance.
func DatabaseInstanceFromSnapshot_FromDatabaseInstanceAttributes ¶
func DatabaseInstanceFromSnapshot_FromDatabaseInstanceAttributes(scope constructs.Construct, id *string, attrs *DatabaseInstanceAttributes) IDatabaseInstance
Import an existing database instance.
func DatabaseInstanceReadReplica_FromDatabaseInstanceAttributes ¶
func DatabaseInstanceReadReplica_FromDatabaseInstanceAttributes(scope constructs.Construct, id *string, attrs *DatabaseInstanceAttributes) IDatabaseInstance
Import an existing database instance.
func DatabaseInstance_FromDatabaseInstanceAttributes ¶
func DatabaseInstance_FromDatabaseInstanceAttributes(scope constructs.Construct, id *string, attrs *DatabaseInstanceAttributes) IDatabaseInstance
Import an existing database instance.
type IDatabaseProxy ¶
type IDatabaseProxy interface { awscdk.IResource // Grant the given identity connection access to the proxy. // Default: - if the Proxy had been provided a single Secret value, // the user will be taken from that Secret. // GrantConnect(grantee awsiam.IGrantable, dbUser *string) awsiam.Grant // DB Proxy ARN. DbProxyArn() *string // DB Proxy Name. DbProxyName() *string // Endpoint. Endpoint() *string }
DB Proxy.
func DatabaseProxy_FromDatabaseProxyAttributes ¶
func DatabaseProxy_FromDatabaseProxyAttributes(scope constructs.Construct, id *string, attrs *DatabaseProxyAttributes) IDatabaseProxy
Import an existing database proxy.
type IEngine ¶
type IEngine interface { // The default name of the master database user if one was not provided explicitly. // // The global default of 'admin' will be used if this is `undefined`. // Note that 'admin' is a reserved word in PostgreSQL and cannot be used. DefaultUsername() *string // The family this engine belongs to, like "MYSQL", or "POSTGRESQL". // // This property is used when creating a Database Proxy. // Most engines don't belong to any family // (and because of that, you can't create Database Proxies for their Clusters or Instances). // Default: - the engine doesn't belong to any family. // EngineFamily() *string // The type of the engine, for example "mysql". EngineType() *string // The exact version of the engine that is used, for example "5.1.42". // Default: - use the default version for this engine type. // EngineVersion() *EngineVersion // The family to use for ParameterGroups using this engine. // // This is usually equal to "<engineType><engineMajorVersion>", // but can sometimes be a variation of that. // You can pass this property when creating new ParameterGroup. // Default: - the ParameterGroup family is not known // (which means the major version of the engine is also not known). // ParameterGroupFamily() *string }
A common interface for database engines.
Don't implement this interface directly, instead implement one of the known sub-interfaces, like IClusterEngine and IInstanceEngine.
type IInstanceEngine ¶
type IInstanceEngine interface { IEngine // Method called when the engine is used to create a new instance. BindToInstance(scope constructs.Construct, options *InstanceEngineBindOptions) *InstanceEngineConfig // The application used by this engine to perform rotation for a multi-user scenario. MultiUserRotationApplication() awssecretsmanager.SecretRotationApplication // The application used by this engine to perform rotation for a single-user scenario. SingleUserRotationApplication() awssecretsmanager.SecretRotationApplication // Whether this engine supports automatic backups of a read replica instance. // Default: false. // SupportsReadReplicaBackups() *bool }
Interface representing a database instance (as opposed to cluster) engine.
func DatabaseInstanceEngine_MARIADB ¶ added in v2.1.0
func DatabaseInstanceEngine_MARIADB() IInstanceEngine
func DatabaseInstanceEngine_MYSQL ¶ added in v2.1.0
func DatabaseInstanceEngine_MYSQL() IInstanceEngine
func DatabaseInstanceEngine_MariaDb ¶
func DatabaseInstanceEngine_MariaDb(props *MariaDbInstanceEngineProps) IInstanceEngine
Creates a new MariaDB instance engine.
func DatabaseInstanceEngine_Mysql ¶
func DatabaseInstanceEngine_Mysql(props *MySqlInstanceEngineProps) IInstanceEngine
Creates a new MySQL instance engine.
func DatabaseInstanceEngine_ORACLE_EE ¶ added in v2.1.0
func DatabaseInstanceEngine_ORACLE_EE() IInstanceEngine
func DatabaseInstanceEngine_ORACLE_EE_CDB ¶ added in v2.34.0
func DatabaseInstanceEngine_ORACLE_EE_CDB() IInstanceEngine
func DatabaseInstanceEngine_ORACLE_SE2 ¶ added in v2.1.0
func DatabaseInstanceEngine_ORACLE_SE2() IInstanceEngine
func DatabaseInstanceEngine_ORACLE_SE2_CDB ¶ added in v2.34.0
func DatabaseInstanceEngine_ORACLE_SE2_CDB() IInstanceEngine
func DatabaseInstanceEngine_OracleEe ¶
func DatabaseInstanceEngine_OracleEe(props *OracleEeInstanceEngineProps) IInstanceEngine
Creates a new Oracle Enterprise Edition instance engine.
func DatabaseInstanceEngine_OracleEeCdb ¶ added in v2.34.0
func DatabaseInstanceEngine_OracleEeCdb(props *OracleEeCdbInstanceEngineProps) IInstanceEngine
Creates a new Oracle Enterprise Edition (CDB) instance engine.
func DatabaseInstanceEngine_OracleSe2 ¶
func DatabaseInstanceEngine_OracleSe2(props *OracleSe2InstanceEngineProps) IInstanceEngine
Creates a new Oracle Standard Edition 2 instance engine.
func DatabaseInstanceEngine_OracleSe2Cdb ¶ added in v2.34.0
func DatabaseInstanceEngine_OracleSe2Cdb(props *OracleSe2CdbInstanceEngineProps) IInstanceEngine
Creates a new Oracle Standard Edition 2 (CDB) instance engine.
func DatabaseInstanceEngine_POSTGRES ¶ added in v2.1.0
func DatabaseInstanceEngine_POSTGRES() IInstanceEngine
func DatabaseInstanceEngine_Postgres ¶
func DatabaseInstanceEngine_Postgres(props *PostgresInstanceEngineProps) IInstanceEngine
Creates a new PostgreSQL instance engine.
func DatabaseInstanceEngine_SQL_SERVER_EE ¶ added in v2.1.0
func DatabaseInstanceEngine_SQL_SERVER_EE() IInstanceEngine
func DatabaseInstanceEngine_SQL_SERVER_EX ¶ added in v2.1.0
func DatabaseInstanceEngine_SQL_SERVER_EX() IInstanceEngine
func DatabaseInstanceEngine_SQL_SERVER_SE ¶ added in v2.1.0
func DatabaseInstanceEngine_SQL_SERVER_SE() IInstanceEngine
func DatabaseInstanceEngine_SQL_SERVER_WEB ¶ added in v2.1.0
func DatabaseInstanceEngine_SQL_SERVER_WEB() IInstanceEngine
func DatabaseInstanceEngine_SqlServerEe ¶
func DatabaseInstanceEngine_SqlServerEe(props *SqlServerEeInstanceEngineProps) IInstanceEngine
Creates a new SQL Server Enterprise Edition instance engine.
func DatabaseInstanceEngine_SqlServerEx ¶
func DatabaseInstanceEngine_SqlServerEx(props *SqlServerExInstanceEngineProps) IInstanceEngine
Creates a new SQL Server Express Edition instance engine.
func DatabaseInstanceEngine_SqlServerSe ¶
func DatabaseInstanceEngine_SqlServerSe(props *SqlServerSeInstanceEngineProps) IInstanceEngine
Creates a new SQL Server Standard Edition instance engine.
func DatabaseInstanceEngine_SqlServerWeb ¶
func DatabaseInstanceEngine_SqlServerWeb(props *SqlServerWebInstanceEngineProps) IInstanceEngine
Creates a new SQL Server Web Edition instance engine.
type IOptionGroup ¶
type IOptionGroup interface { awscdk.IResource // Adds a configuration to this OptionGroup. // // This method is a no-op for an imported OptionGroup. // // Returns: true if the OptionConfiguration was successfully added. AddConfiguration(configuration *OptionConfiguration) *bool // The name of the option group. OptionGroupName() *string }
An option group.
func OptionGroup_FromOptionGroupName ¶
func OptionGroup_FromOptionGroupName(scope constructs.Construct, id *string, optionGroupName *string) IOptionGroup
Import an existing option group.
type IParameterGroup ¶
type IParameterGroup interface { awscdk.IResource // Adds a parameter to this group. // // If this is an imported parameter group, // this method does nothing. // // Returns: true if the parameter was actually added // (i.e., this ParameterGroup is not imported), // false otherwise. AddParameter(key *string, value *string) *bool // Method called when this Parameter Group is used when defining a database cluster. BindToCluster(options *ParameterGroupClusterBindOptions) *ParameterGroupClusterConfig // Method called when this Parameter Group is used when defining a database instance. BindToInstance(options *ParameterGroupInstanceBindOptions) *ParameterGroupInstanceConfig }
A parameter group.
Represents both a cluster parameter group, and an instance parameter group.
func ParameterGroup_FromParameterGroupName ¶
func ParameterGroup_FromParameterGroupName(scope constructs.Construct, id *string, parameterGroupName *string) IParameterGroup
Imports a parameter group.
type IServerlessCluster ¶
type IServerlessCluster interface { awsec2.IConnectable awscdk.IResource awssecretsmanager.ISecretAttachmentTarget // Grant the given identity to access to the Data API. GrantDataApiAccess(grantee awsiam.IGrantable) awsiam.Grant // The ARN of the cluster. ClusterArn() *string // The endpoint to use for read/write operations. ClusterEndpoint() Endpoint // Identifier of the cluster. ClusterIdentifier() *string // Endpoint to use for load-balanced read-only operations. ClusterReadEndpoint() Endpoint }
Interface representing a serverless database cluster.
func ServerlessCluster_FromServerlessClusterAttributes ¶
func ServerlessCluster_FromServerlessClusterAttributes(scope constructs.Construct, id *string, attrs *ServerlessClusterAttributes) IServerlessCluster
Import an existing DatabaseCluster from properties.
type ISubnetGroup ¶
type ISubnetGroup interface { awscdk.IResource // The name of the subnet group. SubnetGroupName() *string }
Interface for a subnet group.
func SubnetGroup_FromSubnetGroupName ¶
func SubnetGroup_FromSubnetGroupName(scope constructs.Construct, id *string, subnetGroupName *string) ISubnetGroup
Imports an existing subnet group by name.
type InstanceEngineBindOptions ¶
type InstanceEngineBindOptions struct { // The Active Directory directory ID to create the DB instance in. // Default: - none (it's an optional field). // Domain *string `field:"optional" json:"domain" yaml:"domain"` // The option group of the database. // Default: - none. // OptionGroup IOptionGroup `field:"optional" json:"optionGroup" yaml:"optionGroup"` // The role used for S3 exporting. // Default: - none. // S3ExportRole awsiam.IRole `field:"optional" json:"s3ExportRole" yaml:"s3ExportRole"` // The role used for S3 importing. // Default: - none. // S3ImportRole awsiam.IRole `field:"optional" json:"s3ImportRole" yaml:"s3ImportRole"` // The timezone of the database, set by the customer. // Default: - none (it's an optional field). // Timezone *string `field:"optional" json:"timezone" yaml:"timezone"` }
The options passed to `IInstanceEngine.bind`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var optionGroup optionGroup var role role instanceEngineBindOptions := &InstanceEngineBindOptions{ Domain: jsii.String("domain"), OptionGroup: optionGroup, S3ExportRole: role, S3ImportRole: role, Timezone: jsii.String("timezone"), }
type InstanceEngineConfig ¶
type InstanceEngineConfig struct { // Features supported by the database engine. // See: https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html // // Default: - no features. // Features *InstanceEngineFeatures `field:"optional" json:"features" yaml:"features"` // Option group of the database. // Default: - none. // OptionGroup IOptionGroup `field:"optional" json:"optionGroup" yaml:"optionGroup"` }
The type returned from the `IInstanceEngine.bind` method.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var optionGroup optionGroup instanceEngineConfig := &InstanceEngineConfig{ Features: &InstanceEngineFeatures{ S3Export: jsii.String("s3Export"), S3Import: jsii.String("s3Import"), }, OptionGroup: optionGroup, }
type InstanceEngineFeatures ¶
type InstanceEngineFeatures struct { // Feature name for the DB instance that the IAM role to export to S3 bucket is to be associated with. // Default: - no s3Export feature name. // S3Export *string `field:"optional" json:"s3Export" yaml:"s3Export"` // Feature name for the DB instance that the IAM role to access the S3 bucket for import is to be associated with. // Default: - no s3Import feature name. // S3Import *string `field:"optional" json:"s3Import" yaml:"s3Import"` }
Represents Database Engine features.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" instanceEngineFeatures := &InstanceEngineFeatures{ S3Export: jsii.String("s3Export"), S3Import: jsii.String("s3Import"), }
type InstanceProps ¶
type InstanceProps struct { // What subnets to run the RDS instances in. // // Must be at least 2 subnets in two different AZs. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // Whether to allow upgrade of major version for the DB instance. // Default: - false. // AllowMajorVersionUpgrade *bool `field:"optional" json:"allowMajorVersionUpgrade" yaml:"allowMajorVersionUpgrade"` // Whether to enable automatic upgrade of minor version for the DB instance. // Default: - true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // Whether to remove automated backups immediately after the DB instance is deleted for the DB instance. // Default: - true. // DeleteAutomatedBackups *bool `field:"optional" json:"deleteAutomatedBackups" yaml:"deleteAutomatedBackups"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // What type of instance to start for the replicas. // Default: - t3.medium (or, more precisely, db.t3.medium) // InstanceType awsec2.InstanceType `field:"optional" json:"instanceType" yaml:"instanceType"` // The DB parameter group to associate with the instance. // Default: no parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The parameters in the DBParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). // // Example: 'Sun:23:45-Mon:00:15'. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // // Default: - 30-minute window selected at random from an 8-hour block of time for // each AWS Region, occurring on a random day of the week. // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // Indicates whether the DB instance is an internet-facing instance. // Default: - `true` if `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // Security group. // Default: a new security group is created. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // Where to place the instances within the VPC. // Default: - the Vpc default strategy if not specified. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Instance properties for database instances.
Example:
cluster := rds.NewDatabaseCluster(stack, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA(), InstanceProps: &InstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_SMALL), Vpc: *Vpc, }, }) cluster.addRotationSingleUser() clusterWithCustomRotationOptions := rds.NewDatabaseCluster(stack, jsii.String("CustomRotationOptions"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA(), InstanceProps: &InstanceProps{ InstanceType: ec2.InstanceType_*Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_SMALL), Vpc: *Vpc, }, }) clusterWithCustomRotationOptions.addRotationSingleUser(&RotationSingleUserOptions{ AutomaticallyAfter: cdk.Duration_Days(jsii.Number(7)), ExcludeCharacters: jsii.String("!@#$%^&*"), SecurityGroup: SecurityGroup, VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }, Endpoint: endpoint, })
type InstanceType ¶ added in v2.82.0
type InstanceType string
const ( InstanceType_PROVISIONED InstanceType = "PROVISIONED" InstanceType_SERVERLESS_V2 InstanceType = "SERVERLESS_V2" )
type InstanceUpdateBehaviour ¶ added in v2.32.0
type InstanceUpdateBehaviour string
The orchestration of updates of multiple instances.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_01_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("Instance"), &ProvisionedClusterInstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_SMALL), }), Readers: []iClusterInstance{ rds.ClusterInstance_*Provisioned(jsii.String("reader")), }, InstanceUpdateBehaviour: rds.InstanceUpdateBehaviour_ROLLING, // Optional - defaults to rds.InstanceUpdateBehaviour.BULK Vpc: Vpc, })
const ( // In a bulk update, all instances of the cluster are updated at the same time. // // This results in a faster update procedure. // During the update, however, all instances might be unavailable at the same time and thus a downtime might occur. InstanceUpdateBehaviour_BULK InstanceUpdateBehaviour = "BULK" // In a rolling update, one instance after another is updated. // // This results in at most one instance being unavailable during the update. // If your cluster consists of more than 1 instance, the downtime periods are limited to the time a primary switch needs. InstanceUpdateBehaviour_ROLLING InstanceUpdateBehaviour = "ROLLING" )
type LicenseModel ¶
type LicenseModel string
The license model.
Example:
// Set open cursors with parameter group parameterGroup := rds.NewParameterGroup(this, jsii.String("ParameterGroup"), &ParameterGroupProps{ Engine: rds.DatabaseInstanceEngine_OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), Parameters: map[string]*string{ "open_cursors": jsii.String("2500"), }, }) optionGroup := rds.NewOptionGroup(this, jsii.String("OptionGroup"), &OptionGroupProps{ Engine: rds.DatabaseInstanceEngine_*OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), Configurations: []optionConfiguration{ &optionConfiguration{ Name: jsii.String("LOCATOR"), }, &optionConfiguration{ Name: jsii.String("OEM"), Port: jsii.Number(1158), Vpc: *Vpc, }, }, }) // Allow connections to OEM optionGroup.OptionConnections.oEM.Connections.AllowDefaultPortFromAnyIpv4() // Database instance with production values instance := rds.NewDatabaseInstance(this, jsii.String("Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_*OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), LicenseModel: rds.LicenseModel_BRING_YOUR_OWN_LICENSE, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_MEDIUM), MultiAz: jsii.Boolean(true), StorageType: rds.StorageType_IO1, Credentials: rds.Credentials_FromUsername(jsii.String("syscdk")), Vpc: Vpc, DatabaseName: jsii.String("ORCL"), StorageEncrypted: jsii.Boolean(true), BackupRetention: cdk.Duration_Days(jsii.Number(7)), MonitoringInterval: cdk.Duration_Seconds(jsii.Number(60)), EnablePerformanceInsights: jsii.Boolean(true), CloudwatchLogsExports: []*string{ jsii.String("trace"), jsii.String("audit"), jsii.String("alert"), jsii.String("listener"), }, CloudwatchLogsRetention: logs.RetentionDays_ONE_MONTH, AutoMinorVersionUpgrade: jsii.Boolean(true), // required to be true if LOCATOR is used in the option group OptionGroup: OptionGroup, ParameterGroup: ParameterGroup, RemovalPolicy: awscdk.RemovalPolicy_DESTROY, }) // Allow connections on default port from any IPV4 instance.connections.AllowDefaultPortFromAnyIpv4() // Rotate the master user password every 30 days instance.addRotationSingleUser() // Add alarm for high CPU // Add alarm for high CPU cloudwatch.NewAlarm(this, jsii.String("HighCPU"), &AlarmProps{ Metric: instance.metricCPUUtilization(), Threshold: jsii.Number(90), EvaluationPeriods: jsii.Number(1), }) // Trigger Lambda function on instance availability events fn := lambda.NewFunction(this, jsii.String("Function"), &FunctionProps{ Code: lambda.Code_FromInline(jsii.String("exports.handler = (event) => console.log(event);")), Handler: jsii.String("index.handler"), Runtime: lambda.Runtime_NODEJS_18_X(), }) availabilityRule := instance.OnEvent(jsii.String("Availability"), &OnEventOptions{ Target: targets.NewLambdaFunction(fn), }) availabilityRule.AddEventPattern(&EventPattern{ Detail: map[string]interface{}{ "EventCategories": []interface{}{ jsii.String("availability"), }, }, })
const ( // License included. LicenseModel_LICENSE_INCLUDED LicenseModel = "LICENSE_INCLUDED" // Bring your own licencse. LicenseModel_BRING_YOUR_OWN_LICENSE LicenseModel = "BRING_YOUR_OWN_LICENSE" // General public license. LicenseModel_GENERAL_PUBLIC_LICENSE LicenseModel = "GENERAL_PUBLIC_LICENSE" )
type MariaDbEngineVersion ¶
type MariaDbEngineVersion interface { // The full version string, for example, "10.5.28". MariaDbFullVersion() *string // The major version of the engine, for example, "10.5". MariaDbMajorVersion() *string }
The versions for the MariaDB instance engines (those returned by `DatabaseInstanceEngine.mariaDb`).
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" mariaDbEngineVersion := awscdk.Aws_rds.MariaDbEngineVersion_VER_10_11()
func MariaDbEngineVersion_Of ¶
func MariaDbEngineVersion_Of(mariaDbFullVersion *string, mariaDbMajorVersion *string) MariaDbEngineVersion
Create a new MariaDbEngineVersion with an arbitrary version.
func MariaDbEngineVersion_VER_10_11 ¶ added in v2.100.0
func MariaDbEngineVersion_VER_10_11() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_11_4 ¶ added in v2.100.0
func MariaDbEngineVersion_VER_10_11_4() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_11_5 ¶ added in v2.100.0
func MariaDbEngineVersion_VER_10_11_5() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_11_6 ¶ added in v2.115.0
func MariaDbEngineVersion_VER_10_11_6() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_11_7 ¶ added in v2.133.0
func MariaDbEngineVersion_VER_10_11_7() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_11_8 ¶ added in v2.147.0
func MariaDbEngineVersion_VER_10_11_8() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2 ¶
func MariaDbEngineVersion_VER_10_2() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_11 ¶
func MariaDbEngineVersion_VER_10_2_11() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_12 ¶
func MariaDbEngineVersion_VER_10_2_12() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_15 ¶
func MariaDbEngineVersion_VER_10_2_15() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_21 ¶
func MariaDbEngineVersion_VER_10_2_21() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_32 ¶
func MariaDbEngineVersion_VER_10_2_32() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_37 ¶
func MariaDbEngineVersion_VER_10_2_37() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_39 ¶
func MariaDbEngineVersion_VER_10_2_39() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_40 ¶
func MariaDbEngineVersion_VER_10_2_40() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_41 ¶ added in v2.2.0
func MariaDbEngineVersion_VER_10_2_41() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_43 ¶ added in v2.133.0
func MariaDbEngineVersion_VER_10_2_43() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_2_44 ¶ added in v2.133.0
func MariaDbEngineVersion_VER_10_2_44() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3 ¶
func MariaDbEngineVersion_VER_10_3() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_13 ¶
func MariaDbEngineVersion_VER_10_3_13() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_20 ¶
func MariaDbEngineVersion_VER_10_3_20() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_23 ¶
func MariaDbEngineVersion_VER_10_3_23() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_28 ¶
func MariaDbEngineVersion_VER_10_3_28() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_31 ¶
func MariaDbEngineVersion_VER_10_3_31() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_32 ¶ added in v2.2.0
func MariaDbEngineVersion_VER_10_3_32() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_34 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_3_34() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_35 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_3_35() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_36 ¶ added in v2.47.0
func MariaDbEngineVersion_VER_10_3_36() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_37 ¶ added in v2.54.0
func MariaDbEngineVersion_VER_10_3_37() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_38 ¶ added in v2.68.0
func MariaDbEngineVersion_VER_10_3_38() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_39 ¶ added in v2.86.0
func MariaDbEngineVersion_VER_10_3_39() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_3_8 ¶
func MariaDbEngineVersion_VER_10_3_8() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4 ¶
func MariaDbEngineVersion_VER_10_4() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_13 ¶
func MariaDbEngineVersion_VER_10_4_13() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_18 ¶
func MariaDbEngineVersion_VER_10_4_18() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_21 ¶
func MariaDbEngineVersion_VER_10_4_21() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_22 ¶ added in v2.2.0
func MariaDbEngineVersion_VER_10_4_22() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_24 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_4_24() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_25 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_4_25() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_26 ¶ added in v2.47.0
func MariaDbEngineVersion_VER_10_4_26() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_27 ¶ added in v2.54.0
func MariaDbEngineVersion_VER_10_4_27() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_28 ¶ added in v2.68.0
func MariaDbEngineVersion_VER_10_4_28() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_29 ¶ added in v2.86.0
func MariaDbEngineVersion_VER_10_4_29() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_30 ¶ added in v2.86.0
func MariaDbEngineVersion_VER_10_4_30() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_31 ¶ added in v2.100.0
func MariaDbEngineVersion_VER_10_4_31() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_32 ¶ added in v2.115.0
func MariaDbEngineVersion_VER_10_4_32() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_33 ¶ added in v2.133.0
func MariaDbEngineVersion_VER_10_4_33() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_34 ¶ added in v2.147.0
func MariaDbEngineVersion_VER_10_4_34() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_4_8 ¶
func MariaDbEngineVersion_VER_10_4_8() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5 ¶
func MariaDbEngineVersion_VER_10_5() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_12 ¶
func MariaDbEngineVersion_VER_10_5_12() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_13 ¶ added in v2.2.0
func MariaDbEngineVersion_VER_10_5_13() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_15 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_5_15() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_16 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_5_16() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_17 ¶ added in v2.47.0
func MariaDbEngineVersion_VER_10_5_17() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_18 ¶ added in v2.54.0
func MariaDbEngineVersion_VER_10_5_18() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_19 ¶ added in v2.68.0
func MariaDbEngineVersion_VER_10_5_19() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_20 ¶ added in v2.86.0
func MariaDbEngineVersion_VER_10_5_20() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_21 ¶ added in v2.86.0
func MariaDbEngineVersion_VER_10_5_21() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_22 ¶ added in v2.100.0
func MariaDbEngineVersion_VER_10_5_22() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_23 ¶ added in v2.115.0
func MariaDbEngineVersion_VER_10_5_23() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_24 ¶ added in v2.133.0
func MariaDbEngineVersion_VER_10_5_24() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_25 ¶ added in v2.147.0
func MariaDbEngineVersion_VER_10_5_25() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_8 ¶
func MariaDbEngineVersion_VER_10_5_8() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_5_9 ¶
func MariaDbEngineVersion_VER_10_5_9() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_6() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_10 ¶ added in v2.45.0
func MariaDbEngineVersion_VER_10_6_10() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_11 ¶ added in v2.54.0
func MariaDbEngineVersion_VER_10_6_11() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_12 ¶ added in v2.68.0
func MariaDbEngineVersion_VER_10_6_12() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_13 ¶ added in v2.86.0
func MariaDbEngineVersion_VER_10_6_13() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_14 ¶ added in v2.86.0
func MariaDbEngineVersion_VER_10_6_14() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_15 ¶ added in v2.100.0
func MariaDbEngineVersion_VER_10_6_15() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_16 ¶ added in v2.115.0
func MariaDbEngineVersion_VER_10_6_16() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_17 ¶ added in v2.133.0
func MariaDbEngineVersion_VER_10_6_17() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_18 ¶ added in v2.147.0
func MariaDbEngineVersion_VER_10_6_18() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_5 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_6_5() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_7 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_6_7() MariaDbEngineVersion
func MariaDbEngineVersion_VER_10_6_8 ¶ added in v2.37.0
func MariaDbEngineVersion_VER_10_6_8() MariaDbEngineVersion
type MariaDbInstanceEngineProps ¶
type MariaDbInstanceEngineProps struct { // The exact version of the engine to use. Version MariaDbEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for MariaDB instance engines.
Used in `DatabaseInstanceEngine.mariaDb`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var mariaDbEngineVersion mariaDbEngineVersion mariaDbInstanceEngineProps := &MariaDbInstanceEngineProps{ Version: mariaDbEngineVersion, }
type MySqlInstanceEngineProps ¶
type MySqlInstanceEngineProps struct { // The exact version of the engine to use. Version MysqlEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for MySQL instance engines.
Used in `DatabaseInstanceEngine.mysql`.
Example:
var vpc vpc iopsInstance := rds.NewDatabaseInstance(this, jsii.String("IopsInstance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_Mysql(&MySqlInstanceEngineProps{ Version: rds.MysqlEngineVersion_VER_8_0_30(), }), Vpc: Vpc, StorageType: rds.StorageType_IO1, Iops: jsii.Number(5000), }) gp3Instance := rds.NewDatabaseInstance(this, jsii.String("Gp3Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_*Mysql(&MySqlInstanceEngineProps{ Version: rds.MysqlEngineVersion_VER_8_0_30(), }), Vpc: Vpc, AllocatedStorage: jsii.Number(500), StorageType: rds.StorageType_GP3, StorageThroughput: jsii.Number(500), })
type MysqlEngineVersion ¶
type MysqlEngineVersion interface { // The full version string, for example, "10.5.28". MysqlFullVersion() *string // The major version of the engine, for example, "10.5". MysqlMajorVersion() *string }
The versions for the MySQL instance engines (those returned by `DatabaseInstanceEngine.mysql`).
Example:
var vpc vpc iopsInstance := rds.NewDatabaseInstance(this, jsii.String("IopsInstance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_Mysql(&MySqlInstanceEngineProps{ Version: rds.MysqlEngineVersion_VER_8_0_30(), }), Vpc: Vpc, StorageType: rds.StorageType_IO1, Iops: jsii.Number(5000), }) gp3Instance := rds.NewDatabaseInstance(this, jsii.String("Gp3Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_*Mysql(&MySqlInstanceEngineProps{ Version: rds.MysqlEngineVersion_VER_8_0_30(), }), Vpc: Vpc, AllocatedStorage: jsii.Number(500), StorageType: rds.StorageType_GP3, StorageThroughput: jsii.Number(500), })
func MysqlEngineVersion_Of ¶
func MysqlEngineVersion_Of(mysqlFullVersion *string, mysqlMajorVersion *string) MysqlEngineVersion
Create a new MysqlEngineVersion with an arbitrary version.
func MysqlEngineVersion_VER_5_5_54 ¶ added in v2.133.0
func MysqlEngineVersion_VER_5_5_54() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7 ¶
func MysqlEngineVersion_VER_5_7() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_16 ¶
func MysqlEngineVersion_VER_5_7_16() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_17 ¶
func MysqlEngineVersion_VER_5_7_17() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_19 ¶
func MysqlEngineVersion_VER_5_7_19() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_21 ¶
func MysqlEngineVersion_VER_5_7_21() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_22 ¶
func MysqlEngineVersion_VER_5_7_22() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_23 ¶
func MysqlEngineVersion_VER_5_7_23() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_24 ¶
func MysqlEngineVersion_VER_5_7_24() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_25 ¶
func MysqlEngineVersion_VER_5_7_25() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_26 ¶
func MysqlEngineVersion_VER_5_7_26() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_28 ¶
func MysqlEngineVersion_VER_5_7_28() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_30 ¶
func MysqlEngineVersion_VER_5_7_30() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_31 ¶
func MysqlEngineVersion_VER_5_7_31() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_33 ¶
func MysqlEngineVersion_VER_5_7_33() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_34 ¶
func MysqlEngineVersion_VER_5_7_34() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_35 ¶ added in v2.19.0
func MysqlEngineVersion_VER_5_7_35() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_36 ¶ added in v2.19.0
func MysqlEngineVersion_VER_5_7_36() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_37 ¶ added in v2.19.0
func MysqlEngineVersion_VER_5_7_37() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_38 ¶ added in v2.45.0
func MysqlEngineVersion_VER_5_7_38() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_39 ¶ added in v2.45.0
func MysqlEngineVersion_VER_5_7_39() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_40 ¶ added in v2.51.0
func MysqlEngineVersion_VER_5_7_40() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_41 ¶ added in v2.67.0
func MysqlEngineVersion_VER_5_7_41() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_42 ¶ added in v2.86.0
func MysqlEngineVersion_VER_5_7_42() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_43 ¶ added in v2.91.0
func MysqlEngineVersion_VER_5_7_43() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_44 ¶ added in v2.106.0
func MysqlEngineVersion_VER_5_7_44() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_44_RDS_20240408 ¶ added in v2.148.0
func MysqlEngineVersion_VER_5_7_44_RDS_20240408() MysqlEngineVersion
func MysqlEngineVersion_VER_5_7_44_RDS_20240529 ¶ added in v2.148.0
func MysqlEngineVersion_VER_5_7_44_RDS_20240529() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0 ¶
func MysqlEngineVersion_VER_8_0() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_11 ¶
func MysqlEngineVersion_VER_8_0_11() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_13 ¶
func MysqlEngineVersion_VER_8_0_13() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_15 ¶
func MysqlEngineVersion_VER_8_0_15() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_16 ¶
func MysqlEngineVersion_VER_8_0_16() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_17 ¶
func MysqlEngineVersion_VER_8_0_17() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_19 ¶
func MysqlEngineVersion_VER_8_0_19() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_20 ¶
func MysqlEngineVersion_VER_8_0_20() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_21 ¶
func MysqlEngineVersion_VER_8_0_21() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_23 ¶
func MysqlEngineVersion_VER_8_0_23() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_25 ¶
func MysqlEngineVersion_VER_8_0_25() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_26 ¶
func MysqlEngineVersion_VER_8_0_26() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_27 ¶ added in v2.19.0
func MysqlEngineVersion_VER_8_0_27() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_28 ¶ added in v2.19.0
func MysqlEngineVersion_VER_8_0_28() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_29 ¶ added in v2.133.0
func MysqlEngineVersion_VER_8_0_29() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_30 ¶ added in v2.43.0
func MysqlEngineVersion_VER_8_0_30() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_31 ¶ added in v2.54.0
func MysqlEngineVersion_VER_8_0_31() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_32 ¶ added in v2.67.0
func MysqlEngineVersion_VER_8_0_32() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_33 ¶ added in v2.86.0
func MysqlEngineVersion_VER_8_0_33() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_34 ¶ added in v2.91.0
func MysqlEngineVersion_VER_8_0_34() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_35 ¶ added in v2.106.0
func MysqlEngineVersion_VER_8_0_35() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_36 ¶ added in v2.133.0
func MysqlEngineVersion_VER_8_0_36() MysqlEngineVersion
func MysqlEngineVersion_VER_8_0_37 ¶ added in v2.148.0
func MysqlEngineVersion_VER_8_0_37() MysqlEngineVersion
type NetworkType ¶ added in v2.48.0
type NetworkType string
The network type of the DB instance.
Example:
var vpc vpc // VPC and subnets must have IPv6 CIDR blocks cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_02_1(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ PubliclyAccessible: jsii.Boolean(false), }), Vpc: Vpc, NetworkType: rds.NetworkType_DUAL, })
const ( // IPv4 only network type. NetworkType_IPV4 NetworkType = "IPV4" // Dual-stack network type. NetworkType_DUAL NetworkType = "DUAL" )
type OptionConfiguration ¶
type OptionConfiguration struct { // The name of the option. Name *string `field:"required" json:"name" yaml:"name"` // The port number that this option uses. // // If `port` is specified then `vpc` // must also be specified. // Default: - no port. // Port *float64 `field:"optional" json:"port" yaml:"port"` // Optional list of security groups to use for this option, if `vpc` is specified. // // If no groups are provided, a default one will be created. // Default: - a default group will be created if `port` or `vpc` are specified. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The settings for the option. // Default: - no settings. // Settings *map[string]*string `field:"optional" json:"settings" yaml:"settings"` // The version for the option. // Default: - no version. // Version *string `field:"optional" json:"version" yaml:"version"` // The VPC where a security group should be created for this option. // // If `vpc` // is specified then `port` must also be specified. // Default: - no VPC. // Vpc awsec2.IVpc `field:"optional" json:"vpc" yaml:"vpc"` }
Configuration properties for an option.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var securityGroup securityGroup var vpc vpc optionConfiguration := &OptionConfiguration{ Name: jsii.String("name"), // the properties below are optional Port: jsii.Number(123), SecurityGroups: []iSecurityGroup{ securityGroup, }, Settings: map[string]*string{ "settingsKey": jsii.String("settings"), }, Version: jsii.String("version"), Vpc: vpc, }
type OptionGroup ¶
type OptionGroup interface { awscdk.Resource IOptionGroup // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // The connections object for the options. OptionConnections() *map[string]awsec2.Connections // The name of the option group. OptionGroupName() *string // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Adds a configuration to this OptionGroup. // // This method is a no-op for an imported OptionGroup. AddConfiguration(configuration *OptionConfiguration) *bool // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
An option group.
Example:
// Set open cursors with parameter group parameterGroup := rds.NewParameterGroup(this, jsii.String("ParameterGroup"), &ParameterGroupProps{ Engine: rds.DatabaseInstanceEngine_OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), Parameters: map[string]*string{ "open_cursors": jsii.String("2500"), }, }) optionGroup := rds.NewOptionGroup(this, jsii.String("OptionGroup"), &OptionGroupProps{ Engine: rds.DatabaseInstanceEngine_*OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), Configurations: []optionConfiguration{ &optionConfiguration{ Name: jsii.String("LOCATOR"), }, &optionConfiguration{ Name: jsii.String("OEM"), Port: jsii.Number(1158), Vpc: *Vpc, }, }, }) // Allow connections to OEM optionGroup.OptionConnections.oEM.Connections.AllowDefaultPortFromAnyIpv4() // Database instance with production values instance := rds.NewDatabaseInstance(this, jsii.String("Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_*OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), LicenseModel: rds.LicenseModel_BRING_YOUR_OWN_LICENSE, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_MEDIUM), MultiAz: jsii.Boolean(true), StorageType: rds.StorageType_IO1, Credentials: rds.Credentials_FromUsername(jsii.String("syscdk")), Vpc: Vpc, DatabaseName: jsii.String("ORCL"), StorageEncrypted: jsii.Boolean(true), BackupRetention: cdk.Duration_Days(jsii.Number(7)), MonitoringInterval: cdk.Duration_Seconds(jsii.Number(60)), EnablePerformanceInsights: jsii.Boolean(true), CloudwatchLogsExports: []*string{ jsii.String("trace"), jsii.String("audit"), jsii.String("alert"), jsii.String("listener"), }, CloudwatchLogsRetention: logs.RetentionDays_ONE_MONTH, AutoMinorVersionUpgrade: jsii.Boolean(true), // required to be true if LOCATOR is used in the option group OptionGroup: OptionGroup, ParameterGroup: ParameterGroup, RemovalPolicy: awscdk.RemovalPolicy_DESTROY, }) // Allow connections on default port from any IPV4 instance.connections.AllowDefaultPortFromAnyIpv4() // Rotate the master user password every 30 days instance.addRotationSingleUser() // Add alarm for high CPU // Add alarm for high CPU cloudwatch.NewAlarm(this, jsii.String("HighCPU"), &AlarmProps{ Metric: instance.metricCPUUtilization(), Threshold: jsii.Number(90), EvaluationPeriods: jsii.Number(1), }) // Trigger Lambda function on instance availability events fn := lambda.NewFunction(this, jsii.String("Function"), &FunctionProps{ Code: lambda.Code_FromInline(jsii.String("exports.handler = (event) => console.log(event);")), Handler: jsii.String("index.handler"), Runtime: lambda.Runtime_NODEJS_18_X(), }) availabilityRule := instance.OnEvent(jsii.String("Availability"), &OnEventOptions{ Target: targets.NewLambdaFunction(fn), }) availabilityRule.AddEventPattern(&EventPattern{ Detail: map[string]interface{}{ "EventCategories": []interface{}{ jsii.String("availability"), }, }, })
func NewOptionGroup ¶
func NewOptionGroup(scope constructs.Construct, id *string, props *OptionGroupProps) OptionGroup
type OptionGroupProps ¶
type OptionGroupProps struct { // The configurations for this option group. Configurations *[]*OptionConfiguration `field:"required" json:"configurations" yaml:"configurations"` // The database engine that this option group is associated with. Engine IInstanceEngine `field:"required" json:"engine" yaml:"engine"` // A description of the option group. // Default: a CDK generated description. // Description *string `field:"optional" json:"description" yaml:"description"` }
Construction properties for an OptionGroup.
Example:
// Set open cursors with parameter group parameterGroup := rds.NewParameterGroup(this, jsii.String("ParameterGroup"), &ParameterGroupProps{ Engine: rds.DatabaseInstanceEngine_OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), Parameters: map[string]*string{ "open_cursors": jsii.String("2500"), }, }) optionGroup := rds.NewOptionGroup(this, jsii.String("OptionGroup"), &OptionGroupProps{ Engine: rds.DatabaseInstanceEngine_*OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), Configurations: []optionConfiguration{ &optionConfiguration{ Name: jsii.String("LOCATOR"), }, &optionConfiguration{ Name: jsii.String("OEM"), Port: jsii.Number(1158), Vpc: *Vpc, }, }, }) // Allow connections to OEM optionGroup.OptionConnections.oEM.Connections.AllowDefaultPortFromAnyIpv4() // Database instance with production values instance := rds.NewDatabaseInstance(this, jsii.String("Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_*OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), LicenseModel: rds.LicenseModel_BRING_YOUR_OWN_LICENSE, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_MEDIUM), MultiAz: jsii.Boolean(true), StorageType: rds.StorageType_IO1, Credentials: rds.Credentials_FromUsername(jsii.String("syscdk")), Vpc: Vpc, DatabaseName: jsii.String("ORCL"), StorageEncrypted: jsii.Boolean(true), BackupRetention: cdk.Duration_Days(jsii.Number(7)), MonitoringInterval: cdk.Duration_Seconds(jsii.Number(60)), EnablePerformanceInsights: jsii.Boolean(true), CloudwatchLogsExports: []*string{ jsii.String("trace"), jsii.String("audit"), jsii.String("alert"), jsii.String("listener"), }, CloudwatchLogsRetention: logs.RetentionDays_ONE_MONTH, AutoMinorVersionUpgrade: jsii.Boolean(true), // required to be true if LOCATOR is used in the option group OptionGroup: OptionGroup, ParameterGroup: ParameterGroup, RemovalPolicy: awscdk.RemovalPolicy_DESTROY, }) // Allow connections on default port from any IPV4 instance.connections.AllowDefaultPortFromAnyIpv4() // Rotate the master user password every 30 days instance.addRotationSingleUser() // Add alarm for high CPU // Add alarm for high CPU cloudwatch.NewAlarm(this, jsii.String("HighCPU"), &AlarmProps{ Metric: instance.metricCPUUtilization(), Threshold: jsii.Number(90), EvaluationPeriods: jsii.Number(1), }) // Trigger Lambda function on instance availability events fn := lambda.NewFunction(this, jsii.String("Function"), &FunctionProps{ Code: lambda.Code_FromInline(jsii.String("exports.handler = (event) => console.log(event);")), Handler: jsii.String("index.handler"), Runtime: lambda.Runtime_NODEJS_18_X(), }) availabilityRule := instance.OnEvent(jsii.String("Availability"), &OnEventOptions{ Target: targets.NewLambdaFunction(fn), }) availabilityRule.AddEventPattern(&EventPattern{ Detail: map[string]interface{}{ "EventCategories": []interface{}{ jsii.String("availability"), }, }, })
type OracleEeCdbInstanceEngineProps ¶ added in v2.34.0
type OracleEeCdbInstanceEngineProps struct { // The exact version of the engine to use. Version OracleEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for Oracle Enterprise Edition (CDB) instance engines.
Used in `DatabaseInstanceEngine.oracleEeCdb`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var oracleEngineVersion oracleEngineVersion oracleEeCdbInstanceEngineProps := &OracleEeCdbInstanceEngineProps{ Version: oracleEngineVersion, }
type OracleEeInstanceEngineProps ¶
type OracleEeInstanceEngineProps struct { // The exact version of the engine to use. Version OracleEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for Oracle Enterprise Edition instance engines.
Used in `DatabaseInstanceEngine.oracleEe`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var oracleEngineVersion oracleEngineVersion oracleEeInstanceEngineProps := &OracleEeInstanceEngineProps{ Version: oracleEngineVersion, }
type OracleEngineVersion ¶
type OracleEngineVersion interface { // The full version string, for example, "19.0.0.0.ru-2019-10.rur-2019-10.r1". OracleFullVersion() *string // The major version of the engine, for example, "19". OracleMajorVersion() *string }
The versions for the Oracle instance engines.
Those returned by the following list. - `DatabaseInstanceEngine.oracleSe2` - `DatabaseInstanceEngine.oracleSe2Cdb` - `DatabaseInstanceEngine.oracleEe` - `DatabaseInstanceEngine.oracleEeCdb`.
Example:
var vpc vpc instance := rds.NewDatabaseInstance(this, jsii.String("Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), // optional, defaults to m5.large InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_SMALL), Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("syscdk")), // Optional - will default to 'admin' username and generated password Vpc: Vpc, VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }, })
func OracleEngineVersion_Of ¶
func OracleEngineVersion_Of(oracleFullVersion *string, oracleMajorVersion *string) OracleEngineVersion
Creates a new OracleEngineVersion with an arbitrary version.
func OracleEngineVersion_VER_12_1 ¶
func OracleEngineVersion_VER_12_1() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V1 ¶
func OracleEngineVersion_VER_12_1_0_2_V1() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V10 ¶
func OracleEngineVersion_VER_12_1_0_2_V10() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V11 ¶
func OracleEngineVersion_VER_12_1_0_2_V11() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V12 ¶
func OracleEngineVersion_VER_12_1_0_2_V12() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V13 ¶
func OracleEngineVersion_VER_12_1_0_2_V13() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V14 ¶
func OracleEngineVersion_VER_12_1_0_2_V14() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V15 ¶
func OracleEngineVersion_VER_12_1_0_2_V15() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V16 ¶
func OracleEngineVersion_VER_12_1_0_2_V16() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V17 ¶
func OracleEngineVersion_VER_12_1_0_2_V17() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V18 ¶
func OracleEngineVersion_VER_12_1_0_2_V18() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V19 ¶
func OracleEngineVersion_VER_12_1_0_2_V19() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V2 ¶
func OracleEngineVersion_VER_12_1_0_2_V2() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V20 ¶
func OracleEngineVersion_VER_12_1_0_2_V20() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V21 ¶
func OracleEngineVersion_VER_12_1_0_2_V21() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V22 ¶
func OracleEngineVersion_VER_12_1_0_2_V22() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V23 ¶
func OracleEngineVersion_VER_12_1_0_2_V23() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V24 ¶
func OracleEngineVersion_VER_12_1_0_2_V24() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V25 ¶ added in v2.54.0
func OracleEngineVersion_VER_12_1_0_2_V25() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V26 ¶ added in v2.54.0
func OracleEngineVersion_VER_12_1_0_2_V26() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V27 ¶ added in v2.54.0
func OracleEngineVersion_VER_12_1_0_2_V27() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V28 ¶ added in v2.54.0
func OracleEngineVersion_VER_12_1_0_2_V28() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V29 ¶ added in v2.54.0
func OracleEngineVersion_VER_12_1_0_2_V29() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V3 ¶
func OracleEngineVersion_VER_12_1_0_2_V3() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V4 ¶
func OracleEngineVersion_VER_12_1_0_2_V4() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V5 ¶
func OracleEngineVersion_VER_12_1_0_2_V5() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V6 ¶
func OracleEngineVersion_VER_12_1_0_2_V6() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V7 ¶
func OracleEngineVersion_VER_12_1_0_2_V7() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V8 ¶
func OracleEngineVersion_VER_12_1_0_2_V8() OracleEngineVersion
func OracleEngineVersion_VER_12_1_0_2_V9 ¶
func OracleEngineVersion_VER_12_1_0_2_V9() OracleEngineVersion
func OracleEngineVersion_VER_12_2 ¶
func OracleEngineVersion_VER_12_2() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2018_10_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2018_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2019_01_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2019_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2019_04_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2019_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2019_07_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2019_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2019_10_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2019_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2020_01_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2020_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2020_04_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2020_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2020_07_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2020_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2020_10_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2020_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2021_01_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2021_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2021_04_R1 ¶
func OracleEngineVersion_VER_12_2_0_1_2021_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2021_07_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_12_2_0_1_2021_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2021_10_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_12_2_0_1_2021_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_12_2_0_1_2022_01_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_12_2_0_1_2022_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_18 ¶
func OracleEngineVersion_VER_18() OracleEngineVersion
func OracleEngineVersion_VER_18_0_0_0_2019_07_R1 ¶
func OracleEngineVersion_VER_18_0_0_0_2019_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_18_0_0_0_2019_10_R1 ¶
func OracleEngineVersion_VER_18_0_0_0_2019_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_18_0_0_0_2020_01_R1 ¶
func OracleEngineVersion_VER_18_0_0_0_2020_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_18_0_0_0_2020_04_R1 ¶
func OracleEngineVersion_VER_18_0_0_0_2020_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_18_0_0_0_2020_07_R1 ¶
func OracleEngineVersion_VER_18_0_0_0_2020_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_18_0_0_0_2020_10_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_18_0_0_0_2020_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_18_0_0_0_2021_01_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_18_0_0_0_2021_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_18_0_0_0_2021_04_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_18_0_0_0_2021_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_19 ¶
func OracleEngineVersion_VER_19() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2019_07_R1 ¶
func OracleEngineVersion_VER_19_0_0_0_2019_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2019_10_R1 ¶
func OracleEngineVersion_VER_19_0_0_0_2019_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2020_01_R1 ¶
func OracleEngineVersion_VER_19_0_0_0_2020_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2020_04_R1 ¶
func OracleEngineVersion_VER_19_0_0_0_2020_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2020_07_R1 ¶
func OracleEngineVersion_VER_19_0_0_0_2020_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2020_10_R1 ¶
func OracleEngineVersion_VER_19_0_0_0_2020_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2021_01_R1 ¶
func OracleEngineVersion_VER_19_0_0_0_2021_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2021_01_R2 ¶
func OracleEngineVersion_VER_19_0_0_0_2021_01_R2() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2021_04_R1 ¶
func OracleEngineVersion_VER_19_0_0_0_2021_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2021_07_R1 ¶ added in v2.34.0
func OracleEngineVersion_VER_19_0_0_0_2021_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2021_10_R1 ¶ added in v2.34.0
func OracleEngineVersion_VER_19_0_0_0_2021_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2022_01_R1 ¶ added in v2.34.0
func OracleEngineVersion_VER_19_0_0_0_2022_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2022_04_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_19_0_0_0_2022_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2022_07_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_19_0_0_0_2022_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2022_10_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_19_0_0_0_2022_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2023_01_R1 ¶ added in v2.67.0
func OracleEngineVersion_VER_19_0_0_0_2023_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2023_01_R2 ¶ added in v2.133.0
func OracleEngineVersion_VER_19_0_0_0_2023_01_R2() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2023_04_R1 ¶ added in v2.86.0
func OracleEngineVersion_VER_19_0_0_0_2023_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2023_07_R1 ¶ added in v2.106.0
func OracleEngineVersion_VER_19_0_0_0_2023_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2023_10_R1 ¶ added in v2.106.0
func OracleEngineVersion_VER_19_0_0_0_2023_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2024_01_R1 ¶ added in v2.133.0
func OracleEngineVersion_VER_19_0_0_0_2024_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_19_0_0_0_2024_04_R1 ¶ added in v2.148.0
func OracleEngineVersion_VER_19_0_0_0_2024_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_21 ¶ added in v2.34.0
func OracleEngineVersion_VER_21() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2022_01_R1 ¶ added in v2.34.0
func OracleEngineVersion_VER_21_0_0_0_2022_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2022_04_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_21_0_0_0_2022_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2022_07_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_21_0_0_0_2022_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2022_10_R1 ¶ added in v2.54.0
func OracleEngineVersion_VER_21_0_0_0_2022_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2023_01_R1 ¶ added in v2.67.0
func OracleEngineVersion_VER_21_0_0_0_2023_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2023_01_R2 ¶ added in v2.133.0
func OracleEngineVersion_VER_21_0_0_0_2023_01_R2() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2023_04_R1 ¶ added in v2.86.0
func OracleEngineVersion_VER_21_0_0_0_2023_04_R1() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2023_07_R1 ¶ added in v2.106.0
func OracleEngineVersion_VER_21_0_0_0_2023_07_R1() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2023_10_R1 ¶ added in v2.106.0
func OracleEngineVersion_VER_21_0_0_0_2023_10_R1() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2024_01_R1 ¶ added in v2.133.0
func OracleEngineVersion_VER_21_0_0_0_2024_01_R1() OracleEngineVersion
func OracleEngineVersion_VER_21_0_0_0_2024_04_R1 ¶ added in v2.148.0
func OracleEngineVersion_VER_21_0_0_0_2024_04_R1() OracleEngineVersion
type OracleSe2CdbInstanceEngineProps ¶ added in v2.34.0
type OracleSe2CdbInstanceEngineProps struct { // The exact version of the engine to use. Version OracleEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for Oracle Standard Edition 2 (CDB) instance engines.
Used in `DatabaseInstanceEngine.oracleSe2Cdb`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var oracleEngineVersion oracleEngineVersion oracleSe2CdbInstanceEngineProps := &OracleSe2CdbInstanceEngineProps{ Version: oracleEngineVersion, }
type OracleSe2InstanceEngineProps ¶
type OracleSe2InstanceEngineProps struct { // The exact version of the engine to use. Version OracleEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for Oracle Standard Edition 2 instance engines.
Used in `DatabaseInstanceEngine.oracleSe2`.
Example:
var vpc vpc instance := rds.NewDatabaseInstance(this, jsii.String("Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), // optional, defaults to m5.large InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_SMALL), Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("syscdk")), // Optional - will default to 'admin' username and generated password Vpc: Vpc, VpcSubnets: &SubnetSelection{ SubnetType: ec2.SubnetType_PRIVATE_WITH_EGRESS, }, })
type ParameterGroup ¶
type ParameterGroup interface { awscdk.Resource IParameterGroup // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Add a parameter to this parameter group. AddParameter(key *string, value *string) *bool // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Method called when this Parameter Group is used when defining a database cluster. BindToCluster(_options *ParameterGroupClusterBindOptions) *ParameterGroupClusterConfig // Method called when this Parameter Group is used when defining a database instance. BindToInstance(_options *ParameterGroupInstanceBindOptions) *ParameterGroupInstanceConfig GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
A parameter group.
Represents both a cluster parameter group, and an instance parameter group.
Example:
var plan backupPlan var vpc vpc myTable := dynamodb.Table_FromTableName(this, jsii.String("Table"), jsii.String("myTableName")) myDatabaseInstance := rds.NewDatabaseInstance(this, jsii.String("DatabaseInstance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_Mysql(&MySqlInstanceEngineProps{ Version: rds.MysqlEngineVersion_VER_8_0_26(), }), Vpc: Vpc, }) myDatabaseCluster := rds.NewDatabaseCluster(this, jsii.String("DatabaseCluster"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_2_08_1(), }), Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("clusteradmin")), InstanceProps: &InstanceProps{ Vpc: *Vpc, }, }) myServerlessCluster := rds.NewServerlessCluster(this, jsii.String("ServerlessCluster"), &ServerlessClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA_POSTGRESQL(), ParameterGroup: rds.ParameterGroup_FromParameterGroupName(this, jsii.String("ParameterGroup"), jsii.String("default.aurora-postgresql11")), Vpc: Vpc, }) myCoolConstruct := constructs.NewConstruct(this, jsii.String("MyCoolConstruct")) plan.AddSelection(jsii.String("Selection"), &BackupSelectionOptions{ Resources: []backupResource{ backup.*backupResource_FromDynamoDbTable(myTable), backup.*backupResource_FromRdsDatabaseInstance(myDatabaseInstance), backup.*backupResource_FromRdsDatabaseCluster(myDatabaseCluster), backup.*backupResource_FromRdsServerlessCluster(myServerlessCluster), backup.*backupResource_FromTag(jsii.String("stage"), jsii.String("prod")), backup.*backupResource_FromConstruct(myCoolConstruct), }, })
func NewParameterGroup ¶
func NewParameterGroup(scope constructs.Construct, id *string, props *ParameterGroupProps) ParameterGroup
type ParameterGroupClusterBindOptions ¶
type ParameterGroupClusterBindOptions struct { }
Options for `IParameterGroup.bindToCluster`. Empty for now, but can be extended later.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" parameterGroupClusterBindOptions := &ParameterGroupClusterBindOptions{ }
type ParameterGroupClusterConfig ¶
type ParameterGroupClusterConfig struct { // The name of this parameter group. ParameterGroupName *string `field:"required" json:"parameterGroupName" yaml:"parameterGroupName"` }
The type returned from `IParameterGroup.bindToCluster`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" parameterGroupClusterConfig := &ParameterGroupClusterConfig{ ParameterGroupName: jsii.String("parameterGroupName"), }
type ParameterGroupInstanceBindOptions ¶
type ParameterGroupInstanceBindOptions struct { }
Options for `IParameterGroup.bindToInstance`. Empty for now, but can be extended later.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" parameterGroupInstanceBindOptions := &ParameterGroupInstanceBindOptions{ }
type ParameterGroupInstanceConfig ¶
type ParameterGroupInstanceConfig struct { // The name of this parameter group. ParameterGroupName *string `field:"required" json:"parameterGroupName" yaml:"parameterGroupName"` }
The type returned from `IParameterGroup.bindToInstance`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" parameterGroupInstanceConfig := &ParameterGroupInstanceConfig{ ParameterGroupName: jsii.String("parameterGroupName"), }
type ParameterGroupProps ¶
type ParameterGroupProps struct { // The database engine for this parameter group. Engine IEngine `field:"required" json:"engine" yaml:"engine"` // Description for this parameter group. // Default: a CDK generated description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of this parameter group. // Default: - CloudFormation-generated name. // Name *string `field:"optional" json:"name" yaml:"name"` // The parameters in this parameter group. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update. // Default: - RemovalPolicy.DESTROY // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` }
Properties for a parameter group.
Example:
// Set open cursors with parameter group parameterGroup := rds.NewParameterGroup(this, jsii.String("ParameterGroup"), &ParameterGroupProps{ Engine: rds.DatabaseInstanceEngine_OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), Parameters: map[string]*string{ "open_cursors": jsii.String("2500"), }, }) optionGroup := rds.NewOptionGroup(this, jsii.String("OptionGroup"), &OptionGroupProps{ Engine: rds.DatabaseInstanceEngine_*OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), Configurations: []optionConfiguration{ &optionConfiguration{ Name: jsii.String("LOCATOR"), }, &optionConfiguration{ Name: jsii.String("OEM"), Port: jsii.Number(1158), Vpc: *Vpc, }, }, }) // Allow connections to OEM optionGroup.OptionConnections.oEM.Connections.AllowDefaultPortFromAnyIpv4() // Database instance with production values instance := rds.NewDatabaseInstance(this, jsii.String("Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_*OracleSe2(&OracleSe2InstanceEngineProps{ Version: rds.OracleEngineVersion_VER_19_0_0_0_2020_04_R1(), }), LicenseModel: rds.LicenseModel_BRING_YOUR_OWN_LICENSE, InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_BURSTABLE3, ec2.InstanceSize_MEDIUM), MultiAz: jsii.Boolean(true), StorageType: rds.StorageType_IO1, Credentials: rds.Credentials_FromUsername(jsii.String("syscdk")), Vpc: Vpc, DatabaseName: jsii.String("ORCL"), StorageEncrypted: jsii.Boolean(true), BackupRetention: cdk.Duration_Days(jsii.Number(7)), MonitoringInterval: cdk.Duration_Seconds(jsii.Number(60)), EnablePerformanceInsights: jsii.Boolean(true), CloudwatchLogsExports: []*string{ jsii.String("trace"), jsii.String("audit"), jsii.String("alert"), jsii.String("listener"), }, CloudwatchLogsRetention: logs.RetentionDays_ONE_MONTH, AutoMinorVersionUpgrade: jsii.Boolean(true), // required to be true if LOCATOR is used in the option group OptionGroup: OptionGroup, ParameterGroup: ParameterGroup, RemovalPolicy: awscdk.RemovalPolicy_DESTROY, }) // Allow connections on default port from any IPV4 instance.connections.AllowDefaultPortFromAnyIpv4() // Rotate the master user password every 30 days instance.addRotationSingleUser() // Add alarm for high CPU // Add alarm for high CPU cloudwatch.NewAlarm(this, jsii.String("HighCPU"), &AlarmProps{ Metric: instance.metricCPUUtilization(), Threshold: jsii.Number(90), EvaluationPeriods: jsii.Number(1), }) // Trigger Lambda function on instance availability events fn := lambda.NewFunction(this, jsii.String("Function"), &FunctionProps{ Code: lambda.Code_FromInline(jsii.String("exports.handler = (event) => console.log(event);")), Handler: jsii.String("index.handler"), Runtime: lambda.Runtime_NODEJS_18_X(), }) availabilityRule := instance.OnEvent(jsii.String("Availability"), &OnEventOptions{ Target: targets.NewLambdaFunction(fn), }) availabilityRule.AddEventPattern(&EventPattern{ Detail: map[string]interface{}{ "EventCategories": []interface{}{ jsii.String("availability"), }, }, })
type PerformanceInsightRetention ¶
type PerformanceInsightRetention string
The retention period for Performance Insight data, in days.
Per https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-performanceinsightsretentionperiod This must be either - 7 days (the default, free tier) - month * 31, where month is a number of months from 1-23 - 731 (2 years).
const ( // Default retention period of 7 days. PerformanceInsightRetention_DEFAULT PerformanceInsightRetention = "DEFAULT" PerformanceInsightRetention_MONTHS_1 PerformanceInsightRetention = "MONTHS_1" PerformanceInsightRetention_MONTHS_2 PerformanceInsightRetention = "MONTHS_2" PerformanceInsightRetention_MONTHS_3 PerformanceInsightRetention = "MONTHS_3" PerformanceInsightRetention_MONTHS_4 PerformanceInsightRetention = "MONTHS_4" PerformanceInsightRetention_MONTHS_5 PerformanceInsightRetention = "MONTHS_5" PerformanceInsightRetention_MONTHS_6 PerformanceInsightRetention = "MONTHS_6" PerformanceInsightRetention_MONTHS_7 PerformanceInsightRetention = "MONTHS_7" PerformanceInsightRetention_MONTHS_8 PerformanceInsightRetention = "MONTHS_8" PerformanceInsightRetention_MONTHS_9 PerformanceInsightRetention = "MONTHS_9" PerformanceInsightRetention_MONTHS_10 PerformanceInsightRetention = "MONTHS_10" PerformanceInsightRetention_MONTHS_11 PerformanceInsightRetention = "MONTHS_11" PerformanceInsightRetention_MONTHS_12 PerformanceInsightRetention = "MONTHS_12" PerformanceInsightRetention_MONTHS_13 PerformanceInsightRetention = "MONTHS_13" PerformanceInsightRetention_MONTHS_14 PerformanceInsightRetention = "MONTHS_14" PerformanceInsightRetention_MONTHS_15 PerformanceInsightRetention = "MONTHS_15" PerformanceInsightRetention_MONTHS_16 PerformanceInsightRetention = "MONTHS_16" PerformanceInsightRetention_MONTHS_17 PerformanceInsightRetention = "MONTHS_17" PerformanceInsightRetention_MONTHS_18 PerformanceInsightRetention = "MONTHS_18" PerformanceInsightRetention_MONTHS_19 PerformanceInsightRetention = "MONTHS_19" PerformanceInsightRetention_MONTHS_20 PerformanceInsightRetention = "MONTHS_20" PerformanceInsightRetention_MONTHS_21 PerformanceInsightRetention = "MONTHS_21" PerformanceInsightRetention_MONTHS_22 PerformanceInsightRetention = "MONTHS_22" PerformanceInsightRetention_MONTHS_23 PerformanceInsightRetention = "MONTHS_23" // Long term retention period of 2 years. PerformanceInsightRetention_LONG_TERM PerformanceInsightRetention = "LONG_TERM" )
type PostgresEngineFeatures ¶
type PostgresEngineFeatures struct { // Whether this version of the Postgres engine supports the S3 data export feature. // Default: false. // S3Export *bool `field:"optional" json:"s3Export" yaml:"s3Export"` // Whether this version of the Postgres engine supports the S3 data import feature. // Default: false. // S3Import *bool `field:"optional" json:"s3Import" yaml:"s3Import"` }
Features supported by the Postgres database engine.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" postgresEngineFeatures := &PostgresEngineFeatures{ S3Export: jsii.Boolean(false), S3Import: jsii.Boolean(false), }
type PostgresEngineVersion ¶
type PostgresEngineVersion interface { // The full version string, for example, "13.11". PostgresFullVersion() *string // The major version of the engine, for example, "13". PostgresMajorVersion() *string }
The versions for the PostgreSQL instance engines (those returned by `DatabaseInstanceEngine.postgres`).
Example:
var vpc vpc engine := rds.DatabaseInstanceEngine_Postgres(&PostgresInstanceEngineProps{ Version: rds.PostgresEngineVersion_VER_16_3(), }) myKey := kms.NewKey(this, jsii.String("MyKey")) rds.NewDatabaseInstance(this, jsii.String("InstanceWithCustomizedSecret"), &DatabaseInstanceProps{ Engine: Engine, Vpc: Vpc, Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("postgres"), &CredentialsBaseOptions{ SecretName: jsii.String("my-cool-name"), EncryptionKey: myKey, ExcludeCharacters: jsii.String("!&*^#@()"), ReplicaRegions: []replicaRegion{ &replicaRegion{ Region: jsii.String("eu-west-1"), }, &replicaRegion{ Region: jsii.String("eu-west-2"), }, }, }), })
func PostgresEngineVersion_Of ¶
func PostgresEngineVersion_Of(postgresFullVersion *string, postgresMajorVersion *string, postgresFeatures *PostgresEngineFeatures) PostgresEngineVersion
Create a new PostgresEngineVersion with an arbitrary version.
func PostgresEngineVersion_VER_10 ¶
func PostgresEngineVersion_VER_10() PostgresEngineVersion
func PostgresEngineVersion_VER_10_1 ¶
func PostgresEngineVersion_VER_10_1() PostgresEngineVersion
func PostgresEngineVersion_VER_10_10 ¶
func PostgresEngineVersion_VER_10_10() PostgresEngineVersion
func PostgresEngineVersion_VER_10_11 ¶
func PostgresEngineVersion_VER_10_11() PostgresEngineVersion
func PostgresEngineVersion_VER_10_12 ¶
func PostgresEngineVersion_VER_10_12() PostgresEngineVersion
func PostgresEngineVersion_VER_10_13 ¶
func PostgresEngineVersion_VER_10_13() PostgresEngineVersion
func PostgresEngineVersion_VER_10_14 ¶
func PostgresEngineVersion_VER_10_14() PostgresEngineVersion
func PostgresEngineVersion_VER_10_15 ¶
func PostgresEngineVersion_VER_10_15() PostgresEngineVersion
func PostgresEngineVersion_VER_10_16 ¶
func PostgresEngineVersion_VER_10_16() PostgresEngineVersion
func PostgresEngineVersion_VER_10_17 ¶
func PostgresEngineVersion_VER_10_17() PostgresEngineVersion
func PostgresEngineVersion_VER_10_18 ¶
func PostgresEngineVersion_VER_10_18() PostgresEngineVersion
func PostgresEngineVersion_VER_10_19 ¶ added in v2.10.0
func PostgresEngineVersion_VER_10_19() PostgresEngineVersion
func PostgresEngineVersion_VER_10_20 ¶ added in v2.19.0
func PostgresEngineVersion_VER_10_20() PostgresEngineVersion
func PostgresEngineVersion_VER_10_21 ¶ added in v2.54.0
func PostgresEngineVersion_VER_10_21() PostgresEngineVersion
func PostgresEngineVersion_VER_10_22 ¶ added in v2.54.0
func PostgresEngineVersion_VER_10_22() PostgresEngineVersion
func PostgresEngineVersion_VER_10_23 ¶ added in v2.64.0
func PostgresEngineVersion_VER_10_23() PostgresEngineVersion
func PostgresEngineVersion_VER_10_3 ¶
func PostgresEngineVersion_VER_10_3() PostgresEngineVersion
func PostgresEngineVersion_VER_10_4 ¶
func PostgresEngineVersion_VER_10_4() PostgresEngineVersion
func PostgresEngineVersion_VER_10_5 ¶
func PostgresEngineVersion_VER_10_5() PostgresEngineVersion
func PostgresEngineVersion_VER_10_6 ¶
func PostgresEngineVersion_VER_10_6() PostgresEngineVersion
func PostgresEngineVersion_VER_10_7 ¶
func PostgresEngineVersion_VER_10_7() PostgresEngineVersion
func PostgresEngineVersion_VER_10_9 ¶
func PostgresEngineVersion_VER_10_9() PostgresEngineVersion
func PostgresEngineVersion_VER_11 ¶
func PostgresEngineVersion_VER_11() PostgresEngineVersion
func PostgresEngineVersion_VER_11_1 ¶
func PostgresEngineVersion_VER_11_1() PostgresEngineVersion
func PostgresEngineVersion_VER_11_10 ¶
func PostgresEngineVersion_VER_11_10() PostgresEngineVersion
func PostgresEngineVersion_VER_11_11 ¶
func PostgresEngineVersion_VER_11_11() PostgresEngineVersion
func PostgresEngineVersion_VER_11_12 ¶
func PostgresEngineVersion_VER_11_12() PostgresEngineVersion
func PostgresEngineVersion_VER_11_13 ¶
func PostgresEngineVersion_VER_11_13() PostgresEngineVersion
func PostgresEngineVersion_VER_11_14 ¶ added in v2.10.0
func PostgresEngineVersion_VER_11_14() PostgresEngineVersion
func PostgresEngineVersion_VER_11_15 ¶ added in v2.19.0
func PostgresEngineVersion_VER_11_15() PostgresEngineVersion
func PostgresEngineVersion_VER_11_16 ¶ added in v2.44.0
func PostgresEngineVersion_VER_11_16() PostgresEngineVersion
func PostgresEngineVersion_VER_11_17 ¶ added in v2.54.0
func PostgresEngineVersion_VER_11_17() PostgresEngineVersion
func PostgresEngineVersion_VER_11_18 ¶ added in v2.64.0
func PostgresEngineVersion_VER_11_18() PostgresEngineVersion
func PostgresEngineVersion_VER_11_19 ¶ added in v2.69.0
func PostgresEngineVersion_VER_11_19() PostgresEngineVersion
func PostgresEngineVersion_VER_11_2 ¶
func PostgresEngineVersion_VER_11_2() PostgresEngineVersion
func PostgresEngineVersion_VER_11_20 ¶ added in v2.82.0
func PostgresEngineVersion_VER_11_20() PostgresEngineVersion
func PostgresEngineVersion_VER_11_21 ¶ added in v2.94.0
func PostgresEngineVersion_VER_11_21() PostgresEngineVersion
func PostgresEngineVersion_VER_11_22 ¶ added in v2.112.0
func PostgresEngineVersion_VER_11_22() PostgresEngineVersion
func PostgresEngineVersion_VER_11_22_RDS_20240418 ¶ added in v2.148.0
func PostgresEngineVersion_VER_11_22_RDS_20240418() PostgresEngineVersion
func PostgresEngineVersion_VER_11_22_RDS_20240509 ¶ added in v2.148.0
func PostgresEngineVersion_VER_11_22_RDS_20240509() PostgresEngineVersion
func PostgresEngineVersion_VER_11_4 ¶
func PostgresEngineVersion_VER_11_4() PostgresEngineVersion
func PostgresEngineVersion_VER_11_5 ¶
func PostgresEngineVersion_VER_11_5() PostgresEngineVersion
func PostgresEngineVersion_VER_11_6 ¶
func PostgresEngineVersion_VER_11_6() PostgresEngineVersion
func PostgresEngineVersion_VER_11_7 ¶
func PostgresEngineVersion_VER_11_7() PostgresEngineVersion
func PostgresEngineVersion_VER_11_8 ¶
func PostgresEngineVersion_VER_11_8() PostgresEngineVersion
func PostgresEngineVersion_VER_11_9 ¶
func PostgresEngineVersion_VER_11_9() PostgresEngineVersion
func PostgresEngineVersion_VER_12 ¶
func PostgresEngineVersion_VER_12() PostgresEngineVersion
func PostgresEngineVersion_VER_12_10 ¶ added in v2.19.0
func PostgresEngineVersion_VER_12_10() PostgresEngineVersion
func PostgresEngineVersion_VER_12_11 ¶ added in v2.37.0
func PostgresEngineVersion_VER_12_11() PostgresEngineVersion
func PostgresEngineVersion_VER_12_12 ¶ added in v2.54.0
func PostgresEngineVersion_VER_12_12() PostgresEngineVersion
func PostgresEngineVersion_VER_12_13 ¶ added in v2.64.0
func PostgresEngineVersion_VER_12_13() PostgresEngineVersion
func PostgresEngineVersion_VER_12_14 ¶ added in v2.69.0
func PostgresEngineVersion_VER_12_14() PostgresEngineVersion
func PostgresEngineVersion_VER_12_15 ¶ added in v2.82.0
func PostgresEngineVersion_VER_12_15() PostgresEngineVersion
func PostgresEngineVersion_VER_12_16 ¶ added in v2.94.0
func PostgresEngineVersion_VER_12_16() PostgresEngineVersion
func PostgresEngineVersion_VER_12_17 ¶ added in v2.112.0
func PostgresEngineVersion_VER_12_17() PostgresEngineVersion
func PostgresEngineVersion_VER_12_18 ¶ added in v2.133.0
func PostgresEngineVersion_VER_12_18() PostgresEngineVersion
func PostgresEngineVersion_VER_12_19 ¶ added in v2.148.0
func PostgresEngineVersion_VER_12_19() PostgresEngineVersion
func PostgresEngineVersion_VER_12_2 ¶
func PostgresEngineVersion_VER_12_2() PostgresEngineVersion
func PostgresEngineVersion_VER_12_3 ¶
func PostgresEngineVersion_VER_12_3() PostgresEngineVersion
func PostgresEngineVersion_VER_12_4 ¶
func PostgresEngineVersion_VER_12_4() PostgresEngineVersion
func PostgresEngineVersion_VER_12_5 ¶
func PostgresEngineVersion_VER_12_5() PostgresEngineVersion
func PostgresEngineVersion_VER_12_6 ¶
func PostgresEngineVersion_VER_12_6() PostgresEngineVersion
func PostgresEngineVersion_VER_12_7 ¶
func PostgresEngineVersion_VER_12_7() PostgresEngineVersion
func PostgresEngineVersion_VER_12_8 ¶
func PostgresEngineVersion_VER_12_8() PostgresEngineVersion
func PostgresEngineVersion_VER_12_9 ¶ added in v2.10.0
func PostgresEngineVersion_VER_12_9() PostgresEngineVersion
func PostgresEngineVersion_VER_13 ¶
func PostgresEngineVersion_VER_13() PostgresEngineVersion
func PostgresEngineVersion_VER_13_1 ¶
func PostgresEngineVersion_VER_13_1() PostgresEngineVersion
func PostgresEngineVersion_VER_13_10 ¶ added in v2.69.0
func PostgresEngineVersion_VER_13_10() PostgresEngineVersion
func PostgresEngineVersion_VER_13_11 ¶ added in v2.82.0
func PostgresEngineVersion_VER_13_11() PostgresEngineVersion
func PostgresEngineVersion_VER_13_12 ¶ added in v2.94.0
func PostgresEngineVersion_VER_13_12() PostgresEngineVersion
func PostgresEngineVersion_VER_13_13 ¶ added in v2.112.0
func PostgresEngineVersion_VER_13_13() PostgresEngineVersion
func PostgresEngineVersion_VER_13_14 ¶ added in v2.133.0
func PostgresEngineVersion_VER_13_14() PostgresEngineVersion
func PostgresEngineVersion_VER_13_15 ¶ added in v2.148.0
func PostgresEngineVersion_VER_13_15() PostgresEngineVersion
func PostgresEngineVersion_VER_13_2 ¶
func PostgresEngineVersion_VER_13_2() PostgresEngineVersion
func PostgresEngineVersion_VER_13_3 ¶
func PostgresEngineVersion_VER_13_3() PostgresEngineVersion
func PostgresEngineVersion_VER_13_4 ¶
func PostgresEngineVersion_VER_13_4() PostgresEngineVersion
func PostgresEngineVersion_VER_13_5 ¶ added in v2.10.0
func PostgresEngineVersion_VER_13_5() PostgresEngineVersion
func PostgresEngineVersion_VER_13_6 ¶ added in v2.19.0
func PostgresEngineVersion_VER_13_6() PostgresEngineVersion
func PostgresEngineVersion_VER_13_7 ¶ added in v2.37.0
func PostgresEngineVersion_VER_13_7() PostgresEngineVersion
func PostgresEngineVersion_VER_13_8 ¶ added in v2.54.0
func PostgresEngineVersion_VER_13_8() PostgresEngineVersion
func PostgresEngineVersion_VER_13_9 ¶ added in v2.64.0
func PostgresEngineVersion_VER_13_9() PostgresEngineVersion
func PostgresEngineVersion_VER_14 ¶ added in v2.11.0
func PostgresEngineVersion_VER_14() PostgresEngineVersion
func PostgresEngineVersion_VER_14_1 ¶ added in v2.11.0
func PostgresEngineVersion_VER_14_1() PostgresEngineVersion
func PostgresEngineVersion_VER_14_10 ¶ added in v2.112.0
func PostgresEngineVersion_VER_14_10() PostgresEngineVersion
func PostgresEngineVersion_VER_14_11 ¶ added in v2.133.0
func PostgresEngineVersion_VER_14_11() PostgresEngineVersion
func PostgresEngineVersion_VER_14_12 ¶ added in v2.148.0
func PostgresEngineVersion_VER_14_12() PostgresEngineVersion
func PostgresEngineVersion_VER_14_2 ¶ added in v2.19.0
func PostgresEngineVersion_VER_14_2() PostgresEngineVersion
func PostgresEngineVersion_VER_14_3 ¶ added in v2.37.0
func PostgresEngineVersion_VER_14_3() PostgresEngineVersion
func PostgresEngineVersion_VER_14_4 ¶ added in v2.47.0
func PostgresEngineVersion_VER_14_4() PostgresEngineVersion
func PostgresEngineVersion_VER_14_5 ¶ added in v2.54.0
func PostgresEngineVersion_VER_14_5() PostgresEngineVersion
func PostgresEngineVersion_VER_14_6 ¶ added in v2.64.0
func PostgresEngineVersion_VER_14_6() PostgresEngineVersion
func PostgresEngineVersion_VER_14_7 ¶ added in v2.69.0
func PostgresEngineVersion_VER_14_7() PostgresEngineVersion
func PostgresEngineVersion_VER_14_8 ¶ added in v2.82.0
func PostgresEngineVersion_VER_14_8() PostgresEngineVersion
func PostgresEngineVersion_VER_14_9 ¶ added in v2.94.0
func PostgresEngineVersion_VER_14_9() PostgresEngineVersion
func PostgresEngineVersion_VER_15 ¶ added in v2.68.0
func PostgresEngineVersion_VER_15() PostgresEngineVersion
func PostgresEngineVersion_VER_15_2 ¶ added in v2.69.0
func PostgresEngineVersion_VER_15_2() PostgresEngineVersion
func PostgresEngineVersion_VER_15_3 ¶ added in v2.82.0
func PostgresEngineVersion_VER_15_3() PostgresEngineVersion
func PostgresEngineVersion_VER_15_4 ¶ added in v2.94.0
func PostgresEngineVersion_VER_15_4() PostgresEngineVersion
func PostgresEngineVersion_VER_15_5 ¶ added in v2.112.0
func PostgresEngineVersion_VER_15_5() PostgresEngineVersion
func PostgresEngineVersion_VER_15_6 ¶ added in v2.133.0
func PostgresEngineVersion_VER_15_6() PostgresEngineVersion
func PostgresEngineVersion_VER_15_7 ¶ added in v2.148.0
func PostgresEngineVersion_VER_15_7() PostgresEngineVersion
func PostgresEngineVersion_VER_16 ¶ added in v2.112.0
func PostgresEngineVersion_VER_16() PostgresEngineVersion
func PostgresEngineVersion_VER_16_1 ¶ added in v2.112.0
func PostgresEngineVersion_VER_16_1() PostgresEngineVersion
func PostgresEngineVersion_VER_16_2 ¶ added in v2.133.0
func PostgresEngineVersion_VER_16_2() PostgresEngineVersion
func PostgresEngineVersion_VER_16_3 ¶ added in v2.143.0
func PostgresEngineVersion_VER_16_3() PostgresEngineVersion
func PostgresEngineVersion_VER_9_6_24 ¶ added in v2.10.0
func PostgresEngineVersion_VER_9_6_24() PostgresEngineVersion
type PostgresInstanceEngineProps ¶
type PostgresInstanceEngineProps struct { // The exact version of the engine to use. Version PostgresEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for PostgreSQL instance engines.
Used in `DatabaseInstanceEngine.postgres`.
Example:
var vpc vpc engine := rds.DatabaseInstanceEngine_Postgres(&PostgresInstanceEngineProps{ Version: rds.PostgresEngineVersion_VER_16_3(), }) myKey := kms.NewKey(this, jsii.String("MyKey")) rds.NewDatabaseInstance(this, jsii.String("InstanceWithCustomizedSecret"), &DatabaseInstanceProps{ Engine: Engine, Vpc: Vpc, Credentials: rds.Credentials_FromGeneratedSecret(jsii.String("postgres"), &CredentialsBaseOptions{ SecretName: jsii.String("my-cool-name"), EncryptionKey: myKey, ExcludeCharacters: jsii.String("!&*^#@()"), ReplicaRegions: []replicaRegion{ &replicaRegion{ Region: jsii.String("eu-west-1"), }, &replicaRegion{ Region: jsii.String("eu-west-2"), }, }, }), })
type ProcessorFeatures ¶
type ProcessorFeatures struct { // The number of CPU core. // Default: - the default number of CPU cores for the chosen instance class. // CoreCount *float64 `field:"optional" json:"coreCount" yaml:"coreCount"` // The number of threads per core. // Default: - the default number of threads per core for the chosen instance class. // ThreadsPerCore *float64 `field:"optional" json:"threadsPerCore" yaml:"threadsPerCore"` }
The processor features.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" processorFeatures := &ProcessorFeatures{ CoreCount: jsii.Number(123), ThreadsPerCore: jsii.Number(123), }
type ProvisionedClusterInstanceProps ¶ added in v2.82.0
type ProvisionedClusterInstanceProps struct { // Whether to allow upgrade of major version for the DB instance. // Default: - false. // AllowMajorVersionUpgrade *bool `field:"optional" json:"allowMajorVersionUpgrade" yaml:"allowMajorVersionUpgrade"` // Whether to enable automatic upgrade of minor version for the DB instance. // Default: - true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The identifier of the CA certificate for this DB cluster's instances. // // Specifying or updating this property triggers a reboot. // // For RDS DB engines:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html // // Default: - RDS will choose a certificate authority. // CaCertificate CaCertificate `field:"optional" json:"caCertificate" yaml:"caCertificate"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // The identifier for the database instance. // Default: - CloudFormation generated identifier. // InstanceIdentifier *string `field:"optional" json:"instanceIdentifier" yaml:"instanceIdentifier"` // Only used for migrating existing clusters from using `instanceProps` to `writer` and `readers`. // // Example: // // existing cluster // declare const vpc: ec2.Vpc; // const cluster = new rds.DatabaseCluster(this, 'Database', { // engine: rds.DatabaseClusterEngine.auroraMysql({ // version: rds.AuroraMysqlEngineVersion.VER_3_03_0, // }), // instances: 2, // instanceProps: { // instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), // vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC }, // vpc, // }, // }); // // // migration // // const instanceProps = { // instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), // isFromLegacyInstanceProps: true, // }; // // const myCluster = new rds.DatabaseCluster(this, 'Database', { // engine: rds.DatabaseClusterEngine.auroraMysql({ // version: rds.AuroraMysqlEngineVersion.VER_3_03_0, // }), // vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC }, // vpc, // writer: rds.ClusterInstance.provisioned('Instance1', { // instanceType: instanceProps.instanceType, // isFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps, // }), // readers: [ // rds.ClusterInstance.provisioned('Instance2', { // instanceType: instanceProps.instanceType, // isFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps, // }), // ], // }); // // Default: false. // IsFromLegacyInstanceProps *bool `field:"optional" json:"isFromLegacyInstanceProps" yaml:"isFromLegacyInstanceProps"` // The DB parameter group to associate with the instance. // // This is only needed if you need to configure different parameter // groups for each individual instance, otherwise you should not // provide this and just use the cluster parameter group. // Default: the cluster parameter group is used. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The parameters in the DBParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). // // Example: 'Sun:23:45-Mon:00:15'. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // // Default: - 30-minute window selected at random from an 8-hour block of time for // each AWS Region, occurring on a random day of the week. // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // Indicates whether the DB instance is an internet-facing instance. // // If not specified, // the cluster's vpcSubnets will be used to determine if the instance is internet-facing // or not. // Default: - `true` if the cluster's `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // The cluster instance type. // Default: db.t3.medium // InstanceType awsec2.InstanceType `field:"optional" json:"instanceType" yaml:"instanceType"` // The promotion tier of the cluster instance. // // Can be between 0-15 // // For provisioned instances this just determines the failover priority. // If multiple instances have the same priority then one will be picked at random. // Default: 2. // PromotionTier *float64 `field:"optional" json:"promotionTier" yaml:"promotionTier"` }
Options for creating a provisioned instance.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_01_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_R6G, ec2.InstanceSize_XLARGE4), }), ServerlessV2MinCapacity: jsii.Number(6.5), ServerlessV2MaxCapacity: jsii.Number(64), Readers: []iClusterInstance{ rds.ClusterInstance_ServerlessV2(jsii.String("reader1"), &ServerlessV2ClusterInstanceProps{ ScaleWithWriter: jsii.Boolean(true), }), rds.ClusterInstance_*ServerlessV2(jsii.String("reader2")), }, Vpc: Vpc, })
type ProxyTarget ¶
type ProxyTarget interface { // Bind this target to the specified database proxy. Bind(proxy DatabaseProxy) *ProxyTargetConfig }
Proxy target: Instance or Cluster.
A target group is a collection of databases that the proxy can connect to. Currently, you can specify only one RDS DB instance or Aurora DB cluster.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_03_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer")), Vpc: Vpc, }) proxy := rds.NewDatabaseProxy(this, jsii.String("Proxy"), &DatabaseProxyProps{ ProxyTarget: rds.ProxyTarget_FromCluster(cluster), Secrets: []iSecret{ cluster.Secret, }, Vpc: Vpc, }) role := iam.NewRole(this, jsii.String("DBProxyRole"), &RoleProps{ AssumedBy: iam.NewAccountPrincipal(this.Account), }) proxy.GrantConnect(role, jsii.String("admin"))
func ProxyTarget_FromCluster ¶
func ProxyTarget_FromCluster(cluster IDatabaseCluster) ProxyTarget
From cluster.
func ProxyTarget_FromInstance ¶
func ProxyTarget_FromInstance(instance IDatabaseInstance) ProxyTarget
From instance.
type ProxyTargetConfig ¶
type ProxyTargetConfig struct { // The engine family of the database instance or cluster this proxy connects with. EngineFamily *string `field:"required" json:"engineFamily" yaml:"engineFamily"` // The database clusters to which this proxy connects. // // Either this or `dbInstances` will be set and the other `undefined`. // Default: - `undefined` if `dbInstances` is set. // DbClusters *[]IDatabaseCluster `field:"optional" json:"dbClusters" yaml:"dbClusters"` // The database instances to which this proxy connects. // // Either this or `dbClusters` will be set and the other `undefined`. // Default: - `undefined` if `dbClusters` is set. // DbInstances *[]IDatabaseInstance `field:"optional" json:"dbInstances" yaml:"dbInstances"` }
The result of binding a `ProxyTarget` to a `DatabaseProxy`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var databaseCluster databaseCluster var databaseInstance databaseInstance proxyTargetConfig := &ProxyTargetConfig{ EngineFamily: jsii.String("engineFamily"), // the properties below are optional DbClusters: []iDatabaseCluster{ databaseCluster, }, DbInstances: []iDatabaseInstance{ databaseInstance, }, }
type RotationMultiUserOptions ¶
type RotationMultiUserOptions struct { // Specifies the number of days after the previous rotation before Secrets Manager triggers the next automatic rotation. // Default: - 30 days. // AutomaticallyAfter awscdk.Duration `field:"optional" json:"automaticallyAfter" yaml:"automaticallyAfter"` // The VPC interface endpoint to use for the Secrets Manager API. // // If you enable private DNS hostnames for your VPC private endpoint (the default), you don't // need to specify an endpoint. The standard Secrets Manager DNS hostname the Secrets Manager // CLI and SDKs use by default (https://secretsmanager.<region>.amazonaws.com) automatically // resolves to your VPC endpoint. // Default: https://secretsmanager.<region>.amazonaws.com // Endpoint awsec2.IInterfaceVpcEndpoint `field:"optional" json:"endpoint" yaml:"endpoint"` // Specifies characters to not include in generated passwords. // Default: " %+~`#$&*()|[]{}:;<>?!'/@\"\\" // ExcludeCharacters *string `field:"optional" json:"excludeCharacters" yaml:"excludeCharacters"` // Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. // Default: true. // RotateImmediatelyOnUpdate *bool `field:"optional" json:"rotateImmediatelyOnUpdate" yaml:"rotateImmediatelyOnUpdate"` // The security group for the Lambda rotation function. // Default: - a new security group is created. // SecurityGroup awsec2.ISecurityGroup `field:"optional" json:"securityGroup" yaml:"securityGroup"` // Where to place the rotation Lambda function. // Default: - same placement as instance or cluster. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` // The secret to rotate. // // It must be a JSON string with the following format: // “` // { // "engine": <required: database engine>, // "host": <required: instance host name>, // "username": <required: username>, // "password": <required: password>, // "dbname": <optional: database name>, // "port": <optional: if not specified, default port will be used>, // "masterarn": <required: the arn of the master secret which will be used to create users/change passwords> // } // “`. Secret awssecretsmanager.ISecret `field:"required" json:"secret" yaml:"secret"` }
Options to add the multi user rotation.
Example:
var instance databaseInstance var myImportedSecret databaseSecret instance.addRotationMultiUser(jsii.String("MyUser"), &RotationMultiUserOptions{ Secret: myImportedSecret, })
type RotationSingleUserOptions ¶
type RotationSingleUserOptions struct { // Specifies the number of days after the previous rotation before Secrets Manager triggers the next automatic rotation. // Default: - 30 days. // AutomaticallyAfter awscdk.Duration `field:"optional" json:"automaticallyAfter" yaml:"automaticallyAfter"` // The VPC interface endpoint to use for the Secrets Manager API. // // If you enable private DNS hostnames for your VPC private endpoint (the default), you don't // need to specify an endpoint. The standard Secrets Manager DNS hostname the Secrets Manager // CLI and SDKs use by default (https://secretsmanager.<region>.amazonaws.com) automatically // resolves to your VPC endpoint. // Default: https://secretsmanager.<region>.amazonaws.com // Endpoint awsec2.IInterfaceVpcEndpoint `field:"optional" json:"endpoint" yaml:"endpoint"` // Specifies characters to not include in generated passwords. // Default: " %+~`#$&*()|[]{}:;<>?!'/@\"\\" // ExcludeCharacters *string `field:"optional" json:"excludeCharacters" yaml:"excludeCharacters"` // Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. // Default: true. // RotateImmediatelyOnUpdate *bool `field:"optional" json:"rotateImmediatelyOnUpdate" yaml:"rotateImmediatelyOnUpdate"` // The security group for the Lambda rotation function. // Default: - a new security group is created. // SecurityGroup awsec2.ISecurityGroup `field:"optional" json:"securityGroup" yaml:"securityGroup"` // Where to place the rotation Lambda function. // Default: - same placement as instance or cluster. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Options to add the multi user rotation.
Example:
var instance databaseInstance var mySecurityGroup securityGroup instance.addRotationSingleUser(&RotationSingleUserOptions{ AutomaticallyAfter: awscdk.Duration_Days(jsii.Number(7)), // defaults to 30 days ExcludeCharacters: jsii.String("!@#$%^&*"), // defaults to the set " %+~`#/// here*()|[]{}:;<>?!'/@\"\\" SecurityGroup: mySecurityGroup, // defaults to an auto-created security group RotateImmediatelyOnUpdate: jsii.Boolean(false), })
type ServerlessCluster ¶
type ServerlessCluster interface { awscdk.Resource IServerlessCluster // The ARN of the cluster. ClusterArn() *string // The endpoint to use for read/write operations. ClusterEndpoint() Endpoint // Identifier of the cluster. ClusterIdentifier() *string // The endpoint to use for read/write operations. ClusterReadEndpoint() Endpoint // Access to the network connections. Connections() awsec2.Connections EnableDataApi() *bool SetEnableDataApi(val *bool) // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment NewCfnProps() *CfnDBClusterProps // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The secret attached to this cluster. Secret() awssecretsmanager.ISecret SecurityGroups() *[]awsec2.ISecurityGroup // The stack in which this resource is defined. Stack() awscdk.Stack // Adds the multi user rotation to this cluster. AddRotationMultiUser(id *string, options *RotationMultiUserOptions) awssecretsmanager.SecretRotation // Adds the single user rotation of the master password to this cluster. AddRotationSingleUser(options *RotationSingleUserOptions) awssecretsmanager.SecretRotation // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity to access to the Data API, including read access to the secret attached to the cluster if present. GrantDataApiAccess(grantee awsiam.IGrantable) awsiam.Grant // Returns a string representation of this construct. ToString() *string }
Create an Aurora Serverless v1 Cluster.
Example:
// Build a data source for AppSync to access the database. var api graphqlApi // Create username and password secret for DB Cluster secret := rds.NewDatabaseSecret(this, jsii.String("AuroraSecret"), &DatabaseSecretProps{ Username: jsii.String("clusteradmin"), }) // The VPC to place the cluster in vpc := ec2.NewVpc(this, jsii.String("AuroraVpc")) // Create the serverless cluster, provide all values needed to customise the database. cluster := rds.NewServerlessCluster(this, jsii.String("AuroraCluster"), &ServerlessClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA_MYSQL(), Vpc: Vpc, Credentials: map[string]*string{ "username": jsii.String("clusteradmin"), }, ClusterIdentifier: jsii.String("db-endpoint-test"), DefaultDatabaseName: jsii.String("demos"), }) rdsDS := api.AddRdsDataSource(jsii.String("rds"), cluster, secret, jsii.String("demos")) // Set up a resolver for an RDS query. rdsDS.CreateResolver(jsii.String("QueryGetDemosRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Query"), FieldName: jsii.String("getDemosRds"), RequestMappingTemplate: appsync.MappingTemplate_FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "SELECT * FROM demos" ] } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[0]) `)), }) // Set up a resolver for an RDS mutation. rdsDS.CreateResolver(jsii.String("MutationAddDemoRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Mutation"), FieldName: jsii.String("addDemoRds"), RequestMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "INSERT INTO demos VALUES (:id, :version)", "SELECT * WHERE id = :id" ], "variableMap": { ":id": $util.toJson($util.autoId()), ":version": $util.toJson($ctx.args.version) } } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0]) `)), })
func NewServerlessCluster ¶
func NewServerlessCluster(scope constructs.Construct, id *string, props *ServerlessClusterProps) ServerlessCluster
type ServerlessClusterAttributes ¶
type ServerlessClusterAttributes struct { // Identifier for the cluster. ClusterIdentifier *string `field:"required" json:"clusterIdentifier" yaml:"clusterIdentifier"` // Cluster endpoint address. // Default: - no endpoint address. // ClusterEndpointAddress *string `field:"optional" json:"clusterEndpointAddress" yaml:"clusterEndpointAddress"` // The database port. // Default: - none. // Port *float64 `field:"optional" json:"port" yaml:"port"` // Reader endpoint address. // Default: - no reader address. // ReaderEndpointAddress *string `field:"optional" json:"readerEndpointAddress" yaml:"readerEndpointAddress"` // The secret attached to the database cluster. // Default: - no secret. // Secret awssecretsmanager.ISecret `field:"optional" json:"secret" yaml:"secret"` // The security groups of the database cluster. // Default: - no security groups. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` }
Properties that describe an existing cluster instance.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var secret secret var securityGroup securityGroup serverlessClusterAttributes := &ServerlessClusterAttributes{ ClusterIdentifier: jsii.String("clusterIdentifier"), // the properties below are optional ClusterEndpointAddress: jsii.String("clusterEndpointAddress"), Port: jsii.Number(123), ReaderEndpointAddress: jsii.String("readerEndpointAddress"), Secret: secret, SecurityGroups: []iSecurityGroup{ securityGroup, }, }
type ServerlessClusterFromSnapshot ¶ added in v2.4.0
type ServerlessClusterFromSnapshot interface { awscdk.Resource IServerlessCluster // The ARN of the cluster. ClusterArn() *string // The endpoint to use for read/write operations. ClusterEndpoint() Endpoint // Identifier of the cluster. ClusterIdentifier() *string // The endpoint to use for read/write operations. ClusterReadEndpoint() Endpoint // Access to the network connections. Connections() awsec2.Connections EnableDataApi() *bool SetEnableDataApi(val *bool) // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment NewCfnProps() *CfnDBClusterProps // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The secret attached to this cluster. Secret() awssecretsmanager.ISecret SecurityGroups() *[]awsec2.ISecurityGroup // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Renders the secret attachment target specifications. AsSecretAttachmentTarget() *awssecretsmanager.SecretAttachmentTargetProps GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Grant the given identity to access to the Data API, including read access to the secret attached to the cluster if present. GrantDataApiAccess(grantee awsiam.IGrantable) awsiam.Grant // Returns a string representation of this construct. ToString() *string }
A Aurora Serverless v1 Cluster restored from a snapshot.
Example:
var vpc vpc rds.NewServerlessClusterFromSnapshot(this, jsii.String("Cluster"), &ServerlessClusterFromSnapshotProps{ Engine: rds.DatabaseClusterEngine_AURORA_MYSQL(), Vpc: Vpc, SnapshotIdentifier: jsii.String("mySnapshot"), })
func NewServerlessClusterFromSnapshot ¶ added in v2.4.0
func NewServerlessClusterFromSnapshot(scope constructs.Construct, id *string, props *ServerlessClusterFromSnapshotProps) ServerlessClusterFromSnapshot
type ServerlessClusterFromSnapshotProps ¶ added in v2.4.0
type ServerlessClusterFromSnapshotProps struct { // What kind of database to start. Engine IClusterEngine `field:"required" json:"engine" yaml:"engine"` // The identifier for the DB instance snapshot or DB cluster snapshot to restore from. // // You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. // However, you can use only the ARN to specify a DB instance snapshot. SnapshotIdentifier *string `field:"required" json:"snapshotIdentifier" yaml:"snapshotIdentifier"` // The number of days during which automatic DB snapshots are retained. // // Automatic backup retention cannot be disabled on serverless clusters. // Must be a value from 1 day to 35 days. // Default: Duration.days(1) // BackupRetention awscdk.Duration `field:"optional" json:"backupRetention" yaml:"backupRetention"` // An optional identifier for the cluster. // Default: - A name is automatically generated. // ClusterIdentifier *string `field:"optional" json:"clusterIdentifier" yaml:"clusterIdentifier"` // Whether to copy tags to the snapshot when a snapshot is created. // Default: - true. // CopyTagsToSnapshot *bool `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // Master user credentials. // // Note - It is not possible to change the master username for a snapshot; // however, it is possible to provide (or generate) a new password. // Default: - The existing username and password from the snapshot will be used. // Credentials SnapshotCredentials `field:"optional" json:"credentials" yaml:"credentials"` // Name of a database which is automatically created inside the cluster. // Default: - Database is not created in cluster. // DefaultDatabaseName *string `field:"optional" json:"defaultDatabaseName" yaml:"defaultDatabaseName"` // Indicates whether the DB cluster should have deletion protection enabled. // Default: - true if removalPolicy is RETAIN, false otherwise. // DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // Whether to enable the Data API. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html // // Default: false. // EnableDataApi *bool `field:"optional" json:"enableDataApi" yaml:"enableDataApi"` // Additional parameters to pass to the database engine. // Default: - no parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update. // Default: - RemovalPolicy.SNAPSHOT (remove the cluster and instances, but retain a snapshot of the data) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // Scaling configuration of an Aurora Serverless database cluster. // Default: - Serverless cluster is automatically paused after 5 minutes of being idle. // minimum capacity: 2 ACU // maximum capacity: 16 ACU. // Scaling *ServerlessScalingOptions `field:"optional" json:"scaling" yaml:"scaling"` // Security group. // Default: - a new security group is created if `vpc` was provided. // If the `vpc` property was not provided, no VPC security groups will be associated with the DB cluster. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // Existing subnet group for the cluster. // Default: - a new subnet group is created if `vpc` was provided. // If the `vpc` property was not provided, no subnet group will be associated with the DB cluster. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // The VPC that this Aurora Serverless v1 Cluster has been created in. // Default: - the default VPC in the account and region will be used. // Vpc awsec2.IVpc `field:"optional" json:"vpc" yaml:"vpc"` // Where to place the instances within the VPC. // // If provided, the `vpc` property must also be specified. // Default: - the VPC default strategy if not specified. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Properties for “ServerlessClusterFromSnapshot“.
Example:
var vpc vpc rds.NewServerlessClusterFromSnapshot(this, jsii.String("Cluster"), &ServerlessClusterFromSnapshotProps{ Engine: rds.DatabaseClusterEngine_AURORA_MYSQL(), Vpc: Vpc, SnapshotIdentifier: jsii.String("mySnapshot"), })
type ServerlessClusterProps ¶
type ServerlessClusterProps struct { // What kind of database to start. Engine IClusterEngine `field:"required" json:"engine" yaml:"engine"` // The number of days during which automatic DB snapshots are retained. // // Automatic backup retention cannot be disabled on serverless clusters. // Must be a value from 1 day to 35 days. // Default: Duration.days(1) // BackupRetention awscdk.Duration `field:"optional" json:"backupRetention" yaml:"backupRetention"` // An optional identifier for the cluster. // Default: - A name is automatically generated. // ClusterIdentifier *string `field:"optional" json:"clusterIdentifier" yaml:"clusterIdentifier"` // Whether to copy tags to the snapshot when a snapshot is created. // Default: - true. // CopyTagsToSnapshot *bool `field:"optional" json:"copyTagsToSnapshot" yaml:"copyTagsToSnapshot"` // Credentials for the administrative user. // Default: - A username of 'admin' and SecretsManager-generated password. // Credentials Credentials `field:"optional" json:"credentials" yaml:"credentials"` // Name of a database which is automatically created inside the cluster. // Default: - Database is not created in cluster. // DefaultDatabaseName *string `field:"optional" json:"defaultDatabaseName" yaml:"defaultDatabaseName"` // Indicates whether the DB cluster should have deletion protection enabled. // Default: - true if removalPolicy is RETAIN, false otherwise. // DeletionProtection *bool `field:"optional" json:"deletionProtection" yaml:"deletionProtection"` // Whether to enable the Data API. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html // // Default: false. // EnableDataApi *bool `field:"optional" json:"enableDataApi" yaml:"enableDataApi"` // Additional parameters to pass to the database engine. // Default: - no parameter group. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update. // Default: - RemovalPolicy.SNAPSHOT (remove the cluster and instances, but retain a snapshot of the data) // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // Scaling configuration of an Aurora Serverless database cluster. // Default: - Serverless cluster is automatically paused after 5 minutes of being idle. // minimum capacity: 2 ACU // maximum capacity: 16 ACU. // Scaling *ServerlessScalingOptions `field:"optional" json:"scaling" yaml:"scaling"` // Security group. // Default: - a new security group is created if `vpc` was provided. // If the `vpc` property was not provided, no VPC security groups will be associated with the DB cluster. // SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The KMS key for storage encryption. // Default: - the default master key will be used for storage encryption. // StorageEncryptionKey awskms.IKey `field:"optional" json:"storageEncryptionKey" yaml:"storageEncryptionKey"` // Existing subnet group for the cluster. // Default: - a new subnet group is created if `vpc` was provided. // If the `vpc` property was not provided, no subnet group will be associated with the DB cluster. // SubnetGroup ISubnetGroup `field:"optional" json:"subnetGroup" yaml:"subnetGroup"` // The VPC that this Aurora Serverless v1 Cluster has been created in. // Default: - the default VPC in the account and region will be used. // Vpc awsec2.IVpc `field:"optional" json:"vpc" yaml:"vpc"` // Where to place the instances within the VPC. // // If provided, the `vpc` property must also be specified. // Default: - the VPC default strategy if not specified. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Properties for a new Aurora Serverless v1 Cluster.
Example:
// Build a data source for AppSync to access the database. var api graphqlApi // Create username and password secret for DB Cluster secret := rds.NewDatabaseSecret(this, jsii.String("AuroraSecret"), &DatabaseSecretProps{ Username: jsii.String("clusteradmin"), }) // The VPC to place the cluster in vpc := ec2.NewVpc(this, jsii.String("AuroraVpc")) // Create the serverless cluster, provide all values needed to customise the database. cluster := rds.NewServerlessCluster(this, jsii.String("AuroraCluster"), &ServerlessClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA_MYSQL(), Vpc: Vpc, Credentials: map[string]*string{ "username": jsii.String("clusteradmin"), }, ClusterIdentifier: jsii.String("db-endpoint-test"), DefaultDatabaseName: jsii.String("demos"), }) rdsDS := api.AddRdsDataSource(jsii.String("rds"), cluster, secret, jsii.String("demos")) // Set up a resolver for an RDS query. rdsDS.CreateResolver(jsii.String("QueryGetDemosRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Query"), FieldName: jsii.String("getDemosRds"), RequestMappingTemplate: appsync.MappingTemplate_FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "SELECT * FROM demos" ] } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[0]) `)), }) // Set up a resolver for an RDS mutation. rdsDS.CreateResolver(jsii.String("MutationAddDemoRdsResolver"), &BaseResolverProps{ TypeName: jsii.String("Mutation"), FieldName: jsii.String("addDemoRds"), RequestMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` { "version": "2018-05-29", "statements": [ "INSERT INTO demos VALUES (:id, :version)", "SELECT * WHERE id = :id" ], "variableMap": { ":id": $util.toJson($util.autoId()), ":version": $util.toJson($ctx.args.version) } } `)), ResponseMappingTemplate: appsync.MappingTemplate_*FromString(jsii.String(` $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0]) `)), })
type ServerlessScalingOptions ¶
type ServerlessScalingOptions struct { // The time before an Aurora Serverless database cluster is paused. // // A database cluster can be paused only when it is idle (it has no connections). // Auto pause time must be between 5 minutes and 1 day. // // If a DB cluster is paused for more than seven days, the DB cluster might be // backed up with a snapshot. In this case, the DB cluster is restored when there // is a request to connect to it. // // Set to 0 to disable. // Default: - automatic pause enabled after 5 minutes. // AutoPause awscdk.Duration `field:"optional" json:"autoPause" yaml:"autoPause"` // The maximum capacity for an Aurora Serverless database cluster. // Default: - determined by Aurora based on database engine. // MaxCapacity AuroraCapacityUnit `field:"optional" json:"maxCapacity" yaml:"maxCapacity"` // The minimum capacity for an Aurora Serverless database cluster. // Default: - determined by Aurora based on database engine. // MinCapacity AuroraCapacityUnit `field:"optional" json:"minCapacity" yaml:"minCapacity"` // The amount of time that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. // Default: - 5 minutes. // Timeout awscdk.Duration `field:"optional" json:"timeout" yaml:"timeout"` // The action to take when the timeout is reached. // // Selecting ForceApplyCapacityChange will force the capacity to the specified value as soon as possible, even without a scaling point. // Selecting RollbackCapacityChange will ignore the capacity change if a scaling point is not found. This is the default behavior. // Default: - TimeoutAction.ROLLBACK_CAPACITY_CHANGE // TimeoutAction TimeoutAction `field:"optional" json:"timeoutAction" yaml:"timeoutAction"` }
Options for configuring scaling on an Aurora Serverless v1 Cluster.
Example:
var vpc vpc cluster := rds.NewServerlessCluster(this, jsii.String("AnotherCluster"), &ServerlessClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA_POSTGRESQL(), CopyTagsToSnapshot: jsii.Boolean(true), // whether to save the cluster tags when creating the snapshot. Default is 'true' ParameterGroup: rds.ParameterGroup_FromParameterGroupName(this, jsii.String("ParameterGroup"), jsii.String("default.aurora-postgresql11")), Vpc: Vpc, Scaling: &ServerlessScalingOptions{ AutoPause: awscdk.Duration_Minutes(jsii.Number(10)), // default is to pause after 5 minutes of idle time MinCapacity: rds.AuroraCapacityUnit_ACU_8, // default is 2 Aurora capacity units (ACUs) MaxCapacity: rds.AuroraCapacityUnit_ACU_32, // default is 16 Aurora capacity units (ACUs) Timeout: awscdk.Duration_Seconds(jsii.Number(100)), // default is 5 minutes TimeoutAction: rds.TimeoutAction_FORCE_APPLY_CAPACITY_CHANGE, }, })
type ServerlessV2ClusterInstanceProps ¶ added in v2.82.0
type ServerlessV2ClusterInstanceProps struct { // Whether to allow upgrade of major version for the DB instance. // Default: - false. // AllowMajorVersionUpgrade *bool `field:"optional" json:"allowMajorVersionUpgrade" yaml:"allowMajorVersionUpgrade"` // Whether to enable automatic upgrade of minor version for the DB instance. // Default: - true. // AutoMinorVersionUpgrade *bool `field:"optional" json:"autoMinorVersionUpgrade" yaml:"autoMinorVersionUpgrade"` // The identifier of the CA certificate for this DB cluster's instances. // // Specifying or updating this property triggers a reboot. // // For RDS DB engines:. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html // // Default: - RDS will choose a certificate authority. // CaCertificate CaCertificate `field:"optional" json:"caCertificate" yaml:"caCertificate"` // Whether to enable Performance Insights for the DB instance. // Default: - false, unless “performanceInsightRetention“ or “performanceInsightEncryptionKey“ is set. // EnablePerformanceInsights *bool `field:"optional" json:"enablePerformanceInsights" yaml:"enablePerformanceInsights"` // The identifier for the database instance. // Default: - CloudFormation generated identifier. // InstanceIdentifier *string `field:"optional" json:"instanceIdentifier" yaml:"instanceIdentifier"` // Only used for migrating existing clusters from using `instanceProps` to `writer` and `readers`. // // Example: // // existing cluster // declare const vpc: ec2.Vpc; // const cluster = new rds.DatabaseCluster(this, 'Database', { // engine: rds.DatabaseClusterEngine.auroraMysql({ // version: rds.AuroraMysqlEngineVersion.VER_3_03_0, // }), // instances: 2, // instanceProps: { // instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), // vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC }, // vpc, // }, // }); // // // migration // // const instanceProps = { // instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL), // isFromLegacyInstanceProps: true, // }; // // const myCluster = new rds.DatabaseCluster(this, 'Database', { // engine: rds.DatabaseClusterEngine.auroraMysql({ // version: rds.AuroraMysqlEngineVersion.VER_3_03_0, // }), // vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC }, // vpc, // writer: rds.ClusterInstance.provisioned('Instance1', { // instanceType: instanceProps.instanceType, // isFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps, // }), // readers: [ // rds.ClusterInstance.provisioned('Instance2', { // instanceType: instanceProps.instanceType, // isFromLegacyInstanceProps: instanceProps.isFromLegacyInstanceProps, // }), // ], // }); // // Default: false. // IsFromLegacyInstanceProps *bool `field:"optional" json:"isFromLegacyInstanceProps" yaml:"isFromLegacyInstanceProps"` // The DB parameter group to associate with the instance. // // This is only needed if you need to configure different parameter // groups for each individual instance, otherwise you should not // provide this and just use the cluster parameter group. // Default: the cluster parameter group is used. // ParameterGroup IParameterGroup `field:"optional" json:"parameterGroup" yaml:"parameterGroup"` // The parameters in the DBParameterGroup to create automatically. // // You can only specify parameterGroup or parameters but not both. // You need to use a versioned engine to auto-generate a DBParameterGroup. // Default: - None. // Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // The AWS KMS key for encryption of Performance Insights data. // Default: - default master key. // PerformanceInsightEncryptionKey awskms.IKey `field:"optional" json:"performanceInsightEncryptionKey" yaml:"performanceInsightEncryptionKey"` // The amount of time, in days, to retain Performance Insights data. // Default: 7. // PerformanceInsightRetention PerformanceInsightRetention `field:"optional" json:"performanceInsightRetention" yaml:"performanceInsightRetention"` // A preferred maintenance window day/time range. Should be specified as a range ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). // // Example: 'Sun:23:45-Mon:00:15'. // See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance // // Default: - 30-minute window selected at random from an 8-hour block of time for // each AWS Region, occurring on a random day of the week. // PreferredMaintenanceWindow *string `field:"optional" json:"preferredMaintenanceWindow" yaml:"preferredMaintenanceWindow"` // Indicates whether the DB instance is an internet-facing instance. // // If not specified, // the cluster's vpcSubnets will be used to determine if the instance is internet-facing // or not. // Default: - `true` if the cluster's `vpcSubnets` is `subnetType: SubnetType.PUBLIC`, `false` otherwise // PubliclyAccessible *bool `field:"optional" json:"publiclyAccessible" yaml:"publiclyAccessible"` // Only applicable to reader instances. // // If this is true then the instance will be placed in promotion tier 1, otherwise // it will be placed in promotion tier 2. // // For serverless v2 instances this means: // - true: The serverless v2 reader will scale to match the writer instance (provisioned or serverless) // - false: The serverless v2 reader will scale with the read workfload on the instance. // Default: false. // ScaleWithWriter *bool `field:"optional" json:"scaleWithWriter" yaml:"scaleWithWriter"` }
Options for creating a serverless v2 instance.
Example:
var vpc vpc cluster := rds.NewDatabaseCluster(this, jsii.String("Database"), &DatabaseClusterProps{ Engine: rds.DatabaseClusterEngine_AuroraMysql(&AuroraMysqlClusterEngineProps{ Version: rds.AuroraMysqlEngineVersion_VER_3_01_0(), }), Writer: rds.ClusterInstance_Provisioned(jsii.String("writer"), &ProvisionedClusterInstanceProps{ CaCertificate: rds.CaCertificate_RDS_CA_RSA2048_G1(), }), Readers: []iClusterInstance{ rds.ClusterInstance_ServerlessV2(jsii.String("reader"), &ServerlessV2ClusterInstanceProps{ CaCertificate: rds.CaCertificate_Of(jsii.String("custom-ca")), }), }, Vpc: Vpc, })
type SessionPinningFilter ¶
type SessionPinningFilter interface { // Filter name. FilterName() *string }
SessionPinningFilter.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" sessionPinningFilter := awscdk.Aws_rds.SessionPinningFilter_Of(jsii.String("filterName"))
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html#rds-proxy-pinning
func SessionPinningFilter_EXCLUDE_VARIABLE_SETS ¶
func SessionPinningFilter_EXCLUDE_VARIABLE_SETS() SessionPinningFilter
func SessionPinningFilter_Of ¶
func SessionPinningFilter_Of(filterName *string) SessionPinningFilter
custom filter.
type SnapshotCredentials ¶
type SnapshotCredentials interface { // KMS encryption key to encrypt the generated secret. // Default: - default master key. // EncryptionKey() awskms.IKey // The characters to exclude from the generated password. // // Only used if `generatePassword` if true. // Default: - the DatabaseSecret default exclude character set (" %+~`#$&*()|[]{}:;<>?!'/@\"\\") // ExcludeCharacters() *string // Whether a new password should be generated. GeneratePassword() *bool // The master user password. // // Do not put passwords in your CDK code directly. // Default: - the existing password from the snapshot. // Password() awscdk.SecretValue // Whether to replace the generated secret when the criteria for the password change. // Default: false. // ReplaceOnPasswordCriteriaChanges() *bool // A list of regions where to replicate the generated secret. // Default: - Secret is not replicated. // ReplicaRegions() *[]*awssecretsmanager.ReplicaRegion // Secret used to instantiate this Login. // Default: - none. // Secret() awssecretsmanager.ISecret // The master user name. // // Must be the **current** master user name of the snapshot. // It is not possible to change the master user name of a RDS instance. // Default: - the existing username from the snapshot. // Username() *string }
Credentials to update the password for a “DatabaseInstanceFromSnapshot“.
Example:
var vpc vpc engine := rds.DatabaseInstanceEngine_Postgres(&PostgresInstanceEngineProps{ Version: rds.PostgresEngineVersion_VER_16_3(), }) myKey := kms.NewKey(this, jsii.String("MyKey")) rds.NewDatabaseInstanceFromSnapshot(this, jsii.String("InstanceFromSnapshotWithCustomizedSecret"), &DatabaseInstanceFromSnapshotProps{ Engine: Engine, Vpc: Vpc, SnapshotIdentifier: jsii.String("mySnapshot"), Credentials: rds.SnapshotCredentials_FromGeneratedSecret(jsii.String("username"), &SnapshotCredentialsFromGeneratedPasswordOptions{ EncryptionKey: myKey, ExcludeCharacters: jsii.String("!&*^#@()"), ReplicaRegions: []replicaRegion{ &replicaRegion{ Region: jsii.String("eu-west-1"), }, &replicaRegion{ Region: jsii.String("eu-west-2"), }, }, }), })
func SnapshotCredentials_FromGeneratedPassword ¶ added in v2.1.0
func SnapshotCredentials_FromGeneratedPassword(username *string, options *SnapshotCredentialsFromGeneratedPasswordOptions) SnapshotCredentials
Generate a new password for the snapshot, using the existing username and an optional encryption key.
Note - The username must match the existing master username of the snapshot.
NOTE: use `fromGeneratedSecret()` for new Clusters and Instances. Switching from `fromGeneratedPassword()` to `fromGeneratedSecret()` for already deployed Clusters or Instances will update their master password.
func SnapshotCredentials_FromGeneratedSecret ¶
func SnapshotCredentials_FromGeneratedSecret(username *string, options *SnapshotCredentialsFromGeneratedPasswordOptions) SnapshotCredentials
Generate a new password for the snapshot, using the existing username and an optional encryption key.
The new credentials are stored in Secrets Manager.
Note - The username must match the existing master username of the snapshot.
func SnapshotCredentials_FromPassword ¶
func SnapshotCredentials_FromPassword(password awscdk.SecretValue) SnapshotCredentials
Update the snapshot login with an existing password.
func SnapshotCredentials_FromSecret ¶
func SnapshotCredentials_FromSecret(secret awssecretsmanager.ISecret) SnapshotCredentials
Update the snapshot login with an existing password from a Secret.
The Secret must be a JSON string with a “password“ field: ```
{ ... "password": <required: password>, }
```.
type SnapshotCredentialsFromGeneratedPasswordOptions ¶
type SnapshotCredentialsFromGeneratedPasswordOptions struct { // KMS encryption key to encrypt the generated secret. // Default: - default master key. // EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // The characters to exclude from the generated password. // Default: - the DatabaseSecret default exclude character set (" %+~`#$&*()|[]{}:;<>?!'/@\"\\") // ExcludeCharacters *string `field:"optional" json:"excludeCharacters" yaml:"excludeCharacters"` // A list of regions where to replicate this secret. // Default: - Secret is not replicated. // ReplicaRegions *[]*awssecretsmanager.ReplicaRegion `field:"optional" json:"replicaRegions" yaml:"replicaRegions"` }
Options used in the `SnapshotCredentials.fromGeneratedPassword` method.
Example:
var vpc vpc engine := rds.DatabaseInstanceEngine_Postgres(&PostgresInstanceEngineProps{ Version: rds.PostgresEngineVersion_VER_16_3(), }) myKey := kms.NewKey(this, jsii.String("MyKey")) rds.NewDatabaseInstanceFromSnapshot(this, jsii.String("InstanceFromSnapshotWithCustomizedSecret"), &DatabaseInstanceFromSnapshotProps{ Engine: Engine, Vpc: Vpc, SnapshotIdentifier: jsii.String("mySnapshot"), Credentials: rds.SnapshotCredentials_FromGeneratedSecret(jsii.String("username"), &SnapshotCredentialsFromGeneratedPasswordOptions{ EncryptionKey: myKey, ExcludeCharacters: jsii.String("!&*^#@()"), ReplicaRegions: []replicaRegion{ &replicaRegion{ Region: jsii.String("eu-west-1"), }, &replicaRegion{ Region: jsii.String("eu-west-2"), }, }, }), })
type SqlServerEeInstanceEngineProps ¶
type SqlServerEeInstanceEngineProps struct { // The exact version of the engine to use. Version SqlServerEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for SQL Server Enterprise Edition instance engines.
Used in `DatabaseInstanceEngine.sqlServerEe`.
Example:
var vpc vpc parameterGroup := rds.NewParameterGroup(this, jsii.String("ParameterGroup"), &ParameterGroupProps{ Engine: rds.DatabaseInstanceEngine_SqlServerEe(&SqlServerEeInstanceEngineProps{ Version: rds.SqlServerEngineVersion_VER_11(), }), Name: jsii.String("my-parameter-group"), Parameters: map[string]*string{ "locks": jsii.String("100"), }, }) rds.NewDatabaseInstance(this, jsii.String("Database"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_SQL_SERVER_EE(), Vpc: Vpc, ParameterGroup: ParameterGroup, })
type SqlServerEngineVersion ¶
type SqlServerEngineVersion interface { // The full version string, for example, "15.00.3049.1.v1". SqlServerFullVersion() *string // The major version of the engine, for example, "15.00". SqlServerMajorVersion() *string }
The versions for the SQL Server instance engines (those returned by `DatabaseInstanceEngine.sqlServerSe`, `DatabaseInstanceEngine.sqlServerEx`, `DatabaseInstanceEngine.sqlServerWeb` and `DatabaseInstanceEngine.sqlServerEe`).
Example:
var vpc vpc parameterGroup := rds.NewParameterGroup(this, jsii.String("ParameterGroup"), &ParameterGroupProps{ Engine: rds.DatabaseInstanceEngine_SqlServerEe(&SqlServerEeInstanceEngineProps{ Version: rds.SqlServerEngineVersion_VER_11(), }), Name: jsii.String("my-parameter-group"), Parameters: map[string]*string{ "locks": jsii.String("100"), }, }) rds.NewDatabaseInstance(this, jsii.String("Database"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_SQL_SERVER_EE(), Vpc: Vpc, ParameterGroup: ParameterGroup, })
func SqlServerEngineVersion_Of ¶
func SqlServerEngineVersion_Of(sqlServerFullVersion *string, sqlServerMajorVersion *string) SqlServerEngineVersion
Create a new SqlServerEngineVersion with an arbitrary version.
func SqlServerEngineVersion_VER_11 ¶
func SqlServerEngineVersion_VER_11() SqlServerEngineVersion
func SqlServerEngineVersion_VER_11_00_5058_0_V1 ¶
func SqlServerEngineVersion_VER_11_00_5058_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_11_00_6020_0_V1 ¶
func SqlServerEngineVersion_VER_11_00_6020_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_11_00_6594_0_V1 ¶
func SqlServerEngineVersion_VER_11_00_6594_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_11_00_7462_6_V1 ¶
func SqlServerEngineVersion_VER_11_00_7462_6_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_11_00_7493_4_V1 ¶
func SqlServerEngineVersion_VER_11_00_7493_4_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12 ¶
func SqlServerEngineVersion_VER_12() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_4422_0_V1 ¶ added in v2.133.0
func SqlServerEngineVersion_VER_12_00_4422_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_5000_0_V1 ¶
func SqlServerEngineVersion_VER_12_00_5000_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_5546_0_V1 ¶
func SqlServerEngineVersion_VER_12_00_5546_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_5571_0_V1 ¶
func SqlServerEngineVersion_VER_12_00_5571_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_6293_0_V1 ¶
func SqlServerEngineVersion_VER_12_00_6293_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_6329_1_V1 ¶
func SqlServerEngineVersion_VER_12_00_6329_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_6433_1_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_12_00_6433_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_6439_10_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_12_00_6439_10_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_6444_4_V1 ¶ added in v2.86.0
func SqlServerEngineVersion_VER_12_00_6444_4_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_12_00_6449_1_V1 ¶ added in v2.112.0
func SqlServerEngineVersion_VER_12_00_6449_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13 ¶
func SqlServerEngineVersion_VER_13() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_2164_0_V1 ¶
func SqlServerEngineVersion_VER_13_00_2164_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_4422_0_V1 ¶
func SqlServerEngineVersion_VER_13_00_4422_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_4451_0_V1 ¶
func SqlServerEngineVersion_VER_13_00_4451_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_4466_4_V1 ¶
func SqlServerEngineVersion_VER_13_00_4466_4_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_4522_0_V1 ¶
func SqlServerEngineVersion_VER_13_00_4522_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_5216_0_V1 ¶
func SqlServerEngineVersion_VER_13_00_5216_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_5292_0_V1 ¶
func SqlServerEngineVersion_VER_13_00_5292_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_5366_0_V1 ¶
func SqlServerEngineVersion_VER_13_00_5366_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_5426_0_V1 ¶
func SqlServerEngineVersion_VER_13_00_5426_0_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_5598_27_V1 ¶
func SqlServerEngineVersion_VER_13_00_5598_27_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_5820_21_V1 ¶
func SqlServerEngineVersion_VER_13_00_5820_21_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_5850_14_V1 ¶
func SqlServerEngineVersion_VER_13_00_5850_14_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_5882_1_V1 ¶
func SqlServerEngineVersion_VER_13_00_5882_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_6300_2_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_13_00_6300_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_6419_1_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_13_00_6419_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_6430_49_V1 ¶ added in v2.86.0
func SqlServerEngineVersion_VER_13_00_6430_49_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_13_00_6435_1_V1 ¶ added in v2.112.0
func SqlServerEngineVersion_VER_13_00_6435_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14 ¶
func SqlServerEngineVersion_VER_14() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_1000_169_V1 ¶
func SqlServerEngineVersion_VER_14_00_1000_169_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3015_40_V1 ¶
func SqlServerEngineVersion_VER_14_00_3015_40_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3035_2_V1 ¶
func SqlServerEngineVersion_VER_14_00_3035_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3049_1_V1 ¶
func SqlServerEngineVersion_VER_14_00_3049_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3192_2_V1 ¶
func SqlServerEngineVersion_VER_14_00_3192_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3223_3_V1 ¶
func SqlServerEngineVersion_VER_14_00_3223_3_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3281_6_V1 ¶
func SqlServerEngineVersion_VER_14_00_3281_6_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3294_2_V1 ¶
func SqlServerEngineVersion_VER_14_00_3294_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3356_20_V1 ¶
func SqlServerEngineVersion_VER_14_00_3356_20_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3381_3_V1 ¶
func SqlServerEngineVersion_VER_14_00_3381_3_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3401_7_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_14_00_3401_7_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3421_10_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_14_00_3421_10_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3451_2_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_14_00_3451_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3460_9_V1 ¶ added in v2.86.0
func SqlServerEngineVersion_VER_14_00_3460_9_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_14_00_3465_1_V1 ¶ added in v2.112.0
func SqlServerEngineVersion_VER_14_00_3465_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15 ¶
func SqlServerEngineVersion_VER_15() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4043_16_V1 ¶
func SqlServerEngineVersion_VER_15_00_4043_16_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4073_23_V1 ¶
func SqlServerEngineVersion_VER_15_00_4073_23_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4153_1_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_15_00_4153_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4198_2_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_15_00_4198_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4236_7_V1 ¶ added in v2.48.0
func SqlServerEngineVersion_VER_15_00_4236_7_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4312_2_V1 ¶ added in v2.86.0
func SqlServerEngineVersion_VER_15_00_4312_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4316_3_V1 ¶ added in v2.100.0
func SqlServerEngineVersion_VER_15_00_4316_3_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4322_2_V1 ¶ added in v2.106.0
func SqlServerEngineVersion_VER_15_00_4322_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4335_1_V1 ¶ added in v2.106.0
func SqlServerEngineVersion_VER_15_00_4335_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4345_5_V1 ¶ added in v2.119.0
func SqlServerEngineVersion_VER_15_00_4345_5_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4355_3_V1 ¶ added in v2.133.0
func SqlServerEngineVersion_VER_15_00_4355_3_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_15_00_4365_2_V1 ¶ added in v2.148.0
func SqlServerEngineVersion_VER_15_00_4365_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_16 ¶ added in v2.119.0
func SqlServerEngineVersion_VER_16() SqlServerEngineVersion
func SqlServerEngineVersion_VER_16_00_4085_2_V1 ¶ added in v2.110.0
func SqlServerEngineVersion_VER_16_00_4085_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_16_00_4095_4_V1 ¶ added in v2.115.0
func SqlServerEngineVersion_VER_16_00_4095_4_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_16_00_4105_2_V1 ¶ added in v2.133.0
func SqlServerEngineVersion_VER_16_00_4105_2_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_16_00_4115_5_V1 ¶ added in v2.148.0
func SqlServerEngineVersion_VER_16_00_4115_5_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_16_00_4120_1_V1 ¶ added in v2.148.0
func SqlServerEngineVersion_VER_16_00_4120_1_V1() SqlServerEngineVersion
func SqlServerEngineVersion_VER_16_00_4125_3_V1 ¶ added in v2.148.0
func SqlServerEngineVersion_VER_16_00_4125_3_V1() SqlServerEngineVersion
type SqlServerExInstanceEngineProps ¶
type SqlServerExInstanceEngineProps struct { // The exact version of the engine to use. Version SqlServerEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for SQL Server Express Edition instance engines.
Used in `DatabaseInstanceEngine.sqlServerEx`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var sqlServerEngineVersion sqlServerEngineVersion sqlServerExInstanceEngineProps := &SqlServerExInstanceEngineProps{ Version: sqlServerEngineVersion, }
type SqlServerSeInstanceEngineProps ¶
type SqlServerSeInstanceEngineProps struct { // The exact version of the engine to use. Version SqlServerEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for SQL Server Standard Edition instance engines.
Used in `DatabaseInstanceEngine.sqlServerSe`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var sqlServerEngineVersion sqlServerEngineVersion sqlServerSeInstanceEngineProps := &SqlServerSeInstanceEngineProps{ Version: sqlServerEngineVersion, }
type SqlServerWebInstanceEngineProps ¶
type SqlServerWebInstanceEngineProps struct { // The exact version of the engine to use. Version SqlServerEngineVersion `field:"required" json:"version" yaml:"version"` }
Properties for SQL Server Web Edition instance engines.
Used in `DatabaseInstanceEngine.sqlServerWeb`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var sqlServerEngineVersion sqlServerEngineVersion sqlServerWebInstanceEngineProps := &SqlServerWebInstanceEngineProps{ Version: sqlServerEngineVersion, }
type StorageType ¶
type StorageType string
The type of storage.
Example:
var vpc vpc iopsInstance := rds.NewDatabaseInstance(this, jsii.String("IopsInstance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_Mysql(&MySqlInstanceEngineProps{ Version: rds.MysqlEngineVersion_VER_8_0_30(), }), Vpc: Vpc, StorageType: rds.StorageType_IO1, Iops: jsii.Number(5000), }) gp3Instance := rds.NewDatabaseInstance(this, jsii.String("Gp3Instance"), &DatabaseInstanceProps{ Engine: rds.DatabaseInstanceEngine_*Mysql(&MySqlInstanceEngineProps{ Version: rds.MysqlEngineVersion_VER_8_0_30(), }), Vpc: Vpc, AllocatedStorage: jsii.Number(500), StorageType: rds.StorageType_GP3, StorageThroughput: jsii.Number(500), })
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html
const ( // Standard. // // Amazon RDS supports magnetic storage for backward compatibility. It is recommended to use // General Purpose SSD or Provisioned IOPS SSD for any new storage needs. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#CHAP_Storage.Magnetic // StorageType_STANDARD StorageType = "STANDARD" // General purpose SSD (gp2). // // Baseline performance determined by volume size. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD // StorageType_GP2 StorageType = "GP2" // General purpose SSD (gp3). // // Performance scales independently from storage. // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD // StorageType_GP3 StorageType = "GP3" // Provisioned IOPS SSD (io1). // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS // StorageType_IO1 StorageType = "IO1" // Provisioned IOPS SSD (io2). // See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS // StorageType_IO2 StorageType = "IO2" )
type SubnetGroup ¶
type SubnetGroup interface { awscdk.Resource ISubnetGroup // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // The name of the subnet group. SubnetGroupName() *string // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
Class for creating a RDS DB subnet group.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var subnet subnet var subnetFilter subnetFilter var vpc vpc subnetGroup := awscdk.Aws_rds.NewSubnetGroup(this, jsii.String("MySubnetGroup"), &SubnetGroupProps{ Description: jsii.String("description"), Vpc: vpc, // the properties below are optional RemovalPolicy: cdk.RemovalPolicy_DESTROY, SubnetGroupName: jsii.String("subnetGroupName"), VpcSubnets: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, })
func NewSubnetGroup ¶
func NewSubnetGroup(scope constructs.Construct, id *string, props *SubnetGroupProps) SubnetGroup
type SubnetGroupProps ¶
type SubnetGroupProps struct { // Description of the subnet group. Description *string `field:"required" json:"description" yaml:"description"` // The VPC to place the subnet group in. Vpc awsec2.IVpc `field:"required" json:"vpc" yaml:"vpc"` // The removal policy to apply when the subnet group are removed from the stack or replaced during an update. // Default: RemovalPolicy.DESTROY // RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"` // The name of the subnet group. // Default: - a name is generated. // SubnetGroupName *string `field:"optional" json:"subnetGroupName" yaml:"subnetGroupName"` // Which subnets within the VPC to associate with this group. // Default: - private subnets. // VpcSubnets *awsec2.SubnetSelection `field:"optional" json:"vpcSubnets" yaml:"vpcSubnets"` }
Properties for creating a SubnetGroup.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var subnet subnet var subnetFilter subnetFilter var vpc vpc subnetGroupProps := &SubnetGroupProps{ Description: jsii.String("description"), Vpc: vpc, // the properties below are optional RemovalPolicy: cdk.RemovalPolicy_DESTROY, SubnetGroupName: jsii.String("subnetGroupName"), VpcSubnets: &SubnetSelection{ AvailabilityZones: []*string{ jsii.String("availabilityZones"), }, OnePerAz: jsii.Boolean(false), SubnetFilters: []*subnetFilter{ subnetFilter, }, SubnetGroupName: jsii.String("subnetGroupName"), Subnets: []iSubnet{ subnet, }, SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED, }, }
type TimeoutAction ¶ added in v2.118.0
type TimeoutAction string
TimeoutAction defines the action to take when a timeout occurs if a scaling point is not found.
Example:
var vpc vpc cluster := rds.NewServerlessCluster(this, jsii.String("AnotherCluster"), &ServerlessClusterProps{ Engine: rds.DatabaseClusterEngine_AURORA_POSTGRESQL(), CopyTagsToSnapshot: jsii.Boolean(true), // whether to save the cluster tags when creating the snapshot. Default is 'true' ParameterGroup: rds.ParameterGroup_FromParameterGroupName(this, jsii.String("ParameterGroup"), jsii.String("default.aurora-postgresql11")), Vpc: Vpc, Scaling: &ServerlessScalingOptions{ AutoPause: awscdk.Duration_Minutes(jsii.Number(10)), // default is to pause after 5 minutes of idle time MinCapacity: rds.AuroraCapacityUnit_ACU_8, // default is 2 Aurora capacity units (ACUs) MaxCapacity: rds.AuroraCapacityUnit_ACU_32, // default is 16 Aurora capacity units (ACUs) Timeout: awscdk.Duration_Seconds(jsii.Number(100)), // default is 5 minutes TimeoutAction: rds.TimeoutAction_FORCE_APPLY_CAPACITY_CHANGE, }, })
const ( // FORCE_APPLY_CAPACITY_CHANGE sets the capacity to the specified value as soon as possible. // // Transactions may be interrupted, and connections to temporary tables and locks may be dropped. // Only select this option if your application can recover from dropped connections or incomplete transactions. TimeoutAction_FORCE_APPLY_CAPACITY_CHANGE TimeoutAction = "FORCE_APPLY_CAPACITY_CHANGE" // ROLLBACK_CAPACITY_CHANGE ignores the capacity change if a scaling point is not found. // // This is the default behavior. TimeoutAction_ROLLBACK_CAPACITY_CHANGE TimeoutAction = "ROLLBACK_CAPACITY_CHANGE" )
Source Files ¶
- AuroraCapacityUnit.go
- AuroraClusterEngineProps.go
- AuroraEngineVersion.go
- AuroraEngineVersion__checks.go
- AuroraMysqlClusterEngineProps.go
- AuroraMysqlEngineVersion.go
- AuroraMysqlEngineVersion__checks.go
- AuroraPostgresClusterEngineProps.go
- AuroraPostgresEngineFeatures.go
- AuroraPostgresEngineVersion.go
- AuroraPostgresEngineVersion__checks.go
- BackupProps.go
- CaCertificate.go
- CaCertificate__checks.go
- CfnCustomDBEngineVersion.go
- CfnCustomDBEngineVersionProps.go
- CfnCustomDBEngineVersion__checks.go
- CfnDBCluster.go
- CfnDBClusterParameterGroup.go
- CfnDBClusterParameterGroupProps.go
- CfnDBClusterParameterGroup__checks.go
- CfnDBClusterProps.go
- CfnDBCluster_DBClusterRoleProperty.go
- CfnDBCluster_EndpointProperty.go
- CfnDBCluster_MasterUserSecretProperty.go
- CfnDBCluster_ReadEndpointProperty.go
- CfnDBCluster_ScalingConfigurationProperty.go
- CfnDBCluster_ServerlessV2ScalingConfigurationProperty.go
- CfnDBCluster__checks.go
- CfnDBInstance.go
- CfnDBInstanceProps.go
- CfnDBInstance_CertificateDetailsProperty.go
- CfnDBInstance_DBInstanceRoleProperty.go
- CfnDBInstance_EndpointProperty.go
- CfnDBInstance_MasterUserSecretProperty.go
- CfnDBInstance_ProcessorFeatureProperty.go
- CfnDBInstance__checks.go
- CfnDBParameterGroup.go
- CfnDBParameterGroupProps.go
- CfnDBParameterGroup__checks.go
- CfnDBProxy.go
- CfnDBProxyEndpoint.go
- CfnDBProxyEndpointProps.go
- CfnDBProxyEndpoint_TagFormatProperty.go
- CfnDBProxyEndpoint__checks.go
- CfnDBProxyProps.go
- CfnDBProxyTargetGroup.go
- CfnDBProxyTargetGroupProps.go
- CfnDBProxyTargetGroup_ConnectionPoolConfigurationInfoFormatProperty.go
- CfnDBProxyTargetGroup__checks.go
- CfnDBProxy_AuthFormatProperty.go
- CfnDBProxy_TagFormatProperty.go
- CfnDBProxy__checks.go
- CfnDBSecurityGroup.go
- CfnDBSecurityGroupIngress.go
- CfnDBSecurityGroupIngressProps.go
- CfnDBSecurityGroupIngress__checks.go
- CfnDBSecurityGroupProps.go
- CfnDBSecurityGroup_IngressProperty.go
- CfnDBSecurityGroup__checks.go
- CfnDBSubnetGroup.go
- CfnDBSubnetGroupProps.go
- CfnDBSubnetGroup__checks.go
- CfnEventSubscription.go
- CfnEventSubscriptionProps.go
- CfnEventSubscription__checks.go
- CfnGlobalCluster.go
- CfnGlobalClusterProps.go
- CfnGlobalCluster__checks.go
- CfnIntegration.go
- CfnIntegrationProps.go
- CfnIntegration__checks.go
- CfnOptionGroup.go
- CfnOptionGroupProps.go
- CfnOptionGroup_OptionConfigurationProperty.go
- CfnOptionGroup_OptionSettingProperty.go
- CfnOptionGroup__checks.go
- ClientPasswordAuthType.go
- ClusterEngineBindOptions.go
- ClusterEngineConfig.go
- ClusterEngineFeatures.go
- ClusterInstance.go
- ClusterInstanceBindOptions.go
- ClusterInstanceOptions.go
- ClusterInstanceProps.go
- ClusterInstanceType.go
- ClusterInstanceType__checks.go
- ClusterInstance__checks.go
- CommonRotationUserOptions.go
- Credentials.go
- CredentialsBaseOptions.go
- CredentialsFromUsernameOptions.go
- Credentials__checks.go
- DBClusterStorageType.go
- DatabaseCluster.go
- DatabaseClusterAttributes.go
- DatabaseClusterBase.go
- DatabaseClusterBase__checks.go
- DatabaseClusterEngine.go
- DatabaseClusterEngine__checks.go
- DatabaseClusterFromSnapshot.go
- DatabaseClusterFromSnapshotProps.go
- DatabaseClusterFromSnapshot__checks.go
- DatabaseClusterProps.go
- DatabaseCluster__checks.go
- DatabaseInstance.go
- DatabaseInstanceAttributes.go
- DatabaseInstanceBase.go
- DatabaseInstanceBase__checks.go
- DatabaseInstanceEngine.go
- DatabaseInstanceEngine__checks.go
- DatabaseInstanceFromSnapshot.go
- DatabaseInstanceFromSnapshotProps.go
- DatabaseInstanceFromSnapshot__checks.go
- DatabaseInstanceNewProps.go
- DatabaseInstanceProps.go
- DatabaseInstanceReadReplica.go
- DatabaseInstanceReadReplicaProps.go
- DatabaseInstanceReadReplica__checks.go
- DatabaseInstanceSourceProps.go
- DatabaseInstance__checks.go
- DatabaseProxy.go
- DatabaseProxyAttributes.go
- DatabaseProxyOptions.go
- DatabaseProxyProps.go
- DatabaseProxy__checks.go
- DatabaseSecret.go
- DatabaseSecretProps.go
- DatabaseSecret__checks.go
- Endpoint.go
- Endpoint__checks.go
- EngineVersion.go
- IAuroraClusterInstance.go
- IClusterEngine.go
- IClusterEngine__checks.go
- IClusterInstance.go
- IClusterInstance__checks.go
- IDatabaseCluster.go
- IDatabaseCluster__checks.go
- IDatabaseInstance.go
- IDatabaseInstance__checks.go
- IDatabaseProxy.go
- IDatabaseProxy__checks.go
- IEngine.go
- IInstanceEngine.go
- IInstanceEngine__checks.go
- IOptionGroup.go
- IOptionGroup__checks.go
- IParameterGroup.go
- IParameterGroup__checks.go
- IServerlessCluster.go
- IServerlessCluster__checks.go
- ISubnetGroup.go
- InstanceEngineBindOptions.go
- InstanceEngineConfig.go
- InstanceEngineFeatures.go
- InstanceProps.go
- InstanceType.go
- InstanceUpdateBehaviour.go
- LicenseModel.go
- MariaDbEngineVersion.go
- MariaDbEngineVersion__checks.go
- MariaDbInstanceEngineProps.go
- MySqlInstanceEngineProps.go
- MysqlEngineVersion.go
- MysqlEngineVersion__checks.go
- NetworkType.go
- OptionConfiguration.go
- OptionGroup.go
- OptionGroupProps.go
- OptionGroup__checks.go
- OracleEeCdbInstanceEngineProps.go
- OracleEeInstanceEngineProps.go
- OracleEngineVersion.go
- OracleEngineVersion__checks.go
- OracleSe2CdbInstanceEngineProps.go
- OracleSe2InstanceEngineProps.go
- ParameterGroup.go
- ParameterGroupClusterBindOptions.go
- ParameterGroupClusterConfig.go
- ParameterGroupInstanceBindOptions.go
- ParameterGroupInstanceConfig.go
- ParameterGroupProps.go
- ParameterGroup__checks.go
- PerformanceInsightRetention.go
- PostgresEngineFeatures.go
- PostgresEngineVersion.go
- PostgresEngineVersion__checks.go
- PostgresInstanceEngineProps.go
- ProcessorFeatures.go
- ProvisionedClusterInstanceProps.go
- ProxyTarget.go
- ProxyTargetConfig.go
- ProxyTarget__checks.go
- RotationMultiUserOptions.go
- RotationSingleUserOptions.go
- ServerlessCluster.go
- ServerlessClusterAttributes.go
- ServerlessClusterFromSnapshot.go
- ServerlessClusterFromSnapshotProps.go
- ServerlessClusterFromSnapshot__checks.go
- ServerlessClusterProps.go
- ServerlessCluster__checks.go
- ServerlessScalingOptions.go
- ServerlessV2ClusterInstanceProps.go
- SessionPinningFilter.go
- SessionPinningFilter__checks.go
- SnapshotCredentials.go
- SnapshotCredentialsFromGeneratedPasswordOptions.go
- SnapshotCredentials__checks.go
- SqlServerEeInstanceEngineProps.go
- SqlServerEngineVersion.go
- SqlServerEngineVersion__checks.go
- SqlServerExInstanceEngineProps.go
- SqlServerSeInstanceEngineProps.go
- SqlServerWebInstanceEngineProps.go
- StorageType.go
- SubnetGroup.go
- SubnetGroupProps.go
- SubnetGroup__checks.go
- TimeoutAction.go
- main.go