Class: AWSCDK::Redshift::CfnIntegrationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
redshift/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, 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 used as the source for replication.

  • target_arn (String)

    The Amazon Resource Name (ARN) of the Amazon Redshift data warehouse to use as the target for replication.

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

    The encryption context for 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 Service ( AWS KMS) key identifier for the key used to encrypt the integration.

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

    The list of tags associated with the integration.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'redshift/cfn_integration_props.rb', line 15

def initialize(source_arn:, target_arn:, additional_encryption_context: 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?
  @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)

The encryption context for the integration.

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



46
47
48
# File 'redshift/cfn_integration_props.rb', line 46

def additional_encryption_context
  @additional_encryption_context
end

#integration_nameString? (readonly)

The name of the integration.



51
52
53
# File 'redshift/cfn_integration_props.rb', line 51

def integration_name
  @integration_name
end

#kms_key_idString? (readonly)

The AWS Key Management Service ( AWS KMS) key identifier for the key used to encrypt the integration.



56
57
58
# File 'redshift/cfn_integration_props.rb', line 56

def kms_key_id
  @kms_key_id
end

#source_arnString (readonly)

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



34
35
36
# File 'redshift/cfn_integration_props.rb', line 34

def source_arn
  @source_arn
end

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

The list of tags associated with the integration.



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

def tags
  @tags
end

#target_arnString (readonly)

The Amazon Resource Name (ARN) of the Amazon Redshift data warehouse to use as the target for replication.



39
40
41
# File 'redshift/cfn_integration_props.rb', line 39

def target_arn
  @target_arn
end

Class Method Details

.jsii_propertiesObject



63
64
65
66
67
68
69
70
71
72
# File 'redshift/cfn_integration_props.rb', line 63

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

Instance Method Details

#to_jsiiObject



74
75
76
77
78
79
80
81
82
83
84
85
# File 'redshift/cfn_integration_props.rb', line 74

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