Class: AWSCDK::DMS::CfnReplicationTaskProps

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

Overview

Properties for defining a CfnReplicationTask.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(migration_type:, replication_instance_arn:, source_endpoint_arn:, table_mappings:, target_endpoint_arn:, cdc_start_position: nil, cdc_start_time: nil, cdc_stop_position: nil, replication_task_identifier: nil, replication_task_settings: nil, resource_identifier: nil, tags: nil, task_data: nil) ⇒ CfnReplicationTaskProps

Returns a new instance of CfnReplicationTaskProps.

Parameters:

  • migration_type (String)

    The migration type.

  • replication_instance_arn (String)

    The Amazon Resource Name (ARN) of a replication instance.

  • source_endpoint_arn (String)

    An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.

  • table_mappings (String)

    The table mappings for the task, in JSON format.

  • target_endpoint_arn (String)

    An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.

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

    Indicates when you want a change data capture (CDC) operation to start.

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

    Indicates the start time for a change data capture (CDC) operation.

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

    Indicates when you want a change data capture (CDC) operation to stop.

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

    An identifier for the replication task.

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

    Overall settings for the task, in JSON format.

  • 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 task.

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

    Supplemental information that the task requires to migrate the data for certain source and target endpoints.



22
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
# File 'dms/cfn_replication_task_props.rb', line 22

def initialize(migration_type:, replication_instance_arn:, source_endpoint_arn:, table_mappings:, target_endpoint_arn:, cdc_start_position: nil, cdc_start_time: nil, cdc_stop_position: nil, replication_task_identifier: nil, replication_task_settings: nil, resource_identifier: nil, tags: nil, task_data: nil)
  @migration_type = migration_type
  Jsii::Type.check_type(@migration_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "migrationType")
  @replication_instance_arn = replication_instance_arn
  Jsii::Type.check_type(@replication_instance_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationInstanceArn")
  @source_endpoint_arn = source_endpoint_arn
  Jsii::Type.check_type(@source_endpoint_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceEndpointArn")
  @table_mappings = table_mappings
  Jsii::Type.check_type(@table_mappings, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tableMappings")
  @target_endpoint_arn = target_endpoint_arn
  Jsii::Type.check_type(@target_endpoint_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetEndpointArn")
  @cdc_start_position = cdc_start_position
  Jsii::Type.check_type(@cdc_start_position, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cdcStartPosition") unless @cdc_start_position.nil?
  @cdc_start_time = cdc_start_time
  Jsii::Type.check_type(@cdc_start_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "cdcStartTime") unless @cdc_start_time.nil?
  @cdc_stop_position = cdc_stop_position
  Jsii::Type.check_type(@cdc_stop_position, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cdcStopPosition") unless @cdc_stop_position.nil?
  @replication_task_identifier = replication_task_identifier
  Jsii::Type.check_type(@replication_task_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationTaskIdentifier") unless @replication_task_identifier.nil?
  @replication_task_settings = replication_task_settings
  Jsii::Type.check_type(@replication_task_settings, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replicationTaskSettings") unless @replication_task_settings.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?
  @task_data = task_data
  Jsii::Type.check_type(@task_data, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "taskData") unless @task_data.nil?
end

Instance Attribute Details

#cdc_start_positionString? (readonly)

Indicates when you want a change data capture (CDC) operation to start.

Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, log sequence number (LSN), or system change number (SCN) format.

Here is a date example: --cdc-start-position "2018-03-08T12:12:12"

Here is a checkpoint example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"

Here is an LSN example: --cdc-start-position “mysql-bin-changelog.000024:373”

When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slot_name extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS in the AWS Database Migration Service User Guide .



96
97
98
# File 'dms/cfn_replication_task_props.rb', line 96

def cdc_start_position
  @cdc_start_position
end

#cdc_start_timeNumeric? (readonly)

Indicates the start time for a change data capture (CDC) operation.



101
102
103
# File 'dms/cfn_replication_task_props.rb', line 101

def cdc_start_time
  @cdc_start_time
end

#cdc_stop_positionString? (readonly)

Indicates when you want a change data capture (CDC) operation to stop.

The value can be either server time or commit time.

Here is a server time example: --cdc-stop-position "server_time:2018-02-09T12:12:12"

Here is a commit time example: --cdc-stop-position "commit_time: 2018-02-09T12:12:12"



112
113
114
# File 'dms/cfn_replication_task_props.rb', line 112

def cdc_stop_position
  @cdc_stop_position
end

#migration_typeString (readonly)

The migration type.

Valid values: full-load | cdc | full-load-and-cdc



57
58
59
# File 'dms/cfn_replication_task_props.rb', line 57

def migration_type
  @migration_type
end

#replication_instance_arnString (readonly)

The Amazon Resource Name (ARN) of a replication instance.



62
63
64
# File 'dms/cfn_replication_task_props.rb', line 62

def replication_instance_arn
  @replication_instance_arn
end

#replication_task_identifierString? (readonly)

An identifier for the replication task.

Constraints:

  • Must contain 1-255 alphanumeric characters or hyphens.
  • First character must be a letter.
  • Cannot end with a hyphen or contain two consecutive hyphens.


123
124
125
# File 'dms/cfn_replication_task_props.rb', line 123

def replication_task_identifier
  @replication_task_identifier
end

#replication_task_settingsString? (readonly)

Overall settings for the task, in JSON format.

For more information, see Specifying Task Settings for AWS Database Migration Service Tasks in the AWS Database Migration Service User Guide .



130
131
132
# File 'dms/cfn_replication_task_props.rb', line 130

def replication_task_settings
  @replication_task_settings
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 .



139
140
141
# File 'dms/cfn_replication_task_props.rb', line 139

def resource_identifier
  @resource_identifier
end

#source_endpoint_arnString (readonly)

An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.



67
68
69
# File 'dms/cfn_replication_task_props.rb', line 67

def source_endpoint_arn
  @source_endpoint_arn
end

#table_mappingsString (readonly)

The table mappings for the task, in JSON format.

For more information, see Using Table Mapping to Specify Task Settings in the AWS Database Migration Service User Guide .



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

def table_mappings
  @table_mappings
end

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

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



144
145
146
# File 'dms/cfn_replication_task_props.rb', line 144

def tags
  @tags
end

#target_endpoint_arnString (readonly)

An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.



79
80
81
# File 'dms/cfn_replication_task_props.rb', line 79

def target_endpoint_arn
  @target_endpoint_arn
end

#task_dataString? (readonly)

Supplemental information that the task requires to migrate the data for certain source and target endpoints.

For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration Service User Guide.



151
152
153
# File 'dms/cfn_replication_task_props.rb', line 151

def task_data
  @task_data
end

Class Method Details

.jsii_propertiesObject



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'dms/cfn_replication_task_props.rb', line 153

def self.jsii_properties
  {
    :migration_type => "migrationType",
    :replication_instance_arn => "replicationInstanceArn",
    :source_endpoint_arn => "sourceEndpointArn",
    :table_mappings => "tableMappings",
    :target_endpoint_arn => "targetEndpointArn",
    :cdc_start_position => "cdcStartPosition",
    :cdc_start_time => "cdcStartTime",
    :cdc_stop_position => "cdcStopPosition",
    :replication_task_identifier => "replicationTaskIdentifier",
    :replication_task_settings => "replicationTaskSettings",
    :resource_identifier => "resourceIdentifier",
    :tags => "tags",
    :task_data => "taskData",
  }
end

Instance Method Details

#to_jsiiObject



171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'dms/cfn_replication_task_props.rb', line 171

def to_jsii
  result = {}
  result.merge!({
    "migrationType" => @migration_type,
    "replicationInstanceArn" => @replication_instance_arn,
    "sourceEndpointArn" => @source_endpoint_arn,
    "tableMappings" => @table_mappings,
    "targetEndpointArn" => @target_endpoint_arn,
    "cdcStartPosition" => @cdc_start_position,
    "cdcStartTime" => @cdc_start_time,
    "cdcStopPosition" => @cdc_stop_position,
    "replicationTaskIdentifier" => @replication_task_identifier,
    "replicationTaskSettings" => @replication_task_settings,
    "resourceIdentifier" => @resource_identifier,
    "tags" => @tags,
    "taskData" => @task_data,
  })
  result.compact
end