/** * 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 #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 target for your pipe.

See * Also:

AWS * API Reference

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

The parameters for using an Batch job as a target.

*/ inline const PipeTargetBatchJobParameters& GetBatchJobParameters() const{ return m_batchJobParameters; } /** *

The parameters for using an Batch job as a target.

*/ inline bool BatchJobParametersHasBeenSet() const { return m_batchJobParametersHasBeenSet; } /** *

The parameters for using an Batch job as a target.

*/ inline void SetBatchJobParameters(const PipeTargetBatchJobParameters& value) { m_batchJobParametersHasBeenSet = true; m_batchJobParameters = value; } /** *

The parameters for using an Batch job as a target.

*/ inline void SetBatchJobParameters(PipeTargetBatchJobParameters&& value) { m_batchJobParametersHasBeenSet = true; m_batchJobParameters = std::move(value); } /** *

The parameters for using an Batch job as a target.

*/ inline PipeTargetParameters& WithBatchJobParameters(const PipeTargetBatchJobParameters& value) { SetBatchJobParameters(value); return *this;} /** *

The parameters for using an Batch job as a target.

*/ inline PipeTargetParameters& WithBatchJobParameters(PipeTargetBatchJobParameters&& value) { SetBatchJobParameters(std::move(value)); return *this;} /** *

The parameters for using an CloudWatch Logs log stream as a target.

*/ inline const PipeTargetCloudWatchLogsParameters& GetCloudWatchLogsParameters() const{ return m_cloudWatchLogsParameters; } /** *

The parameters for using an CloudWatch Logs log stream as a target.

*/ inline bool CloudWatchLogsParametersHasBeenSet() const { return m_cloudWatchLogsParametersHasBeenSet; } /** *

The parameters for using an CloudWatch Logs log stream as a target.

*/ inline void SetCloudWatchLogsParameters(const PipeTargetCloudWatchLogsParameters& value) { m_cloudWatchLogsParametersHasBeenSet = true; m_cloudWatchLogsParameters = value; } /** *

The parameters for using an CloudWatch Logs log stream as a target.

*/ inline void SetCloudWatchLogsParameters(PipeTargetCloudWatchLogsParameters&& value) { m_cloudWatchLogsParametersHasBeenSet = true; m_cloudWatchLogsParameters = std::move(value); } /** *

The parameters for using an CloudWatch Logs log stream as a target.

*/ inline PipeTargetParameters& WithCloudWatchLogsParameters(const PipeTargetCloudWatchLogsParameters& value) { SetCloudWatchLogsParameters(value); return *this;} /** *

The parameters for using an CloudWatch Logs log stream as a target.

*/ inline PipeTargetParameters& WithCloudWatchLogsParameters(PipeTargetCloudWatchLogsParameters&& value) { SetCloudWatchLogsParameters(std::move(value)); return *this;} /** *

The parameters for using an Amazon ECS task as a target.

*/ inline const PipeTargetEcsTaskParameters& GetEcsTaskParameters() const{ return m_ecsTaskParameters; } /** *

The parameters for using an Amazon ECS task as a target.

*/ inline bool EcsTaskParametersHasBeenSet() const { return m_ecsTaskParametersHasBeenSet; } /** *

The parameters for using an Amazon ECS task as a target.

*/ inline void SetEcsTaskParameters(const PipeTargetEcsTaskParameters& value) { m_ecsTaskParametersHasBeenSet = true; m_ecsTaskParameters = value; } /** *

The parameters for using an Amazon ECS task as a target.

*/ inline void SetEcsTaskParameters(PipeTargetEcsTaskParameters&& value) { m_ecsTaskParametersHasBeenSet = true; m_ecsTaskParameters = std::move(value); } /** *

The parameters for using an Amazon ECS task as a target.

*/ inline PipeTargetParameters& WithEcsTaskParameters(const PipeTargetEcsTaskParameters& value) { SetEcsTaskParameters(value); return *this;} /** *

The parameters for using an Amazon ECS task as a target.

*/ inline PipeTargetParameters& WithEcsTaskParameters(PipeTargetEcsTaskParameters&& value) { SetEcsTaskParameters(std::move(value)); return *this;} /** *

The parameters for using an EventBridge event bus as a target.

*/ inline const PipeTargetEventBridgeEventBusParameters& GetEventBridgeEventBusParameters() const{ return m_eventBridgeEventBusParameters; } /** *

The parameters for using an EventBridge event bus as a target.

*/ inline bool EventBridgeEventBusParametersHasBeenSet() const { return m_eventBridgeEventBusParametersHasBeenSet; } /** *

The parameters for using an EventBridge event bus as a target.

*/ inline void SetEventBridgeEventBusParameters(const PipeTargetEventBridgeEventBusParameters& value) { m_eventBridgeEventBusParametersHasBeenSet = true; m_eventBridgeEventBusParameters = value; } /** *

The parameters for using an EventBridge event bus as a target.

*/ inline void SetEventBridgeEventBusParameters(PipeTargetEventBridgeEventBusParameters&& value) { m_eventBridgeEventBusParametersHasBeenSet = true; m_eventBridgeEventBusParameters = std::move(value); } /** *

The parameters for using an EventBridge event bus as a target.

*/ inline PipeTargetParameters& WithEventBridgeEventBusParameters(const PipeTargetEventBridgeEventBusParameters& value) { SetEventBridgeEventBusParameters(value); return *this;} /** *

The parameters for using an EventBridge event bus as a target.

*/ inline PipeTargetParameters& WithEventBridgeEventBusParameters(PipeTargetEventBridgeEventBusParameters&& value) { SetEventBridgeEventBusParameters(std::move(value)); return *this;} /** *

These are custom parameter to be used when the target is an API Gateway REST * APIs or EventBridge ApiDestinations.

*/ inline const PipeTargetHttpParameters& GetHttpParameters() const{ return m_httpParameters; } /** *

These are custom parameter to be used when the target is an API Gateway REST * APIs or EventBridge ApiDestinations.

*/ inline bool HttpParametersHasBeenSet() const { return m_httpParametersHasBeenSet; } /** *

These are custom parameter to be used when the target is an API Gateway REST * APIs or EventBridge ApiDestinations.

*/ inline void SetHttpParameters(const PipeTargetHttpParameters& value) { m_httpParametersHasBeenSet = true; m_httpParameters = value; } /** *

These are custom parameter to be used when the target is an API Gateway REST * APIs or EventBridge ApiDestinations.

*/ inline void SetHttpParameters(PipeTargetHttpParameters&& value) { m_httpParametersHasBeenSet = true; m_httpParameters = std::move(value); } /** *

These are custom parameter to be used when the target is an API Gateway REST * APIs or EventBridge ApiDestinations.

*/ inline PipeTargetParameters& WithHttpParameters(const PipeTargetHttpParameters& value) { SetHttpParameters(value); return *this;} /** *

These are custom parameter to be used when the target is an API Gateway REST * APIs or EventBridge ApiDestinations.

*/ inline PipeTargetParameters& WithHttpParameters(PipeTargetHttpParameters&& value) { SetHttpParameters(std::move(value)); return *this;} /** *

Valid JSON text passed to the target. In this case, nothing from the event * itself is passed to the target. For more information, see The JavaScript Object Notation * (JSON) Data Interchange Format.

*/ inline const Aws::String& GetInputTemplate() const{ return m_inputTemplate; } /** *

Valid JSON text passed to the target. In this case, nothing from the event * itself is passed to the target. For more information, see The JavaScript Object Notation * (JSON) Data Interchange Format.

*/ inline bool InputTemplateHasBeenSet() const { return m_inputTemplateHasBeenSet; } /** *

Valid JSON text passed to the target. In this case, nothing from the event * itself is passed to the target. For more information, see The JavaScript Object Notation * (JSON) Data Interchange Format.

*/ inline void SetInputTemplate(const Aws::String& value) { m_inputTemplateHasBeenSet = true; m_inputTemplate = value; } /** *

Valid JSON text passed to the target. In this case, nothing from the event * itself is passed to the target. For more information, see The JavaScript Object Notation * (JSON) Data Interchange Format.

*/ inline void SetInputTemplate(Aws::String&& value) { m_inputTemplateHasBeenSet = true; m_inputTemplate = std::move(value); } /** *

Valid JSON text passed to the target. In this case, nothing from the event * itself is passed to the target. For more information, see The JavaScript Object Notation * (JSON) Data Interchange Format.

*/ inline void SetInputTemplate(const char* value) { m_inputTemplateHasBeenSet = true; m_inputTemplate.assign(value); } /** *

Valid JSON text passed to the target. In this case, nothing from the event * itself is passed to the target. For more information, see The JavaScript Object Notation * (JSON) Data Interchange Format.

*/ inline PipeTargetParameters& WithInputTemplate(const Aws::String& value) { SetInputTemplate(value); return *this;} /** *

Valid JSON text passed to the target. In this case, nothing from the event * itself is passed to the target. For more information, see The JavaScript Object Notation * (JSON) Data Interchange Format.

*/ inline PipeTargetParameters& WithInputTemplate(Aws::String&& value) { SetInputTemplate(std::move(value)); return *this;} /** *

Valid JSON text passed to the target. In this case, nothing from the event * itself is passed to the target. For more information, see The JavaScript Object Notation * (JSON) Data Interchange Format.

*/ inline PipeTargetParameters& WithInputTemplate(const char* value) { SetInputTemplate(value); return *this;} /** *

The parameters for using a Kinesis stream as a source.

*/ inline const PipeTargetKinesisStreamParameters& 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 PipeTargetKinesisStreamParameters& value) { m_kinesisStreamParametersHasBeenSet = true; m_kinesisStreamParameters = value; } /** *

The parameters for using a Kinesis stream as a source.

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

The parameters for using a Kinesis stream as a source.

*/ inline PipeTargetParameters& WithKinesisStreamParameters(const PipeTargetKinesisStreamParameters& value) { SetKinesisStreamParameters(value); return *this;} /** *

The parameters for using a Kinesis stream as a source.

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

The parameters for using a Lambda function as a target.

*/ inline const PipeTargetLambdaFunctionParameters& GetLambdaFunctionParameters() const{ return m_lambdaFunctionParameters; } /** *

The parameters for using a Lambda function as a target.

*/ inline bool LambdaFunctionParametersHasBeenSet() const { return m_lambdaFunctionParametersHasBeenSet; } /** *

The parameters for using a Lambda function as a target.

*/ inline void SetLambdaFunctionParameters(const PipeTargetLambdaFunctionParameters& value) { m_lambdaFunctionParametersHasBeenSet = true; m_lambdaFunctionParameters = value; } /** *

The parameters for using a Lambda function as a target.

*/ inline void SetLambdaFunctionParameters(PipeTargetLambdaFunctionParameters&& value) { m_lambdaFunctionParametersHasBeenSet = true; m_lambdaFunctionParameters = std::move(value); } /** *

The parameters for using a Lambda function as a target.

*/ inline PipeTargetParameters& WithLambdaFunctionParameters(const PipeTargetLambdaFunctionParameters& value) { SetLambdaFunctionParameters(value); return *this;} /** *

The parameters for using a Lambda function as a target.

*/ inline PipeTargetParameters& WithLambdaFunctionParameters(PipeTargetLambdaFunctionParameters&& value) { SetLambdaFunctionParameters(std::move(value)); return *this;} /** *

These are custom parameters to be used when the target is a Amazon Redshift * cluster to invoke the Amazon Redshift Data API ExecuteStatement.

*/ inline const PipeTargetRedshiftDataParameters& GetRedshiftDataParameters() const{ return m_redshiftDataParameters; } /** *

These are custom parameters to be used when the target is a Amazon Redshift * cluster to invoke the Amazon Redshift Data API ExecuteStatement.

*/ inline bool RedshiftDataParametersHasBeenSet() const { return m_redshiftDataParametersHasBeenSet; } /** *

These are custom parameters to be used when the target is a Amazon Redshift * cluster to invoke the Amazon Redshift Data API ExecuteStatement.

*/ inline void SetRedshiftDataParameters(const PipeTargetRedshiftDataParameters& value) { m_redshiftDataParametersHasBeenSet = true; m_redshiftDataParameters = value; } /** *

These are custom parameters to be used when the target is a Amazon Redshift * cluster to invoke the Amazon Redshift Data API ExecuteStatement.

*/ inline void SetRedshiftDataParameters(PipeTargetRedshiftDataParameters&& value) { m_redshiftDataParametersHasBeenSet = true; m_redshiftDataParameters = std::move(value); } /** *

These are custom parameters to be used when the target is a Amazon Redshift * cluster to invoke the Amazon Redshift Data API ExecuteStatement.

*/ inline PipeTargetParameters& WithRedshiftDataParameters(const PipeTargetRedshiftDataParameters& value) { SetRedshiftDataParameters(value); return *this;} /** *

These are custom parameters to be used when the target is a Amazon Redshift * cluster to invoke the Amazon Redshift Data API ExecuteStatement.

*/ inline PipeTargetParameters& WithRedshiftDataParameters(PipeTargetRedshiftDataParameters&& value) { SetRedshiftDataParameters(std::move(value)); return *this;} /** *

The parameters for using a SageMaker pipeline as a target.

*/ inline const PipeTargetSageMakerPipelineParameters& GetSageMakerPipelineParameters() const{ return m_sageMakerPipelineParameters; } /** *

The parameters for using a SageMaker pipeline as a target.

*/ inline bool SageMakerPipelineParametersHasBeenSet() const { return m_sageMakerPipelineParametersHasBeenSet; } /** *

The parameters for using a SageMaker pipeline as a target.

*/ inline void SetSageMakerPipelineParameters(const PipeTargetSageMakerPipelineParameters& value) { m_sageMakerPipelineParametersHasBeenSet = true; m_sageMakerPipelineParameters = value; } /** *

The parameters for using a SageMaker pipeline as a target.

*/ inline void SetSageMakerPipelineParameters(PipeTargetSageMakerPipelineParameters&& value) { m_sageMakerPipelineParametersHasBeenSet = true; m_sageMakerPipelineParameters = std::move(value); } /** *

The parameters for using a SageMaker pipeline as a target.

*/ inline PipeTargetParameters& WithSageMakerPipelineParameters(const PipeTargetSageMakerPipelineParameters& value) { SetSageMakerPipelineParameters(value); return *this;} /** *

The parameters for using a SageMaker pipeline as a target.

*/ inline PipeTargetParameters& WithSageMakerPipelineParameters(PipeTargetSageMakerPipelineParameters&& value) { SetSageMakerPipelineParameters(std::move(value)); return *this;} /** *

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

*/ inline const PipeTargetSqsQueueParameters& 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 PipeTargetSqsQueueParameters& value) { m_sqsQueueParametersHasBeenSet = true; m_sqsQueueParameters = value; } /** *

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

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

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

*/ inline PipeTargetParameters& WithSqsQueueParameters(const PipeTargetSqsQueueParameters& value) { SetSqsQueueParameters(value); return *this;} /** *

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

*/ inline PipeTargetParameters& WithSqsQueueParameters(PipeTargetSqsQueueParameters&& value) { SetSqsQueueParameters(std::move(value)); return *this;} /** *

The parameters for using a Step Functions state machine as a target.

*/ inline const PipeTargetStateMachineParameters& GetStepFunctionStateMachineParameters() const{ return m_stepFunctionStateMachineParameters; } /** *

The parameters for using a Step Functions state machine as a target.

*/ inline bool StepFunctionStateMachineParametersHasBeenSet() const { return m_stepFunctionStateMachineParametersHasBeenSet; } /** *

The parameters for using a Step Functions state machine as a target.

*/ inline void SetStepFunctionStateMachineParameters(const PipeTargetStateMachineParameters& value) { m_stepFunctionStateMachineParametersHasBeenSet = true; m_stepFunctionStateMachineParameters = value; } /** *

The parameters for using a Step Functions state machine as a target.

*/ inline void SetStepFunctionStateMachineParameters(PipeTargetStateMachineParameters&& value) { m_stepFunctionStateMachineParametersHasBeenSet = true; m_stepFunctionStateMachineParameters = std::move(value); } /** *

The parameters for using a Step Functions state machine as a target.

*/ inline PipeTargetParameters& WithStepFunctionStateMachineParameters(const PipeTargetStateMachineParameters& value) { SetStepFunctionStateMachineParameters(value); return *this;} /** *

The parameters for using a Step Functions state machine as a target.

*/ inline PipeTargetParameters& WithStepFunctionStateMachineParameters(PipeTargetStateMachineParameters&& value) { SetStepFunctionStateMachineParameters(std::move(value)); return *this;} private: PipeTargetBatchJobParameters m_batchJobParameters; bool m_batchJobParametersHasBeenSet = false; PipeTargetCloudWatchLogsParameters m_cloudWatchLogsParameters; bool m_cloudWatchLogsParametersHasBeenSet = false; PipeTargetEcsTaskParameters m_ecsTaskParameters; bool m_ecsTaskParametersHasBeenSet = false; PipeTargetEventBridgeEventBusParameters m_eventBridgeEventBusParameters; bool m_eventBridgeEventBusParametersHasBeenSet = false; PipeTargetHttpParameters m_httpParameters; bool m_httpParametersHasBeenSet = false; Aws::String m_inputTemplate; bool m_inputTemplateHasBeenSet = false; PipeTargetKinesisStreamParameters m_kinesisStreamParameters; bool m_kinesisStreamParametersHasBeenSet = false; PipeTargetLambdaFunctionParameters m_lambdaFunctionParameters; bool m_lambdaFunctionParametersHasBeenSet = false; PipeTargetRedshiftDataParameters m_redshiftDataParameters; bool m_redshiftDataParametersHasBeenSet = false; PipeTargetSageMakerPipelineParameters m_sageMakerPipelineParameters; bool m_sageMakerPipelineParametersHasBeenSet = false; PipeTargetSqsQueueParameters m_sqsQueueParameters; bool m_sqsQueueParametersHasBeenSet = false; PipeTargetStateMachineParameters m_stepFunctionStateMachineParameters; bool m_stepFunctionStateMachineParametersHasBeenSet = false; }; } // namespace Model } // namespace Pipes } // namespace Aws