Class: AWSCDK::Pipes::CfnPipe::PipeSourceSelfManagedKafkaParametersProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
pipes/cfn_pipe.rb

Overview

The parameters for using a self-managed Apache Kafka stream as a source.

A self managed cluster refers to any Apache Kafka cluster not hosted by AWS . This includes both clusters you manage yourself, as well as those hosted by a third-party provider, such as Confluent Cloud , CloudKarafka , or Redpanda . For more information, see Apache Kafka streams as a source in the Amazon EventBridge User Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(topic_name:, additional_bootstrap_servers: nil, batch_size: nil, consumer_group_id: nil, credentials: nil, maximum_batching_window_in_seconds: nil, server_root_ca_certificate: nil, starting_position: nil, vpc: nil) ⇒ PipeSourceSelfManagedKafkaParametersProperty

Returns a new instance of PipeSourceSelfManagedKafkaParametersProperty.

Parameters:

  • topic_name (String)

    The name of the topic that the pipe will read from.

  • additional_bootstrap_servers (Array<String>, nil) (defaults to: nil)

    An array of server URLs.

  • batch_size (Numeric, nil) (defaults to: nil)

    The maximum number of records to include in each batch.

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

    The name of the destination queue to consume.

  • credentials (AWSCDK::IResolvable, AWSCDK::Pipes::CfnPipe::SelfManagedKafkaAccessConfigurationCredentialsProperty, nil) (defaults to: nil)

    The credentials needed to access the resource.

  • maximum_batching_window_in_seconds (Numeric, nil) (defaults to: nil)

    The maximum length of a time to wait for events.

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

    The ARN of the Secrets Manager secret used for certification.

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

    The position in a stream from which to start reading.

  • vpc (AWSCDK::IResolvable, AWSCDK::Pipes::CfnPipe::SelfManagedKafkaAccessConfigurationVPCProperty, nil) (defaults to: nil)

    This structure specifies the VPC subnets and security groups for the stream, and whether a public IP address is to be used.



2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
# File 'pipes/cfn_pipe.rb', line 2816

def initialize(topic_name:, additional_bootstrap_servers: nil, batch_size: nil, consumer_group_id: nil, credentials: nil, maximum_batching_window_in_seconds: nil, server_root_ca_certificate: nil, starting_position: nil, vpc: nil)
  @topic_name = topic_name
  Jsii::Type.check_type(@topic_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "topicName")
  @additional_bootstrap_servers = additional_bootstrap_servers
  Jsii::Type.check_type(@additional_bootstrap_servers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "additionalBootstrapServers") unless @additional_bootstrap_servers.nil?
  @batch_size = batch_size
  Jsii::Type.check_type(@batch_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "batchSize") unless @batch_size.nil?
  @consumer_group_id = consumer_group_id
  Jsii::Type.check_type(@consumer_group_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "consumerGroupId") unless @consumer_group_id.nil?
  @credentials = credentials.is_a?(Hash) ? ::AWSCDK::Pipes::CfnPipe::SelfManagedKafkaAccessConfigurationCredentialsProperty.new(**credentials.transform_keys(&:to_sym)) : credentials
  Jsii::Type.check_type(@credentials, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19waXBlcy5DZm5QaXBlLlNlbGZNYW5hZ2VkS2Fma2FBY2Nlc3NDb25maWd1cmF0aW9uQ3JlZGVudGlhbHNQcm9wZXJ0eSJ9XX19")), "credentials") unless @credentials.nil?
  @maximum_batching_window_in_seconds = maximum_batching_window_in_seconds
  Jsii::Type.check_type(@maximum_batching_window_in_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumBatchingWindowInSeconds") unless @maximum_batching_window_in_seconds.nil?
  @server_root_ca_certificate = server_root_ca_certificate
  Jsii::Type.check_type(@server_root_ca_certificate, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serverRootCaCertificate") unless @server_root_ca_certificate.nil?
  @starting_position = starting_position
  Jsii::Type.check_type(@starting_position, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "startingPosition") unless @starting_position.nil?
  @vpc = vpc.is_a?(Hash) ? ::AWSCDK::Pipes::CfnPipe::SelfManagedKafkaAccessConfigurationVPCProperty.new(**vpc.transform_keys(&:to_sym)) : vpc
  Jsii::Type.check_type(@vpc, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19waXBlcy5DZm5QaXBlLlNlbGZNYW5hZ2VkS2Fma2FBY2Nlc3NDb25maWd1cmF0aW9uVnBjUHJvcGVydHkifV19fQ==")), "vpc") unless @vpc.nil?
end

Instance Attribute Details

#additional_bootstrap_serversArray<String>? (readonly)

An array of server URLs.



2846
2847
2848
# File 'pipes/cfn_pipe.rb', line 2846

def additional_bootstrap_servers
  @additional_bootstrap_servers
end

#batch_sizeNumeric? (readonly)

The maximum number of records to include in each batch.



2851
2852
2853
# File 'pipes/cfn_pipe.rb', line 2851

def batch_size
  @batch_size
end

#consumer_group_idString? (readonly)

The name of the destination queue to consume.



2856
2857
2858
# File 'pipes/cfn_pipe.rb', line 2856

def consumer_group_id
  @consumer_group_id
end

#maximum_batching_window_in_secondsNumeric? (readonly)

The maximum length of a time to wait for events.



2866
2867
2868
# File 'pipes/cfn_pipe.rb', line 2866

def maximum_batching_window_in_seconds
  @maximum_batching_window_in_seconds
end

#server_root_ca_certificateString? (readonly)

The ARN of the Secrets Manager secret used for certification.



2871
2872
2873
# File 'pipes/cfn_pipe.rb', line 2871

def server_root_ca_certificate
  @server_root_ca_certificate
end

#starting_positionString? (readonly)

The position in a stream from which to start reading.



2876
2877
2878
# File 'pipes/cfn_pipe.rb', line 2876

def starting_position
  @starting_position
end

#topic_nameString (readonly)

The name of the topic that the pipe will read from.



2841
2842
2843
# File 'pipes/cfn_pipe.rb', line 2841

def topic_name
  @topic_name
end

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

This structure specifies the VPC subnets and security groups for the stream, and whether a public IP address is to be used.



2881
2882
2883
# File 'pipes/cfn_pipe.rb', line 2881

def vpc
  @vpc
end

Class Method Details

.jsii_propertiesObject



2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
# File 'pipes/cfn_pipe.rb', line 2883

def self.jsii_properties
  {
    :topic_name => "topicName",
    :additional_bootstrap_servers => "additionalBootstrapServers",
    :batch_size => "batchSize",
    :consumer_group_id => "consumerGroupId",
    :credentials => "credentials",
    :maximum_batching_window_in_seconds => "maximumBatchingWindowInSeconds",
    :server_root_ca_certificate => "serverRootCaCertificate",
    :starting_position => "startingPosition",
    :vpc => "vpc",
  }
end

Instance Method Details

#to_jsiiObject



2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
# File 'pipes/cfn_pipe.rb', line 2897

def to_jsii
  result = {}
  result.merge!({
    "topicName" => @topic_name,
    "additionalBootstrapServers" => @additional_bootstrap_servers,
    "batchSize" => @batch_size,
    "consumerGroupId" => @consumer_group_id,
    "credentials" => @credentials,
    "maximumBatchingWindowInSeconds" => @maximum_batching_window_in_seconds,
    "serverRootCaCertificate" => @server_root_ca_certificate,
    "startingPosition" => @starting_position,
    "vpc" => @vpc,
  })
  result.compact
end