Class: AWSCDK::DocDBElastic::CfnClusterProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::DocDBElastic::CfnClusterProps
- Defined in:
- doc_db_elastic/cfn_cluster_props.rb
Overview
Properties for defining a CfnCluster.
Instance Attribute Summary collapse
-
#admin_user_name ⇒ String
readonly
The name of the Amazon DocumentDB elastic clusters administrator.
-
#admin_user_password ⇒ String?
readonly
The password for the Elastic DocumentDB cluster administrator and can contain any printable ASCII characters.
-
#auth_type ⇒ String
readonly
The authentication type used to determine where to fetch the password used for accessing the elastic cluster.
-
#backup_retention_period ⇒ Numeric?
readonly
The number of days for which automatic snapshots are retained.
-
#cluster_name ⇒ String
readonly
The name of the new elastic cluster.
-
#kms_key_id ⇒ String, ...
readonly
The KMS key identifier to use to encrypt the new elastic cluster.
-
#preferred_backup_window ⇒ String?
readonly
The daily time range during which automated backups are created if automated backups are enabled, as determined by
backupRetentionPeriod. -
#preferred_maintenance_window ⇒ String?
readonly
The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
-
#shard_capacity ⇒ Numeric
readonly
The number of vCPUs assigned to each elastic cluster shard.
-
#shard_count ⇒ Numeric
readonly
The number of shards assigned to the elastic cluster.
-
#shard_instance_count ⇒ Numeric?
readonly
The number of replica instances applying to all shards in the cluster.
-
#subnet_ids ⇒ Array<String>?
readonly
The Amazon EC2 subnet IDs for the new elastic cluster.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
The tags to be assigned to the new elastic cluster.
-
#vpc_security_group_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>?
readonly
A list of EC2 VPC security groups to associate with the new elastic cluster.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(admin_user_name:, auth_type:, cluster_name:, shard_capacity:, shard_count:, admin_user_password: nil, backup_retention_period: nil, kms_key_id: nil, preferred_backup_window: nil, preferred_maintenance_window: nil, shard_instance_count: nil, subnet_ids: nil, tags: nil, vpc_security_group_ids: nil) ⇒ CfnClusterProps
constructor
A new instance of CfnClusterProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(admin_user_name:, auth_type:, cluster_name:, shard_capacity:, shard_count:, admin_user_password: nil, backup_retention_period: nil, kms_key_id: nil, preferred_backup_window: nil, preferred_maintenance_window: nil, shard_instance_count: nil, subnet_ids: nil, tags: nil, vpc_security_group_ids: nil) ⇒ CfnClusterProps
Returns a new instance of CfnClusterProps.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 23 def initialize(admin_user_name:, auth_type:, cluster_name:, shard_capacity:, shard_count:, admin_user_password: nil, backup_retention_period: nil, kms_key_id: nil, preferred_backup_window: nil, preferred_maintenance_window: nil, shard_instance_count: nil, subnet_ids: nil, tags: nil, vpc_security_group_ids: nil) @admin_user_name = admin_user_name Jsii::Type.check_type(@admin_user_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "adminUserName") @auth_type = auth_type Jsii::Type.check_type(@auth_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "authType") @cluster_name = cluster_name Jsii::Type.check_type(@cluster_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterName") @shard_capacity = shard_capacity Jsii::Type.check_type(@shard_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "shardCapacity") @shard_count = shard_count Jsii::Type.check_type(@shard_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "shardCount") @admin_user_password = admin_user_password Jsii::Type.check_type(@admin_user_password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "adminUserPassword") unless @admin_user_password.nil? @backup_retention_period = backup_retention_period Jsii::Type.check_type(@backup_retention_period, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "backupRetentionPeriod") unless @backup_retention_period.nil? @kms_key_id = kms_key_id Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19rbXMuSUtleVJlZiJ9XX19")), "kmsKeyId") unless @kms_key_id.nil? @preferred_backup_window = preferred_backup_window Jsii::Type.check_type(@preferred_backup_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredBackupWindow") unless @preferred_backup_window.nil? @preferred_maintenance_window = preferred_maintenance_window Jsii::Type.check_type(@preferred_maintenance_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredMaintenanceWindow") unless @preferred_maintenance_window.nil? @shard_instance_count = shard_instance_count Jsii::Type.check_type(@shard_instance_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "shardInstanceCount") unless @shard_instance_count.nil? @subnet_ids = subnet_ids Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds") unless @subnet_ids.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @vpc_security_group_ids = vpc_security_group_ids Jsii::Type.check_type(@vpc_security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU2VjdXJpdHlHcm91cFJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "vpcSecurityGroupIds") unless @vpc_security_group_ids.nil? end |
Instance Attribute Details
#admin_user_name ⇒ String (readonly)
The name of the Amazon DocumentDB elastic clusters administrator.
Constraints :
- Must be from 1 to 63 letters or numbers.
- The first character must be a letter.
- Cannot be a reserved word.
64 65 66 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 64 def admin_user_name @admin_user_name end |
#admin_user_password ⇒ String? (readonly)
The password for the Elastic DocumentDB cluster administrator and can contain any printable ASCII characters.
Constraints :
- Must contain from 8 to 100 characters.
- Cannot contain a forward slash (/), double quote ("), or the "at" symbol (@).
- A valid
AdminUserNameentry is also required.
109 110 111 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 109 def admin_user_password @admin_user_password end |
#auth_type ⇒ String (readonly)
The authentication type used to determine where to fetch the password used for accessing the elastic cluster.
Valid types are PLAIN_TEXT or SECRET_ARN .
71 72 73 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 71 def auth_type @auth_type end |
#backup_retention_period ⇒ Numeric? (readonly)
The number of days for which automatic snapshots are retained.
114 115 116 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 114 def backup_retention_period @backup_retention_period end |
#cluster_name ⇒ String (readonly)
The name of the new elastic cluster. This parameter is stored as a lowercase string.
Constraints :
- Must contain from 1 to 63 letters, numbers, or hyphens.
- The first character must be a letter.
- Cannot end with a hyphen or contain two consecutive hyphens.
Example : my-cluster
84 85 86 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 84 def cluster_name @cluster_name end |
#kms_key_id ⇒ String, ... (readonly)
The KMS key identifier to use to encrypt the new elastic cluster.
The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key.
If an encryption key is not specified, Amazon DocumentDB uses the default encryption key that KMS creates for your account. Your account has a different default encryption key for each Amazon Region.
123 124 125 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 123 def kms_key_id @kms_key_id end |
#preferred_backup_window ⇒ String? (readonly)
The daily time range during which automated backups are created if automated backups are enabled, as determined by backupRetentionPeriod .
128 129 130 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 128 def preferred_backup_window @preferred_backup_window end |
#preferred_maintenance_window ⇒ String? (readonly)
The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
Format : ddd:hh24:mi-ddd:hh24:mi
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.
Valid days : Mon, Tue, Wed, Thu, Fri, Sat, Sun
Constraints : Minimum 30-minute window.
141 142 143 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 141 def preferred_maintenance_window @preferred_maintenance_window end |
#shard_capacity ⇒ Numeric (readonly)
The number of vCPUs assigned to each elastic cluster shard.
Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.
91 92 93 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 91 def shard_capacity @shard_capacity end |
#shard_count ⇒ Numeric (readonly)
The number of shards assigned to the elastic cluster.
Maximum is 32.
98 99 100 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 98 def shard_count @shard_count end |
#shard_instance_count ⇒ Numeric? (readonly)
The number of replica instances applying to all shards in the cluster.
A shard_instance_count value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.
148 149 150 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 148 def shard_instance_count @shard_instance_count end |
#subnet_ids ⇒ Array<String>? (readonly)
The Amazon EC2 subnet IDs for the new elastic cluster.
153 154 155 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 153 def subnet_ids @subnet_ids end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
The tags to be assigned to the new elastic cluster.
158 159 160 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 158 def @tags end |
#vpc_security_group_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>? (readonly)
A list of EC2 VPC security groups to associate with the new elastic cluster.
163 164 165 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 163 def vpc_security_group_ids @vpc_security_group_ids end |
Class Method Details
.jsii_properties ⇒ Object
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 165 def self.jsii_properties { :admin_user_name => "adminUserName", :auth_type => "authType", :cluster_name => "clusterName", :shard_capacity => "shardCapacity", :shard_count => "shardCount", :admin_user_password => "adminUserPassword", :backup_retention_period => "backupRetentionPeriod", :kms_key_id => "kmsKeyId", :preferred_backup_window => "preferredBackupWindow", :preferred_maintenance_window => "preferredMaintenanceWindow", :shard_instance_count => "shardInstanceCount", :subnet_ids => "subnetIds", :tags => "tags", :vpc_security_group_ids => "vpcSecurityGroupIds", } end |
Instance Method Details
#to_jsii ⇒ Object
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'doc_db_elastic/cfn_cluster_props.rb', line 184 def to_jsii result = {} result.merge!({ "adminUserName" => @admin_user_name, "authType" => @auth_type, "clusterName" => @cluster_name, "shardCapacity" => @shard_capacity, "shardCount" => @shard_count, "adminUserPassword" => @admin_user_password, "backupRetentionPeriod" => @backup_retention_period, "kmsKeyId" => @kms_key_id, "preferredBackupWindow" => @preferred_backup_window, "preferredMaintenanceWindow" => @preferred_maintenance_window, "shardInstanceCount" => @shard_instance_count, "subnetIds" => @subnet_ids, "tags" => @tags, "vpcSecurityGroupIds" => @vpc_security_group_ids, }) result.compact end |