Class: AWSCDK::KafkaConnect::CfnConnectorProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kafka_connect/cfn_connector_props.rb

Overview

Properties for defining a CfnConnector.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(capacity:, connector_configuration:, connector_name:, kafka_cluster:, kafka_cluster_client_authentication:, kafka_cluster_encryption_in_transit:, kafka_connect_version:, plugins:, service_execution_role_arn:, connector_description: nil, log_delivery: nil, network_type: nil, tags: nil, worker_configuration: nil) ⇒ CfnConnectorProps

Returns a new instance of CfnConnectorProps.

Parameters:



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
50
51
52
# File 'kafka_connect/cfn_connector_props.rb', line 23

def initialize(capacity:, connector_configuration:, connector_name:, kafka_cluster:, kafka_cluster_client_authentication:, kafka_cluster_encryption_in_transit:, kafka_connect_version:, plugins:, service_execution_role_arn:, connector_description: nil, log_delivery: nil, network_type: nil, tags: nil, worker_configuration: nil)
  @capacity = capacity.is_a?(Hash) ? ::AWSCDK::KafkaConnect::CfnConnector::CapacityProperty.new(**capacity.transform_keys(&:to_sym)) : capacity
  Jsii::Type.check_type(@capacity, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rYWZrYWNvbm5lY3QuQ2ZuQ29ubmVjdG9yLkNhcGFjaXR5UHJvcGVydHkifV19fQ==")), "capacity")
  @connector_configuration = connector_configuration
  Jsii::Type.check_type(@connector_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "connectorConfiguration")
  @connector_name = connector_name
  Jsii::Type.check_type(@connector_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "connectorName")
  @kafka_cluster = kafka_cluster.is_a?(Hash) ? ::AWSCDK::KafkaConnect::CfnConnector::KafkaClusterProperty.new(**kafka_cluster.transform_keys(&:to_sym)) : kafka_cluster
  Jsii::Type.check_type(@kafka_cluster, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rYWZrYWNvbm5lY3QuQ2ZuQ29ubmVjdG9yLkthZmthQ2x1c3RlclByb3BlcnR5In1dfX0=")), "kafkaCluster")
  @kafka_cluster_client_authentication = kafka_cluster_client_authentication.is_a?(Hash) ? ::AWSCDK::KafkaConnect::CfnConnector::KafkaClusterClientAuthenticationProperty.new(**kafka_cluster_client_authentication.transform_keys(&:to_sym)) : kafka_cluster_client_authentication
  Jsii::Type.check_type(@kafka_cluster_client_authentication, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rYWZrYWNvbm5lY3QuQ2ZuQ29ubmVjdG9yLkthZmthQ2x1c3RlckNsaWVudEF1dGhlbnRpY2F0aW9uUHJvcGVydHkifV19fQ==")), "kafkaClusterClientAuthentication")
  @kafka_cluster_encryption_in_transit = kafka_cluster_encryption_in_transit.is_a?(Hash) ? ::AWSCDK::KafkaConnect::CfnConnector::KafkaClusterEncryptionInTransitProperty.new(**kafka_cluster_encryption_in_transit.transform_keys(&:to_sym)) : kafka_cluster_encryption_in_transit
  Jsii::Type.check_type(@kafka_cluster_encryption_in_transit, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rYWZrYWNvbm5lY3QuQ2ZuQ29ubmVjdG9yLkthZmthQ2x1c3RlckVuY3J5cHRpb25JblRyYW5zaXRQcm9wZXJ0eSJ9XX19")), "kafkaClusterEncryptionInTransit")
  @kafka_connect_version = kafka_connect_version
  Jsii::Type.check_type(@kafka_connect_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kafkaConnectVersion")
  @plugins = plugins
  Jsii::Type.check_type(@plugins, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfa2Fma2Fjb25uZWN0LkNmbkNvbm5lY3Rvci5QbHVnaW5Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "plugins")
  @service_execution_role_arn = service_execution_role_arn
  Jsii::Type.check_type(@service_execution_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceExecutionRoleArn")
  @connector_description = connector_description
  Jsii::Type.check_type(@connector_description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "connectorDescription") unless @connector_description.nil?
  @log_delivery = log_delivery.is_a?(Hash) ? ::AWSCDK::KafkaConnect::CfnConnector::LogDeliveryProperty.new(**log_delivery.transform_keys(&:to_sym)) : log_delivery
  Jsii::Type.check_type(@log_delivery, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rYWZrYWNvbm5lY3QuQ2ZuQ29ubmVjdG9yLkxvZ0RlbGl2ZXJ5UHJvcGVydHkifV19fQ==")), "logDelivery") unless @log_delivery.nil?
  @network_type = network_type
  Jsii::Type.check_type(@network_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkType") unless @network_type.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?
  @worker_configuration = worker_configuration.is_a?(Hash) ? ::AWSCDK::KafkaConnect::CfnConnector::WorkerConfigurationProperty.new(**worker_configuration.transform_keys(&:to_sym)) : worker_configuration
  Jsii::Type.check_type(@worker_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19rYWZrYWNvbm5lY3QuQ2ZuQ29ubmVjdG9yLldvcmtlckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "workerConfiguration") unless @worker_configuration.nil?
end

Instance Attribute Details

#capacityAWSCDK::IResolvable, AWSCDK::KafkaConnect::CfnConnector::CapacityProperty (readonly)

The connector's compute capacity settings.



58
59
60
# File 'kafka_connect/cfn_connector_props.rb', line 58

def capacity
  @capacity
end

#connector_configurationAWSCDK::IResolvable, Hash{String => String} (readonly)

The configuration of the connector.



63
64
65
# File 'kafka_connect/cfn_connector_props.rb', line 63

def connector_configuration
  @connector_configuration
end

#connector_descriptionString? (readonly)

The description of the connector.



111
112
113
# File 'kafka_connect/cfn_connector_props.rb', line 111

def connector_description
  @connector_description
end

#connector_nameString (readonly)

The name of the connector.

The connector name must be unique and can include up to 128 characters. Valid characters you can include in a connector name are: a-z, A-Z, 0-9, and -.



70
71
72
# File 'kafka_connect/cfn_connector_props.rb', line 70

def connector_name
  @connector_name
end

#kafka_clusterAWSCDK::IResolvable, AWSCDK::KafkaConnect::CfnConnector::KafkaClusterProperty (readonly)

The details of the Apache Kafka cluster to which the connector is connected.



75
76
77
# File 'kafka_connect/cfn_connector_props.rb', line 75

def kafka_cluster
  @kafka_cluster
end

#kafka_cluster_client_authenticationAWSCDK::IResolvable, AWSCDK::KafkaConnect::CfnConnector::KafkaClusterClientAuthenticationProperty (readonly)

The type of client authentication used to connect to the Apache Kafka cluster.

The value is NONE when no client authentication is used.



82
83
84
# File 'kafka_connect/cfn_connector_props.rb', line 82

def kafka_cluster_client_authentication
  @kafka_cluster_client_authentication
end

#kafka_cluster_encryption_in_transitAWSCDK::IResolvable, AWSCDK::KafkaConnect::CfnConnector::KafkaClusterEncryptionInTransitProperty (readonly)

Details of encryption in transit to the Apache Kafka cluster.



87
88
89
# File 'kafka_connect/cfn_connector_props.rb', line 87

def kafka_cluster_encryption_in_transit
  @kafka_cluster_encryption_in_transit
end

#kafka_connect_versionString (readonly)

The version of Kafka Connect.

It has to be compatible with both the Apache Kafka cluster's version and the plugins.



94
95
96
# File 'kafka_connect/cfn_connector_props.rb', line 94

def kafka_connect_version
  @kafka_connect_version
end

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

The settings for delivering connector logs to Amazon CloudWatch Logs.



116
117
118
# File 'kafka_connect/cfn_connector_props.rb', line 116

def log_delivery
  @log_delivery
end

#network_typeString? (readonly)

The network type of the connector.

It gives connectors connectivity to either IPv4 (IPV4) or IPv4 and IPv6 (DUAL) destinations. Defaults to IPV4.



123
124
125
# File 'kafka_connect/cfn_connector_props.rb', line 123

def network_type
  @network_type
end

#pluginsAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::KafkaConnect::CfnConnector::PluginProperty> (readonly)

Specifies which plugin to use for the connector.

You must specify a single-element list. Amazon MSK Connect does not currently support specifying multiple plugins.



101
102
103
# File 'kafka_connect/cfn_connector_props.rb', line 101

def plugins
  @plugins
end

#service_execution_role_arnString (readonly)

The Amazon Resource Name (ARN) of the IAM role used by the connector to access Amazon Web Services resources.



106
107
108
# File 'kafka_connect/cfn_connector_props.rb', line 106

def service_execution_role_arn
  @service_execution_role_arn
end

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

A collection of tags associated with a resource.



128
129
130
# File 'kafka_connect/cfn_connector_props.rb', line 128

def tags
  @tags
end

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

The worker configurations that are in use with the connector.



133
134
135
# File 'kafka_connect/cfn_connector_props.rb', line 133

def worker_configuration
  @worker_configuration
end

Class Method Details

.jsii_propertiesObject



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'kafka_connect/cfn_connector_props.rb', line 135

def self.jsii_properties
  {
    :capacity => "capacity",
    :connector_configuration => "connectorConfiguration",
    :connector_name => "connectorName",
    :kafka_cluster => "kafkaCluster",
    :kafka_cluster_client_authentication => "kafkaClusterClientAuthentication",
    :kafka_cluster_encryption_in_transit => "kafkaClusterEncryptionInTransit",
    :kafka_connect_version => "kafkaConnectVersion",
    :plugins => "plugins",
    :service_execution_role_arn => "serviceExecutionRoleArn",
    :connector_description => "connectorDescription",
    :log_delivery => "logDelivery",
    :network_type => "networkType",
    :tags => "tags",
    :worker_configuration => "workerConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'kafka_connect/cfn_connector_props.rb', line 154

def to_jsii
  result = {}
  result.merge!({
    "capacity" => @capacity,
    "connectorConfiguration" => @connector_configuration,
    "connectorName" => @connector_name,
    "kafkaCluster" => @kafka_cluster,
    "kafkaClusterClientAuthentication" => @kafka_cluster_client_authentication,
    "kafkaClusterEncryptionInTransit" => @kafka_cluster_encryption_in_transit,
    "kafkaConnectVersion" => @kafka_connect_version,
    "plugins" => @plugins,
    "serviceExecutionRoleArn" => @service_execution_role_arn,
    "connectorDescription" => @connector_description,
    "logDelivery" => @log_delivery,
    "networkType" => @network_type,
    "tags" => @tags,
    "workerConfiguration" => @worker_configuration,
  })
  result.compact
end