/** * 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 #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pipes { namespace Model { /** *

The parameters required to set up a source for your pipe.

See * Also:

AWS * API Reference

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

The parameters for using an Active MQ broker as a source.

*/ inline const PipeSourceActiveMQBrokerParameters& GetActiveMQBrokerParameters() const{ return m_activeMQBrokerParameters; } /** *

The parameters for using an Active MQ broker as a source.

*/ inline bool ActiveMQBrokerParametersHasBeenSet() const { return m_activeMQBrokerParametersHasBeenSet; } /** *

The parameters for using an Active MQ broker as a source.

*/ inline void SetActiveMQBrokerParameters(const PipeSourceActiveMQBrokerParameters& value) { m_activeMQBrokerParametersHasBeenSet = true; m_activeMQBrokerParameters = value; } /** *

The parameters for using an Active MQ broker as a source.

*/ inline void SetActiveMQBrokerParameters(PipeSourceActiveMQBrokerParameters&& value) { m_activeMQBrokerParametersHasBeenSet = true; m_activeMQBrokerParameters = std::move(value); } /** *

The parameters for using an Active MQ broker as a source.

*/ inline PipeSourceParameters& WithActiveMQBrokerParameters(const PipeSourceActiveMQBrokerParameters& value) { SetActiveMQBrokerParameters(value); return *this;} /** *

The parameters for using an Active MQ broker as a source.

*/ inline PipeSourceParameters& WithActiveMQBrokerParameters(PipeSourceActiveMQBrokerParameters&& value) { SetActiveMQBrokerParameters(std::move(value)); return *this;} /** *

The parameters for using a DynamoDB stream as a source.

*/ inline const PipeSourceDynamoDBStreamParameters& GetDynamoDBStreamParameters() const{ return m_dynamoDBStreamParameters; } /** *

The parameters for using a DynamoDB stream as a source.

*/ inline bool DynamoDBStreamParametersHasBeenSet() const { return m_dynamoDBStreamParametersHasBeenSet; } /** *

The parameters for using a DynamoDB stream as a source.

*/ inline void SetDynamoDBStreamParameters(const PipeSourceDynamoDBStreamParameters& value) { m_dynamoDBStreamParametersHasBeenSet = true; m_dynamoDBStreamParameters = value; } /** *

The parameters for using a DynamoDB stream as a source.

*/ inline void SetDynamoDBStreamParameters(PipeSourceDynamoDBStreamParameters&& value) { m_dynamoDBStreamParametersHasBeenSet = true; m_dynamoDBStreamParameters = std::move(value); } /** *

The parameters for using a DynamoDB stream as a source.

*/ inline PipeSourceParameters& WithDynamoDBStreamParameters(const PipeSourceDynamoDBStreamParameters& value) { SetDynamoDBStreamParameters(value); return *this;} /** *

The parameters for using a DynamoDB stream as a source.

*/ inline PipeSourceParameters& WithDynamoDBStreamParameters(PipeSourceDynamoDBStreamParameters&& value) { SetDynamoDBStreamParameters(std::move(value)); return *this;} /** *

The collection of event patterns used to filter events. For more information, * see Events * and Event Patterns in the Amazon EventBridge User Guide.

*/ inline const FilterCriteria& GetFilterCriteria() const{ return m_filterCriteria; } /** *

The collection of event patterns used to filter events. For more information, * see Events * and Event Patterns in the Amazon EventBridge User Guide.

*/ inline bool FilterCriteriaHasBeenSet() const { return m_filterCriteriaHasBeenSet; } /** *

The collection of event patterns used to filter events. For more information, * see Events * and Event Patterns in the Amazon EventBridge User Guide.

*/ inline void SetFilterCriteria(const FilterCriteria& value) { m_filterCriteriaHasBeenSet = true; m_filterCriteria = value; } /** *

The collection of event patterns used to filter events. For more information, * see Events * and Event Patterns in the Amazon EventBridge User Guide.

*/ inline void SetFilterCriteria(FilterCriteria&& value) { m_filterCriteriaHasBeenSet = true; m_filterCriteria = std::move(value); } /** *

The collection of event patterns used to filter events. For more information, * see Events * and Event Patterns in the Amazon EventBridge User Guide.

*/ inline PipeSourceParameters& WithFilterCriteria(const FilterCriteria& value) { SetFilterCriteria(value); return *this;} /** *

The collection of event patterns used to filter events. For more information, * see Events * and Event Patterns in the Amazon EventBridge User Guide.

*/ inline PipeSourceParameters& WithFilterCriteria(FilterCriteria&& value) { SetFilterCriteria(std::move(value)); return *this;} /** *

The parameters for using a Kinesis stream as a source.

*/ inline const PipeSourceKinesisStreamParameters& GetKinesisStreamParameters() const{ return m_kinesisStreamParameters; } /** *

The parameters for using a Kinesis stream as a source.

*/ inline bool KinesisStreamParametersHasBeenSet() const { return m_kinesisStreamParametersHasBeenSet; } /** *

The parameters for using a Kinesis stream as a source.

*/ inline void SetKinesisStreamParameters(const PipeSourceKinesisStreamParameters& value) { m_kinesisStreamParametersHasBeenSet = true; m_kinesisStreamParameters = value; } /** *

The parameters for using a Kinesis stream as a source.

*/ inline void SetKinesisStreamParameters(PipeSourceKinesisStreamParameters&& value) { m_kinesisStreamParametersHasBeenSet = true; m_kinesisStreamParameters = std::move(value); } /** *

The parameters for using a Kinesis stream as a source.

*/ inline PipeSourceParameters& WithKinesisStreamParameters(const PipeSourceKinesisStreamParameters& value) { SetKinesisStreamParameters(value); return *this;} /** *

The parameters for using a Kinesis stream as a source.

*/ inline PipeSourceParameters& WithKinesisStreamParameters(PipeSourceKinesisStreamParameters&& value) { SetKinesisStreamParameters(std::move(value)); return *this;} /** *

The parameters for using an MSK stream as a source.

*/ inline const PipeSourceManagedStreamingKafkaParameters& GetManagedStreamingKafkaParameters() const{ return m_managedStreamingKafkaParameters; } /** *

The parameters for using an MSK stream as a source.

*/ inline bool ManagedStreamingKafkaParametersHasBeenSet() const { return m_managedStreamingKafkaParametersHasBeenSet; } /** *

The parameters for using an MSK stream as a source.

*/ inline void SetManagedStreamingKafkaParameters(const PipeSourceManagedStreamingKafkaParameters& value) { m_managedStreamingKafkaParametersHasBeenSet = true; m_managedStreamingKafkaParameters = value; } /** *

The parameters for using an MSK stream as a source.

*/ inline void SetManagedStreamingKafkaParameters(PipeSourceManagedStreamingKafkaParameters&& value) { m_managedStreamingKafkaParametersHasBeenSet = true; m_managedStreamingKafkaParameters = std::move(value); } /** *

The parameters for using an MSK stream as a source.

*/ inline PipeSourceParameters& WithManagedStreamingKafkaParameters(const PipeSourceManagedStreamingKafkaParameters& value) { SetManagedStreamingKafkaParameters(value); return *this;} /** *

The parameters for using an MSK stream as a source.

*/ inline PipeSourceParameters& WithManagedStreamingKafkaParameters(PipeSourceManagedStreamingKafkaParameters&& value) { SetManagedStreamingKafkaParameters(std::move(value)); return *this;} /** *

The parameters for using a Rabbit MQ broker as a source.

*/ inline const PipeSourceRabbitMQBrokerParameters& GetRabbitMQBrokerParameters() const{ return m_rabbitMQBrokerParameters; } /** *

The parameters for using a Rabbit MQ broker as a source.

*/ inline bool RabbitMQBrokerParametersHasBeenSet() const { return m_rabbitMQBrokerParametersHasBeenSet; } /** *

The parameters for using a Rabbit MQ broker as a source.

*/ inline void SetRabbitMQBrokerParameters(const PipeSourceRabbitMQBrokerParameters& value) { m_rabbitMQBrokerParametersHasBeenSet = true; m_rabbitMQBrokerParameters = value; } /** *

The parameters for using a Rabbit MQ broker as a source.

*/ inline void SetRabbitMQBrokerParameters(PipeSourceRabbitMQBrokerParameters&& value) { m_rabbitMQBrokerParametersHasBeenSet = true; m_rabbitMQBrokerParameters = std::move(value); } /** *

The parameters for using a Rabbit MQ broker as a source.

*/ inline PipeSourceParameters& WithRabbitMQBrokerParameters(const PipeSourceRabbitMQBrokerParameters& value) { SetRabbitMQBrokerParameters(value); return *this;} /** *

The parameters for using a Rabbit MQ broker as a source.

*/ inline PipeSourceParameters& WithRabbitMQBrokerParameters(PipeSourceRabbitMQBrokerParameters&& value) { SetRabbitMQBrokerParameters(std::move(value)); return *this;} /** *

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

*/ inline const PipeSourceSelfManagedKafkaParameters& GetSelfManagedKafkaParameters() const{ return m_selfManagedKafkaParameters; } /** *

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

*/ inline bool SelfManagedKafkaParametersHasBeenSet() const { return m_selfManagedKafkaParametersHasBeenSet; } /** *

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

*/ inline void SetSelfManagedKafkaParameters(const PipeSourceSelfManagedKafkaParameters& value) { m_selfManagedKafkaParametersHasBeenSet = true; m_selfManagedKafkaParameters = value; } /** *

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

*/ inline void SetSelfManagedKafkaParameters(PipeSourceSelfManagedKafkaParameters&& value) { m_selfManagedKafkaParametersHasBeenSet = true; m_selfManagedKafkaParameters = std::move(value); } /** *

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

*/ inline PipeSourceParameters& WithSelfManagedKafkaParameters(const PipeSourceSelfManagedKafkaParameters& value) { SetSelfManagedKafkaParameters(value); return *this;} /** *

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

*/ inline PipeSourceParameters& WithSelfManagedKafkaParameters(PipeSourceSelfManagedKafkaParameters&& value) { SetSelfManagedKafkaParameters(std::move(value)); return *this;} /** *

The parameters for using a Amazon SQS stream as a source.

*/ inline const PipeSourceSqsQueueParameters& GetSqsQueueParameters() const{ return m_sqsQueueParameters; } /** *

The parameters for using a Amazon SQS stream as a source.

*/ inline bool SqsQueueParametersHasBeenSet() const { return m_sqsQueueParametersHasBeenSet; } /** *

The parameters for using a Amazon SQS stream as a source.

*/ inline void SetSqsQueueParameters(const PipeSourceSqsQueueParameters& value) { m_sqsQueueParametersHasBeenSet = true; m_sqsQueueParameters = value; } /** *

The parameters for using a Amazon SQS stream as a source.

*/ inline void SetSqsQueueParameters(PipeSourceSqsQueueParameters&& value) { m_sqsQueueParametersHasBeenSet = true; m_sqsQueueParameters = std::move(value); } /** *

The parameters for using a Amazon SQS stream as a source.

*/ inline PipeSourceParameters& WithSqsQueueParameters(const PipeSourceSqsQueueParameters& value) { SetSqsQueueParameters(value); return *this;} /** *

The parameters for using a Amazon SQS stream as a source.

*/ inline PipeSourceParameters& WithSqsQueueParameters(PipeSourceSqsQueueParameters&& value) { SetSqsQueueParameters(std::move(value)); return *this;} private: PipeSourceActiveMQBrokerParameters m_activeMQBrokerParameters; bool m_activeMQBrokerParametersHasBeenSet = false; PipeSourceDynamoDBStreamParameters m_dynamoDBStreamParameters; bool m_dynamoDBStreamParametersHasBeenSet = false; FilterCriteria m_filterCriteria; bool m_filterCriteriaHasBeenSet = false; PipeSourceKinesisStreamParameters m_kinesisStreamParameters; bool m_kinesisStreamParametersHasBeenSet = false; PipeSourceManagedStreamingKafkaParameters m_managedStreamingKafkaParameters; bool m_managedStreamingKafkaParametersHasBeenSet = false; PipeSourceRabbitMQBrokerParameters m_rabbitMQBrokerParameters; bool m_rabbitMQBrokerParametersHasBeenSet = false; PipeSourceSelfManagedKafkaParameters m_selfManagedKafkaParameters; bool m_selfManagedKafkaParametersHasBeenSet = false; PipeSourceSqsQueueParameters m_sqsQueueParameters; bool m_sqsQueueParametersHasBeenSet = false; }; } // namespace Model } // namespace Pipes } // namespace Aws