Class: AWSCDK::DMS::CfnReplicationInstanceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dms/cfn_replication_instance_props.rb

Overview

Properties for defining a CfnReplicationInstance.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(replication_instance_class:, allocated_storage: nil, allow_major_version_upgrade: nil, auto_minor_version_upgrade: nil, availability_zone: nil, dns_name_servers: nil, engine_version: nil, kms_key_id: nil, multi_az: nil, network_type: nil, preferred_maintenance_window: nil, publicly_accessible: nil, replication_instance_identifier: nil, replication_subnet_group_identifier: nil, resource_identifier: nil, tags: nil, vpc_security_group_ids: nil) ⇒ CfnReplicationInstanceProps

Returns a new instance of CfnReplicationInstanceProps.

Parameters:

  • replication_instance_class (String)

    The compute and memory capacity of the replication instance as defined for the specified replication instance class.

  • allocated_storage (Numeric, nil) (defaults to: nil)

    The amount of storage (in gigabytes) to be initially allocated for the replication instance.

  • allow_major_version_upgrade (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates that major version upgrades are allowed.

  • auto_minor_version_upgrade (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window.

  • availability_zone (String, nil) (defaults to: nil)

    The Availability Zone that the replication instance will be created in.

  • dns_name_servers (String, nil) (defaults to: nil)

    A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database.

  • engine_version (String, nil) (defaults to: nil)

    The engine version number of the replication instance.

  • kms_key_id (String, nil) (defaults to: nil)

    An AWS key identifier that is used to encrypt the data on the replication instance.

  • multi_az (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether the replication instance is a Multi-AZ deployment.

  • network_type (String, nil) (defaults to: nil)

    The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.

  • preferred_maintenance_window (String, nil) (defaults to: nil)

    The weekly time range during which system maintenance can occur, in UTC.

  • publicly_accessible (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies the accessibility options for the replication instance.

  • replication_instance_identifier (String, nil) (defaults to: nil)

    The replication instance identifier. This parameter is stored as a lowercase string.

  • replication_subnet_group_identifier (String, nil) (defaults to: nil)

    A subnet group to associate with the replication instance.

  • resource_identifier (String, nil) (defaults to: nil)

    A display name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    One or more tags to be assigned to the replication instance.

  • vpc_security_group_ids (Array<String>, nil) (defaults to: nil)

    Specifies the virtual private cloud (VPC) security group to be used with the replication instance.



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
53
54
55
56
57
58
59
60
61
# File 'dms/cfn_replication_instance_props.rb', line 26

def initialize(replication_instance_class:, allocated_storage: nil, allow_major_version_upgrade: nil, auto_minor_version_upgrade: nil, availability_zone: nil, dns_name_servers: nil, engine_version: nil, kms_key_id: nil, multi_az: nil, network_type: nil, preferred_maintenance_window: nil, publicly_accessible: nil, replication_instance_identifier: nil, replication_subnet_group_identifier: nil, resource_identifier: nil, tags: nil, vpc_security_group_ids: nil)
  @replication_instance_class = replication_instance_class
  Jsii::Type.check_type(@replication_instance_class, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationInstanceClass")
  @allocated_storage = allocated_storage
  Jsii::Type.check_type(@allocated_storage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "allocatedStorage") unless @allocated_storage.nil?
  @allow_major_version_upgrade = allow_major_version_upgrade
  Jsii::Type.check_type(@allow_major_version_upgrade, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "allowMajorVersionUpgrade") unless @allow_major_version_upgrade.nil?
  @auto_minor_version_upgrade = auto_minor_version_upgrade
  Jsii::Type.check_type(@auto_minor_version_upgrade, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "autoMinorVersionUpgrade") unless @auto_minor_version_upgrade.nil?
  @availability_zone = availability_zone
  Jsii::Type.check_type(@availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone") unless @availability_zone.nil?
  @dns_name_servers = dns_name_servers
  Jsii::Type.check_type(@dns_name_servers, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dnsNameServers") unless @dns_name_servers.nil?
  @engine_version = engine_version
  Jsii::Type.check_type(@engine_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engineVersion") unless @engine_version.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
  @multi_az = multi_az
  Jsii::Type.check_type(@multi_az, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "multiAz") unless @multi_az.nil?
  @network_type = network_type
  Jsii::Type.check_type(@network_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkType") unless @network_type.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?
  @publicly_accessible = publicly_accessible
  Jsii::Type.check_type(@publicly_accessible, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publiclyAccessible") unless @publicly_accessible.nil?
  @replication_instance_identifier = replication_instance_identifier
  Jsii::Type.check_type(@replication_instance_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationInstanceIdentifier") unless @replication_instance_identifier.nil?
  @replication_subnet_group_identifier = replication_subnet_group_identifier
  Jsii::Type.check_type(@replication_subnet_group_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationSubnetGroupIdentifier") unless @replication_subnet_group_identifier.nil?
  @resource_identifier = resource_identifier
  Jsii::Type.check_type(@resource_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceIdentifier") unless @resource_identifier.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  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("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "vpcSecurityGroupIds") unless @vpc_security_group_ids.nil?
end

Instance Attribute Details

#allocated_storageNumeric? (readonly)

The amount of storage (in gigabytes) to be initially allocated for the replication instance.



74
75
76
# File 'dms/cfn_replication_instance_props.rb', line 74

def allocated_storage
  @allocated_storage
end

#allow_major_version_upgradeBoolean, ... (readonly)

Indicates that major version upgrades are allowed.

Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible.

This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the replication instance's current version.



83
84
85
# File 'dms/cfn_replication_instance_props.rb', line 83

def allow_major_version_upgrade
  @allow_major_version_upgrade
end

#auto_minor_version_upgradeBoolean, ... (readonly)

A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window.

This parameter defaults to true .

Default: true



92
93
94
# File 'dms/cfn_replication_instance_props.rb', line 92

def auto_minor_version_upgrade
  @auto_minor_version_upgrade
end

#availability_zoneString? (readonly)

The Availability Zone that the replication instance will be created in.

The default value is a random, system-chosen Availability Zone in the endpoint's AWS Region , for example us-east-1d .



99
100
101
# File 'dms/cfn_replication_instance_props.rb', line 99

def availability_zone
  @availability_zone
end

#dns_name_serversString? (readonly)

A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database.

This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"



106
107
108
# File 'dms/cfn_replication_instance_props.rb', line 106

def dns_name_servers
  @dns_name_servers
end

#engine_versionString? (readonly)

The engine version number of the replication instance.

If an engine version number is not specified when a replication instance is created, the default is the latest engine version available.



113
114
115
# File 'dms/cfn_replication_instance_props.rb', line 113

def engine_version
  @engine_version
end

#kms_key_idString? (readonly)

An AWS key identifier that is used to encrypt the data on the replication instance.

If you don't specify a value for the KmsKeyId parameter, AWS DMS uses your default encryption key.

AWS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Region .



122
123
124
# File 'dms/cfn_replication_instance_props.rb', line 122

def kms_key_id
  @kms_key_id
end

#multi_azBoolean, ... (readonly)

Specifies whether the replication instance is a Multi-AZ deployment.

You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true .



129
130
131
# File 'dms/cfn_replication_instance_props.rb', line 129

def multi_az
  @multi_az
end

#network_typeString? (readonly)

The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing.

IPv6 only is not yet supported.



136
137
138
# File 'dms/cfn_replication_instance_props.rb', line 136

def network_type
  @network_type
end

#preferred_maintenance_windowString? (readonly)

The weekly time range during which system maintenance can occur, in UTC.

Format : ddd:hh24:mi-ddd:hh24:mi

Default : A 30-minute window selected at random from an 8-hour block of time per AWS Region , occurring on a random day of the week.

Valid days ( ddd ): Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints : Minimum 30-minute window.



149
150
151
# File 'dms/cfn_replication_instance_props.rb', line 149

def preferred_maintenance_window
  @preferred_maintenance_window
end

#publicly_accessibleBoolean, ... (readonly)

Specifies the accessibility options for the replication instance.

A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true .



156
157
158
# File 'dms/cfn_replication_instance_props.rb', line 156

def publicly_accessible
  @publicly_accessible
end

#replication_instance_classString (readonly)

The compute and memory capacity of the replication instance as defined for the specified replication instance class.

For example, to specify the instance class dms.c4.large, set this parameter to "dms.c4.large" . For more information on the settings and capacities for the available replication instance classes, see Selecting the right AWS DMS replication instance for your migration in the AWS Database Migration Service User Guide .



69
70
71
# File 'dms/cfn_replication_instance_props.rb', line 69

def replication_instance_class
  @replication_instance_class
end

#replication_instance_identifierString? (readonly)

The replication instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain 1-63 alphanumeric characters or hyphens.
  • First character must be a letter.
  • Can't end with a hyphen or contain two consecutive hyphens.

Example: myrepinstance



169
170
171
# File 'dms/cfn_replication_instance_props.rb', line 169

def replication_instance_identifier
  @replication_instance_identifier
end

#replication_subnet_group_identifierString? (readonly)

A subnet group to associate with the replication instance.



174
175
176
# File 'dms/cfn_replication_instance_props.rb', line 174

def replication_subnet_group_identifier
  @replication_subnet_group_identifier
end

#resource_identifierString? (readonly)

A display name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.

The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1 . For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1 . If you don't specify a ResourceIdentifier value, AWS DMS generates a default identifier value for the end of EndpointArn .



181
182
183
# File 'dms/cfn_replication_instance_props.rb', line 181

def resource_identifier
  @resource_identifier
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

One or more tags to be assigned to the replication instance.



186
187
188
# File 'dms/cfn_replication_instance_props.rb', line 186

def tags
  @tags
end

#vpc_security_group_idsArray<String>? (readonly)

Specifies the virtual private cloud (VPC) security group to be used with the replication instance.

The VPC security group must work with the VPC containing the replication instance.



193
194
195
# File 'dms/cfn_replication_instance_props.rb', line 193

def vpc_security_group_ids
  @vpc_security_group_ids
end

Class Method Details

.jsii_propertiesObject



195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# File 'dms/cfn_replication_instance_props.rb', line 195

def self.jsii_properties
  {
    :replication_instance_class => "replicationInstanceClass",
    :allocated_storage => "allocatedStorage",
    :allow_major_version_upgrade => "allowMajorVersionUpgrade",
    :auto_minor_version_upgrade => "autoMinorVersionUpgrade",
    :availability_zone => "availabilityZone",
    :dns_name_servers => "dnsNameServers",
    :engine_version => "engineVersion",
    :kms_key_id => "kmsKeyId",
    :multi_az => "multiAz",
    :network_type => "networkType",
    :preferred_maintenance_window => "preferredMaintenanceWindow",
    :publicly_accessible => "publiclyAccessible",
    :replication_instance_identifier => "replicationInstanceIdentifier",
    :replication_subnet_group_identifier => "replicationSubnetGroupIdentifier",
    :resource_identifier => "resourceIdentifier",
    :tags => "tags",
    :vpc_security_group_ids => "vpcSecurityGroupIds",
  }
end

Instance Method Details

#to_jsiiObject



217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
# File 'dms/cfn_replication_instance_props.rb', line 217

def to_jsii
  result = {}
  result.merge!({
    "replicationInstanceClass" => @replication_instance_class,
    "allocatedStorage" => @allocated_storage,
    "allowMajorVersionUpgrade" => @allow_major_version_upgrade,
    "autoMinorVersionUpgrade" => @auto_minor_version_upgrade,
    "availabilityZone" => @availability_zone,
    "dnsNameServers" => @dns_name_servers,
    "engineVersion" => @engine_version,
    "kmsKeyId" => @kms_key_id,
    "multiAz" => @multi_az,
    "networkType" => @network_type,
    "preferredMaintenanceWindow" => @preferred_maintenance_window,
    "publiclyAccessible" => @publicly_accessible,
    "replicationInstanceIdentifier" => @replication_instance_identifier,
    "replicationSubnetGroupIdentifier" => @replication_subnet_group_identifier,
    "resourceIdentifier" => @resource_identifier,
    "tags" => @tags,
    "vpcSecurityGroupIds" => @vpc_security_group_ids,
  })
  result.compact
end