Class: AWSCDK::RDS::CfnIntegrationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
rds/cfn_integration_props.rb

Overview

Properties for defining a CfnIntegration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source_arn:, target_arn:, additional_encryption_context: nil, data_filter: nil, description: nil, integration_name: nil, kms_key_id: nil, tags: nil) ⇒ CfnIntegrationProps

Returns a new instance of CfnIntegrationProps.

Parameters:

  • source_arn (String)

    The Amazon Resource Name (ARN) of the database to use as the source for replication.

  • target_arn (String)

    The ARN of the Redshift data warehouse to use as the target for replication.

  • additional_encryption_context (AWSCDK::IResolvable, Hash{String => String}, nil) (defaults to: nil)

    An optional set of non-secret key–value pairs that contains additional contextual information about the data.

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

    Data filters for the integration.

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

    A description of the integration.

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

    The name of the integration.

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

    The AWS Key Management System ( AWS KMS) key identifier for the key to use to encrypt the integration.

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

    An optional array of key-value pairs to apply to this integration.



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

def initialize(source_arn:, target_arn:, additional_encryption_context: nil, data_filter: nil, description: nil, integration_name: nil, kms_key_id: nil, tags: nil)
  @source_arn = source_arn
  Jsii::Type.check_type(@source_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceArn")
  @target_arn = target_arn
  Jsii::Type.check_type(@target_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetArn")
  @additional_encryption_context = additional_encryption_context
  Jsii::Type.check_type(@additional_encryption_context, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "additionalEncryptionContext") unless @additional_encryption_context.nil?
  @data_filter = data_filter
  Jsii::Type.check_type(@data_filter, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataFilter") unless @data_filter.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @integration_name = integration_name
  Jsii::Type.check_type(@integration_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "integrationName") unless @integration_name.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?
  @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

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

An optional set of non-secret key–value pairs that contains additional contextual information about the data.

For more information, see Encryption context in the AWS Key Management Service Developer Guide .

You can only include this parameter if you specify the KMSKeyId parameter.



54
55
56
# File 'rds/cfn_integration_props.rb', line 54

def additional_encryption_context
  @additional_encryption_context
end

#data_filterString? (readonly)

Data filters for the integration.

These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.



61
62
63
# File 'rds/cfn_integration_props.rb', line 61

def data_filter
  @data_filter
end

#descriptionString? (readonly)

A description of the integration.



66
67
68
# File 'rds/cfn_integration_props.rb', line 66

def description
  @description
end

#integration_nameString? (readonly)

The name of the integration.



71
72
73
# File 'rds/cfn_integration_props.rb', line 71

def integration_name
  @integration_name
end

#kms_key_idString? (readonly)

The AWS Key Management System ( AWS KMS) key identifier for the key to use to encrypt the integration.

If you don't specify an encryption key, RDS uses a default AWS owned key.



78
79
80
# File 'rds/cfn_integration_props.rb', line 78

def kms_key_id
  @kms_key_id
end

#source_arnString (readonly)

The Amazon Resource Name (ARN) of the database to use as the source for replication.



40
41
42
# File 'rds/cfn_integration_props.rb', line 40

def source_arn
  @source_arn
end

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

An optional array of key-value pairs to apply to this integration.



83
84
85
# File 'rds/cfn_integration_props.rb', line 83

def tags
  @tags
end

#target_arnString (readonly)

The ARN of the Redshift data warehouse to use as the target for replication.



45
46
47
# File 'rds/cfn_integration_props.rb', line 45

def target_arn
  @target_arn
end

Class Method Details

.jsii_propertiesObject



85
86
87
88
89
90
91
92
93
94
95
96
# File 'rds/cfn_integration_props.rb', line 85

def self.jsii_properties
  {
    :source_arn => "sourceArn",
    :target_arn => "targetArn",
    :additional_encryption_context => "additionalEncryptionContext",
    :data_filter => "dataFilter",
    :description => "description",
    :integration_name => "integrationName",
    :kms_key_id => "kmsKeyId",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'rds/cfn_integration_props.rb', line 98

def to_jsii
  result = {}
  result.merge!({
    "sourceArn" => @source_arn,
    "targetArn" => @target_arn,
    "additionalEncryptionContext" => @additional_encryption_context,
    "dataFilter" => @data_filter,
    "description" => @description,
    "integrationName" => @integration_name,
    "kmsKeyId" => @kms_key_id,
    "tags" => @tags,
  })
  result.compact
end