/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pipes { namespace Model { /** *

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

See Also:

AWS * API Reference

*/ class PipeSourceSelfManagedKafkaParameters { public: AWS_PIPES_API PipeSourceSelfManagedKafkaParameters(); AWS_PIPES_API PipeSourceSelfManagedKafkaParameters(Aws::Utils::Json::JsonView jsonValue); AWS_PIPES_API PipeSourceSelfManagedKafkaParameters& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PIPES_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

An array of server URLs.

*/ inline const Aws::Vector& GetAdditionalBootstrapServers() const{ return m_additionalBootstrapServers; } /** *

An array of server URLs.

*/ inline bool AdditionalBootstrapServersHasBeenSet() const { return m_additionalBootstrapServersHasBeenSet; } /** *

An array of server URLs.

*/ inline void SetAdditionalBootstrapServers(const Aws::Vector& value) { m_additionalBootstrapServersHasBeenSet = true; m_additionalBootstrapServers = value; } /** *

An array of server URLs.

*/ inline void SetAdditionalBootstrapServers(Aws::Vector&& value) { m_additionalBootstrapServersHasBeenSet = true; m_additionalBootstrapServers = std::move(value); } /** *

An array of server URLs.

*/ inline PipeSourceSelfManagedKafkaParameters& WithAdditionalBootstrapServers(const Aws::Vector& value) { SetAdditionalBootstrapServers(value); return *this;} /** *

An array of server URLs.

*/ inline PipeSourceSelfManagedKafkaParameters& WithAdditionalBootstrapServers(Aws::Vector&& value) { SetAdditionalBootstrapServers(std::move(value)); return *this;} /** *

An array of server URLs.

*/ inline PipeSourceSelfManagedKafkaParameters& AddAdditionalBootstrapServers(const Aws::String& value) { m_additionalBootstrapServersHasBeenSet = true; m_additionalBootstrapServers.push_back(value); return *this; } /** *

An array of server URLs.

*/ inline PipeSourceSelfManagedKafkaParameters& AddAdditionalBootstrapServers(Aws::String&& value) { m_additionalBootstrapServersHasBeenSet = true; m_additionalBootstrapServers.push_back(std::move(value)); return *this; } /** *

An array of server URLs.

*/ inline PipeSourceSelfManagedKafkaParameters& AddAdditionalBootstrapServers(const char* value) { m_additionalBootstrapServersHasBeenSet = true; m_additionalBootstrapServers.push_back(value); return *this; } /** *

The maximum number of records to include in each batch.

*/ inline int GetBatchSize() const{ return m_batchSize; } /** *

The maximum number of records to include in each batch.

*/ inline bool BatchSizeHasBeenSet() const { return m_batchSizeHasBeenSet; } /** *

The maximum number of records to include in each batch.

*/ inline void SetBatchSize(int value) { m_batchSizeHasBeenSet = true; m_batchSize = value; } /** *

The maximum number of records to include in each batch.

*/ inline PipeSourceSelfManagedKafkaParameters& WithBatchSize(int value) { SetBatchSize(value); return *this;} /** *

The name of the destination queue to consume.

*/ inline const Aws::String& GetConsumerGroupID() const{ return m_consumerGroupID; } /** *

The name of the destination queue to consume.

*/ inline bool ConsumerGroupIDHasBeenSet() const { return m_consumerGroupIDHasBeenSet; } /** *

The name of the destination queue to consume.

*/ inline void SetConsumerGroupID(const Aws::String& value) { m_consumerGroupIDHasBeenSet = true; m_consumerGroupID = value; } /** *

The name of the destination queue to consume.

*/ inline void SetConsumerGroupID(Aws::String&& value) { m_consumerGroupIDHasBeenSet = true; m_consumerGroupID = std::move(value); } /** *

The name of the destination queue to consume.

*/ inline void SetConsumerGroupID(const char* value) { m_consumerGroupIDHasBeenSet = true; m_consumerGroupID.assign(value); } /** *

The name of the destination queue to consume.

*/ inline PipeSourceSelfManagedKafkaParameters& WithConsumerGroupID(const Aws::String& value) { SetConsumerGroupID(value); return *this;} /** *

The name of the destination queue to consume.

*/ inline PipeSourceSelfManagedKafkaParameters& WithConsumerGroupID(Aws::String&& value) { SetConsumerGroupID(std::move(value)); return *this;} /** *

The name of the destination queue to consume.

*/ inline PipeSourceSelfManagedKafkaParameters& WithConsumerGroupID(const char* value) { SetConsumerGroupID(value); return *this;} /** *

The credentials needed to access the resource.

*/ inline const SelfManagedKafkaAccessConfigurationCredentials& GetCredentials() const{ return m_credentials; } /** *

The credentials needed to access the resource.

*/ inline bool CredentialsHasBeenSet() const { return m_credentialsHasBeenSet; } /** *

The credentials needed to access the resource.

*/ inline void SetCredentials(const SelfManagedKafkaAccessConfigurationCredentials& value) { m_credentialsHasBeenSet = true; m_credentials = value; } /** *

The credentials needed to access the resource.

*/ inline void SetCredentials(SelfManagedKafkaAccessConfigurationCredentials&& value) { m_credentialsHasBeenSet = true; m_credentials = std::move(value); } /** *

The credentials needed to access the resource.

*/ inline PipeSourceSelfManagedKafkaParameters& WithCredentials(const SelfManagedKafkaAccessConfigurationCredentials& value) { SetCredentials(value); return *this;} /** *

The credentials needed to access the resource.

*/ inline PipeSourceSelfManagedKafkaParameters& WithCredentials(SelfManagedKafkaAccessConfigurationCredentials&& value) { SetCredentials(std::move(value)); return *this;} /** *

The maximum length of a time to wait for events.

*/ inline int GetMaximumBatchingWindowInSeconds() const{ return m_maximumBatchingWindowInSeconds; } /** *

The maximum length of a time to wait for events.

*/ inline bool MaximumBatchingWindowInSecondsHasBeenSet() const { return m_maximumBatchingWindowInSecondsHasBeenSet; } /** *

The maximum length of a time to wait for events.

*/ inline void SetMaximumBatchingWindowInSeconds(int value) { m_maximumBatchingWindowInSecondsHasBeenSet = true; m_maximumBatchingWindowInSeconds = value; } /** *

The maximum length of a time to wait for events.

*/ inline PipeSourceSelfManagedKafkaParameters& WithMaximumBatchingWindowInSeconds(int value) { SetMaximumBatchingWindowInSeconds(value); return *this;} /** *

The ARN of the Secrets Manager secret used for certification.

*/ inline const Aws::String& GetServerRootCaCertificate() const{ return m_serverRootCaCertificate; } /** *

The ARN of the Secrets Manager secret used for certification.

*/ inline bool ServerRootCaCertificateHasBeenSet() const { return m_serverRootCaCertificateHasBeenSet; } /** *

The ARN of the Secrets Manager secret used for certification.

*/ inline void SetServerRootCaCertificate(const Aws::String& value) { m_serverRootCaCertificateHasBeenSet = true; m_serverRootCaCertificate = value; } /** *

The ARN of the Secrets Manager secret used for certification.

*/ inline void SetServerRootCaCertificate(Aws::String&& value) { m_serverRootCaCertificateHasBeenSet = true; m_serverRootCaCertificate = std::move(value); } /** *

The ARN of the Secrets Manager secret used for certification.

*/ inline void SetServerRootCaCertificate(const char* value) { m_serverRootCaCertificateHasBeenSet = true; m_serverRootCaCertificate.assign(value); } /** *

The ARN of the Secrets Manager secret used for certification.

*/ inline PipeSourceSelfManagedKafkaParameters& WithServerRootCaCertificate(const Aws::String& value) { SetServerRootCaCertificate(value); return *this;} /** *

The ARN of the Secrets Manager secret used for certification.

*/ inline PipeSourceSelfManagedKafkaParameters& WithServerRootCaCertificate(Aws::String&& value) { SetServerRootCaCertificate(std::move(value)); return *this;} /** *

The ARN of the Secrets Manager secret used for certification.

*/ inline PipeSourceSelfManagedKafkaParameters& WithServerRootCaCertificate(const char* value) { SetServerRootCaCertificate(value); return *this;} /** *

(Streams only) The position in a stream from which to start reading.

*/ inline const SelfManagedKafkaStartPosition& GetStartingPosition() const{ return m_startingPosition; } /** *

(Streams only) The position in a stream from which to start reading.

*/ inline bool StartingPositionHasBeenSet() const { return m_startingPositionHasBeenSet; } /** *

(Streams only) The position in a stream from which to start reading.

*/ inline void SetStartingPosition(const SelfManagedKafkaStartPosition& value) { m_startingPositionHasBeenSet = true; m_startingPosition = value; } /** *

(Streams only) The position in a stream from which to start reading.

*/ inline void SetStartingPosition(SelfManagedKafkaStartPosition&& value) { m_startingPositionHasBeenSet = true; m_startingPosition = std::move(value); } /** *

(Streams only) The position in a stream from which to start reading.

*/ inline PipeSourceSelfManagedKafkaParameters& WithStartingPosition(const SelfManagedKafkaStartPosition& value) { SetStartingPosition(value); return *this;} /** *

(Streams only) The position in a stream from which to start reading.

*/ inline PipeSourceSelfManagedKafkaParameters& WithStartingPosition(SelfManagedKafkaStartPosition&& value) { SetStartingPosition(std::move(value)); return *this;} /** *

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

*/ inline const Aws::String& GetTopicName() const{ return m_topicName; } /** *

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

*/ inline bool TopicNameHasBeenSet() const { return m_topicNameHasBeenSet; } /** *

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

*/ inline void SetTopicName(const Aws::String& value) { m_topicNameHasBeenSet = true; m_topicName = value; } /** *

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

*/ inline void SetTopicName(Aws::String&& value) { m_topicNameHasBeenSet = true; m_topicName = std::move(value); } /** *

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

*/ inline void SetTopicName(const char* value) { m_topicNameHasBeenSet = true; m_topicName.assign(value); } /** *

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

*/ inline PipeSourceSelfManagedKafkaParameters& WithTopicName(const Aws::String& value) { SetTopicName(value); return *this;} /** *

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

*/ inline PipeSourceSelfManagedKafkaParameters& WithTopicName(Aws::String&& value) { SetTopicName(std::move(value)); return *this;} /** *

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

*/ inline PipeSourceSelfManagedKafkaParameters& WithTopicName(const char* value) { SetTopicName(value); return *this;} /** *

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

*/ inline const SelfManagedKafkaAccessConfigurationVpc& GetVpc() const{ return m_vpc; } /** *

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

*/ inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; } /** *

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

*/ inline void SetVpc(const SelfManagedKafkaAccessConfigurationVpc& value) { m_vpcHasBeenSet = true; m_vpc = value; } /** *

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

*/ inline void SetVpc(SelfManagedKafkaAccessConfigurationVpc&& value) { m_vpcHasBeenSet = true; m_vpc = std::move(value); } /** *

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

*/ inline PipeSourceSelfManagedKafkaParameters& WithVpc(const SelfManagedKafkaAccessConfigurationVpc& value) { SetVpc(value); return *this;} /** *

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

*/ inline PipeSourceSelfManagedKafkaParameters& WithVpc(SelfManagedKafkaAccessConfigurationVpc&& value) { SetVpc(std::move(value)); return *this;} private: Aws::Vector m_additionalBootstrapServers; bool m_additionalBootstrapServersHasBeenSet = false; int m_batchSize; bool m_batchSizeHasBeenSet = false; Aws::String m_consumerGroupID; bool m_consumerGroupIDHasBeenSet = false; SelfManagedKafkaAccessConfigurationCredentials m_credentials; bool m_credentialsHasBeenSet = false; int m_maximumBatchingWindowInSeconds; bool m_maximumBatchingWindowInSecondsHasBeenSet = false; Aws::String m_serverRootCaCertificate; bool m_serverRootCaCertificateHasBeenSet = false; SelfManagedKafkaStartPosition m_startingPosition; bool m_startingPositionHasBeenSet = false; Aws::String m_topicName; bool m_topicNameHasBeenSet = false; SelfManagedKafkaAccessConfigurationVpc m_vpc; bool m_vpcHasBeenSet = false; }; } // namespace Model } // namespace Pipes } // namespace Aws