Class: AWSCDK::DMS::CfnDataMigrationProps

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

Overview

Properties for defining a CfnDataMigration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_migration_type:, migration_project_identifier:, service_access_role_arn:, data_migration_identifier: nil, data_migration_name: nil, data_migration_settings: nil, source_data_settings: nil, tags: nil) ⇒ CfnDataMigrationProps

Returns a new instance of CfnDataMigrationProps.

Parameters:

  • data_migration_type (String)

    Specifies whether the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.

  • migration_project_identifier (String)

    The property describes an identifier for the migration project.

  • service_access_role_arn (String)

    The IAM role that the data migration uses to access AWS resources.

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

    The property describes an ARN of the data migration.

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

    The user-friendly name for the data migration.

  • data_migration_settings (AWSCDK::IResolvable, AWSCDK::DMS::CfnDataMigration::DataMigrationSettingsProperty, nil) (defaults to: nil)

    Specifies CloudWatch settings and selection rules for the data migration.

  • source_data_settings (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::DMS::CfnDataMigration::SourceDataSettingsProperty>, nil) (defaults to: nil)

    Specifies information about the data migration's source data provider.

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

    An array of key-value pairs to apply to this resource.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'dms/cfn_data_migration_props.rb', line 17

def initialize(data_migration_type:, migration_project_identifier:, service_access_role_arn:, data_migration_identifier: nil, data_migration_name: nil, data_migration_settings: nil, source_data_settings: nil, tags: nil)
  @data_migration_type = data_migration_type
  Jsii::Type.check_type(@data_migration_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataMigrationType")
  @migration_project_identifier = migration_project_identifier
  Jsii::Type.check_type(@migration_project_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "migrationProjectIdentifier")
  @service_access_role_arn = service_access_role_arn
  Jsii::Type.check_type(@service_access_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceAccessRoleArn")
  @data_migration_identifier = data_migration_identifier
  Jsii::Type.check_type(@data_migration_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataMigrationIdentifier") unless @data_migration_identifier.nil?
  @data_migration_name = data_migration_name
  Jsii::Type.check_type(@data_migration_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataMigrationName") unless @data_migration_name.nil?
  @data_migration_settings = data_migration_settings.is_a?(Hash) ? ::AWSCDK::DMS::CfnDataMigration::DataMigrationSettingsProperty.new(**data_migration_settings.transform_keys(&:to_sym)) : data_migration_settings
  Jsii::Type.check_type(@data_migration_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kbXMuQ2ZuRGF0YU1pZ3JhdGlvbi5EYXRhTWlncmF0aW9uU2V0dGluZ3NQcm9wZXJ0eSJ9XX19")), "dataMigrationSettings") unless @data_migration_settings.nil?
  @source_data_settings = source_data_settings
  Jsii::Type.check_type(@source_data_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZG1zLkNmbkRhdGFNaWdyYXRpb24uU291cmNlRGF0YVNldHRpbmdzUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "sourceDataSettings") unless @source_data_settings.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?
end

Instance Attribute Details

#data_migration_identifierString? (readonly)

The property describes an ARN of the data migration.



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

def data_migration_identifier
  @data_migration_identifier
end

#data_migration_nameString? (readonly)

The user-friendly name for the data migration.



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

def data_migration_name
  @data_migration_name
end

#data_migration_settingsAWSCDK::IResolvable, ... (readonly)

Specifies CloudWatch settings and selection rules for the data migration.



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

def data_migration_settings
  @data_migration_settings
end

#data_migration_typeString (readonly)

Specifies whether the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.



40
41
42
# File 'dms/cfn_data_migration_props.rb', line 40

def data_migration_type
  @data_migration_type
end

#migration_project_identifierString (readonly)

The property describes an identifier for the migration project.

It is used for describing/deleting/modifying can be name/arn



47
48
49
# File 'dms/cfn_data_migration_props.rb', line 47

def migration_project_identifier
  @migration_project_identifier
end

#service_access_role_arnString (readonly)

The IAM role that the data migration uses to access AWS resources.



52
53
54
# File 'dms/cfn_data_migration_props.rb', line 52

def service_access_role_arn
  @service_access_role_arn
end

#source_data_settingsAWSCDK::IResolvable, ... (readonly)

Specifies information about the data migration's source data provider.



72
73
74
# File 'dms/cfn_data_migration_props.rb', line 72

def source_data_settings
  @source_data_settings
end

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

An array of key-value pairs to apply to this resource.



77
78
79
# File 'dms/cfn_data_migration_props.rb', line 77

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



79
80
81
82
83
84
85
86
87
88
89
90
# File 'dms/cfn_data_migration_props.rb', line 79

def self.jsii_properties
  {
    :data_migration_type => "dataMigrationType",
    :migration_project_identifier => "migrationProjectIdentifier",
    :service_access_role_arn => "serviceAccessRoleArn",
    :data_migration_identifier => "dataMigrationIdentifier",
    :data_migration_name => "dataMigrationName",
    :data_migration_settings => "dataMigrationSettings",
    :source_data_settings => "sourceDataSettings",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'dms/cfn_data_migration_props.rb', line 92

def to_jsii
  result = {}
  result.merge!({
    "dataMigrationType" => @data_migration_type,
    "migrationProjectIdentifier" => @migration_project_identifier,
    "serviceAccessRoleArn" => @service_access_role_arn,
    "dataMigrationIdentifier" => @data_migration_identifier,
    "dataMigrationName" => @data_migration_name,
    "dataMigrationSettings" => @data_migration_settings,
    "sourceDataSettings" => @source_data_settings,
    "tags" => @tags,
  })
  result.compact
end