Class: AWSCDK::DMS::CfnReplicationConfig::ComputeConfigProperty

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

Overview

Configuration parameters for provisioning an AWS DMS Serverless replication.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(max_capacity_units:, availability_zone: nil, dns_name_servers: nil, kms_key_id: nil, min_capacity_units: nil, multi_az: nil, preferred_maintenance_window: nil, replication_subnet_group_id: nil, vpc_security_group_ids: nil) ⇒ ComputeConfigProperty

Returns a new instance of ComputeConfigProperty.

Parameters:

  • max_capacity_units (Numeric)

    Specifies the maximum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned.

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

    The Availability Zone where the AWS DMS Serverless replication using this configuration will run.

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

    A list of custom DNS name servers supported for the AWS DMS Serverless replication to access your source or target database.

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

    An AWS Key Management Service ( AWS ) key Amazon Resource Name (ARN) that is used to encrypt the data during AWS DMS Serverless replication.

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

    Specifies the minimum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned.

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

    Specifies whether the AWS DMS Serverless replication is a Multi-AZ deployment.

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

    The weekly time range during which system maintenance can occur for the AWS DMS Serverless replication, in Universal Coordinated Time (UTC).

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

    Specifies a subnet group identifier to associate with the AWS DMS Serverless replication.

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

    Specifies the virtual private cloud (VPC) security group to use with the AWS DMS Serverless replication.



643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
# File 'dms/cfn_replication_config.rb', line 643

def initialize(max_capacity_units:, availability_zone: nil, dns_name_servers: nil, kms_key_id: nil, min_capacity_units: nil, multi_az: nil, preferred_maintenance_window: nil, replication_subnet_group_id: nil, vpc_security_group_ids: nil)
  @max_capacity_units = max_capacity_units
  Jsii::Type.check_type(@max_capacity_units, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxCapacityUnits")
  @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?
  @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?
  @min_capacity_units = min_capacity_units
  Jsii::Type.check_type(@min_capacity_units, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minCapacityUnits") unless @min_capacity_units.nil?
  @multi_az = multi_az
  Jsii::Type.check_type(@multi_az, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "multiAz") unless @multi_az.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?
  @replication_subnet_group_id = replication_subnet_group_id
  Jsii::Type.check_type(@replication_subnet_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationSubnetGroupId") unless @replication_subnet_group_id.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

#availability_zoneString? (readonly)

The Availability Zone where the AWS DMS Serverless replication using this configuration will run.

The default value is a random, system-chosen Availability Zone in the configuration's AWS Region , for example, "us-west-2" . You can't set this parameter if the MultiAZ parameter is set to true .



677
678
679
# File 'dms/cfn_replication_config.rb', line 677

def availability_zone
  @availability_zone
end

#dns_name_serversString? (readonly)

A list of custom DNS name servers supported for the AWS DMS Serverless replication to access your source or target database.

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



684
685
686
# File 'dms/cfn_replication_config.rb', line 684

def dns_name_servers
  @dns_name_servers
end

#kms_key_idString? (readonly)

An AWS Key Management Service ( AWS ) key Amazon Resource Name (ARN) that is used to encrypt the data during AWS DMS Serverless replication.

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 Amazon Web Services account. Your AWS account has a different default encryption key for each AWS Region .



693
694
695
# File 'dms/cfn_replication_config.rb', line 693

def kms_key_id
  @kms_key_id
end

#max_capacity_unitsNumeric (readonly)

Specifies the maximum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned.

A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for AWS DMS Serverless is 384. The MaxCapacityUnits parameter is the only DCU parameter you are required to specify.



670
671
672
# File 'dms/cfn_replication_config.rb', line 670

def max_capacity_units
  @max_capacity_units
end

#min_capacity_unitsNumeric? (readonly)

Specifies the minimum value of the AWS DMS capacity units (DCUs) for which a given AWS DMS Serverless replication can be provisioned.

A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for AWS DMS Serverless is 1. If you don't set this value, AWS DMS sets this parameter to the minimum DCU value allowed, 1. If there is no current source activity, AWS DMS scales down your replication until it reaches the value specified in MinCapacityUnits .



700
701
702
# File 'dms/cfn_replication_config.rb', line 700

def min_capacity_units
  @min_capacity_units
end

#multi_azBoolean, ... (readonly)

Specifies whether the AWS DMS Serverless replication is a Multi-AZ deployment.

You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true .



707
708
709
# File 'dms/cfn_replication_config.rb', line 707

def multi_az
  @multi_az
end

#preferred_maintenance_windowString? (readonly)

The weekly time range during which system maintenance can occur for the AWS DMS Serverless replication, in Universal Coordinated Time (UTC).

The format is ddd:hh24:mi-ddd:hh24:mi .

The default is a 30-minute window selected at random from an 8-hour block of time per AWS Region . This maintenance occurs on a random day of the week. Valid values for days of the week include Mon , Tue , Wed , Thu , Fri , Sat , and Sun .

Constraints include a minimum 30-minute window.



718
719
720
# File 'dms/cfn_replication_config.rb', line 718

def preferred_maintenance_window
  @preferred_maintenance_window
end

#replication_subnet_group_idString? (readonly)

Specifies a subnet group identifier to associate with the AWS DMS Serverless replication.



723
724
725
# File 'dms/cfn_replication_config.rb', line 723

def replication_subnet_group_id
  @replication_subnet_group_id
end

#vpc_security_group_idsArray<String>? (readonly)

Specifies the virtual private cloud (VPC) security group to use with the AWS DMS Serverless replication.

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



730
731
732
# File 'dms/cfn_replication_config.rb', line 730

def vpc_security_group_ids
  @vpc_security_group_ids
end

Class Method Details

.jsii_propertiesObject



732
733
734
735
736
737
738
739
740
741
742
743
744
# File 'dms/cfn_replication_config.rb', line 732

def self.jsii_properties
  {
    :max_capacity_units => "maxCapacityUnits",
    :availability_zone => "availabilityZone",
    :dns_name_servers => "dnsNameServers",
    :kms_key_id => "kmsKeyId",
    :min_capacity_units => "minCapacityUnits",
    :multi_az => "multiAz",
    :preferred_maintenance_window => "preferredMaintenanceWindow",
    :replication_subnet_group_id => "replicationSubnetGroupId",
    :vpc_security_group_ids => "vpcSecurityGroupIds",
  }
end

Instance Method Details

#to_jsiiObject



746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
# File 'dms/cfn_replication_config.rb', line 746

def to_jsii
  result = {}
  result.merge!({
    "maxCapacityUnits" => @max_capacity_units,
    "availabilityZone" => @availability_zone,
    "dnsNameServers" => @dns_name_servers,
    "kmsKeyId" => @kms_key_id,
    "minCapacityUnits" => @min_capacity_units,
    "multiAz" => @multi_az,
    "preferredMaintenanceWindow" => @preferred_maintenance_window,
    "replicationSubnetGroupId" => @replication_subnet_group_id,
    "vpcSecurityGroupIds" => @vpc_security_group_ids,
  })
  result.compact
end