Class: AWSCDK::Glue::CfnIntegrationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
glue/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(integration_name:, source_arn:, target_arn:, additional_encryption_context: nil, data_filter: nil, description: nil, integration_config: nil, kms_key_id: nil, tags: nil) ⇒ CfnIntegrationProps

Returns a new instance of CfnIntegrationProps.

Parameters:

  • integration_name (String)

    A unique name for the integration.

  • source_arn (String)

    The ARN for the source of the integration.

  • target_arn (String)

    The ARN for the target of the integration.

  • 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 for encryption.

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

    Selects source tables for the integration using Maxwell filter syntax.

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

    A description for the integration.

  • integration_config (AWSCDK::IResolvable, AWSCDK::Glue::CfnIntegration::IntegrationConfigProperty, nil) (defaults to: nil)

    The structure used to define properties associated with the zero-ETL integration.

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

    The ARN of a KMS key used for encrypting the channel.

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

    Metadata assigned to the resource consisting of a list of key-value pairs.



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

def initialize(integration_name:, source_arn:, target_arn:, additional_encryption_context: nil, data_filter: nil, description: nil, integration_config: nil, kms_key_id: nil, tags: nil)
  @integration_name = integration_name
  Jsii::Type.check_type(@integration_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "integrationName")
  @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_config = integration_config.is_a?(Hash) ? ::AWSCDK::Glue::CfnIntegration::IntegrationConfigProperty.new(**integration_config.transform_keys(&:to_sym)) : integration_config
  Jsii::Type.check_type(@integration_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmbkludGVncmF0aW9uLkludGVncmF0aW9uQ29uZmlnUHJvcGVydHkifV19fQ==")), "integrationConfig") unless @integration_config.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 for encryption.

This can only be provided if KMSKeyId is provided.



60
61
62
# File 'glue/cfn_integration_props.rb', line 60

def additional_encryption_context
  @additional_encryption_context
end

#data_filterString? (readonly)

Selects source tables for the integration using Maxwell filter syntax.



65
66
67
# File 'glue/cfn_integration_props.rb', line 65

def data_filter
  @data_filter
end

#descriptionString? (readonly)

A description for the integration.



70
71
72
# File 'glue/cfn_integration_props.rb', line 70

def description
  @description
end

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

The structure used to define properties associated with the zero-ETL integration.

For more information, see IntegrationConfig structure.



77
78
79
# File 'glue/cfn_integration_props.rb', line 77

def integration_config
  @integration_config
end

#integration_nameString (readonly)

A unique name for the integration.



43
44
45
# File 'glue/cfn_integration_props.rb', line 43

def integration_name
  @integration_name
end

#kms_key_idString? (readonly)

The ARN of a KMS key used for encrypting the channel.



82
83
84
# File 'glue/cfn_integration_props.rb', line 82

def kms_key_id
  @kms_key_id
end

#source_arnString (readonly)

The ARN for the source of the integration.



48
49
50
# File 'glue/cfn_integration_props.rb', line 48

def source_arn
  @source_arn
end

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

Metadata assigned to the resource consisting of a list of key-value pairs.



87
88
89
# File 'glue/cfn_integration_props.rb', line 87

def tags
  @tags
end

#target_arnString (readonly)

The ARN for the target of the integration.



53
54
55
# File 'glue/cfn_integration_props.rb', line 53

def target_arn
  @target_arn
end

Class Method Details

.jsii_propertiesObject



89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'glue/cfn_integration_props.rb', line 89

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

Instance Method Details

#to_jsiiObject



103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'glue/cfn_integration_props.rb', line 103

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