/** * 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 EventBridge { namespace Model { /** *

Targets are the resources to be invoked when a rule is triggered. For a * complete list of services and resources that can be set as a target, see PutTargets.

*

If you are setting the event bus of another account as the target, and that * account granted permission to your account through an organization instead of * directly by the account ID, then you must specify a RoleArn with * proper permissions in the Target structure. For more information, * see Sending * and Receiving Events Between Amazon Web Services Accounts in the Amazon * EventBridge User Guide.

See Also:

AWS * API Reference

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

The ID of the target within the specified rule. Use this ID to reference the * target when updating the rule. We recommend using a memorable and unique * string.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the target within the specified rule. Use this ID to reference the * target when updating the rule. We recommend using a memorable and unique * string.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the target within the specified rule. Use this ID to reference the * target when updating the rule. We recommend using a memorable and unique * string.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the target within the specified rule. Use this ID to reference the * target when updating the rule. We recommend using a memorable and unique * string.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the target within the specified rule. Use this ID to reference the * target when updating the rule. We recommend using a memorable and unique * string.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the target within the specified rule. Use this ID to reference the * target when updating the rule. We recommend using a memorable and unique * string.

*/ inline Target& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the target within the specified rule. Use this ID to reference the * target when updating the rule. We recommend using a memorable and unique * string.

*/ inline Target& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the target within the specified rule. Use this ID to reference the * target when updating the rule. We recommend using a memorable and unique * string.

*/ inline Target& WithId(const char* value) { SetId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the target.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the target.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the target.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the target.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the target.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the target.

*/ inline Target& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the target.

*/ inline Target& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the target.

*/ inline Target& WithArn(const char* value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role to be used for this target * when the rule is triggered. If one rule triggers multiple targets, you can use a * different IAM role for each target.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the IAM role to be used for this target * when the rule is triggered. If one rule triggers multiple targets, you can use a * different IAM role for each target.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM role to be used for this target * when the rule is triggered. If one rule triggers multiple targets, you can use a * different IAM role for each target.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of the IAM role to be used for this target * when the rule is triggered. If one rule triggers multiple targets, you can use a * different IAM role for each target.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM role to be used for this target * when the rule is triggered. If one rule triggers multiple targets, you can use a * different IAM role for each target.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM role to be used for this target * when the rule is triggered. If one rule triggers multiple targets, you can use a * different IAM role for each target.

*/ inline Target& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role to be used for this target * when the rule is triggered. If one rule triggers multiple targets, you can use a * different IAM role for each target.

*/ inline Target& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role to be used for this target * when the rule is triggered. If one rule triggers multiple targets, you can use a * different IAM role for each target.

*/ inline Target& WithRoleArn(const char* value) { SetRoleArn(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& GetInput() const{ return m_input; } /** *

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 InputHasBeenSet() const { return m_inputHasBeenSet; } /** *

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 SetInput(const Aws::String& value) { m_inputHasBeenSet = true; m_input = 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 SetInput(Aws::String&& value) { m_inputHasBeenSet = true; m_input = 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 SetInput(const char* value) { m_inputHasBeenSet = true; m_input.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 Target& WithInput(const Aws::String& value) { SetInput(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 Target& WithInput(Aws::String&& value) { SetInput(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 Target& WithInput(const char* value) { SetInput(value); return *this;} /** *

The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. You may use JSON dot notation or bracket * notation. For more information about JSON paths, see JSONPath.

*/ inline const Aws::String& GetInputPath() const{ return m_inputPath; } /** *

The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. You may use JSON dot notation or bracket * notation. For more information about JSON paths, see JSONPath.

*/ inline bool InputPathHasBeenSet() const { return m_inputPathHasBeenSet; } /** *

The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. You may use JSON dot notation or bracket * notation. For more information about JSON paths, see JSONPath.

*/ inline void SetInputPath(const Aws::String& value) { m_inputPathHasBeenSet = true; m_inputPath = value; } /** *

The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. You may use JSON dot notation or bracket * notation. For more information about JSON paths, see JSONPath.

*/ inline void SetInputPath(Aws::String&& value) { m_inputPathHasBeenSet = true; m_inputPath = std::move(value); } /** *

The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. You may use JSON dot notation or bracket * notation. For more information about JSON paths, see JSONPath.

*/ inline void SetInputPath(const char* value) { m_inputPathHasBeenSet = true; m_inputPath.assign(value); } /** *

The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. You may use JSON dot notation or bracket * notation. For more information about JSON paths, see JSONPath.

*/ inline Target& WithInputPath(const Aws::String& value) { SetInputPath(value); return *this;} /** *

The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. You may use JSON dot notation or bracket * notation. For more information about JSON paths, see JSONPath.

*/ inline Target& WithInputPath(Aws::String&& value) { SetInputPath(std::move(value)); return *this;} /** *

The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. You may use JSON dot notation or bracket * notation. For more information about JSON paths, see JSONPath.

*/ inline Target& WithInputPath(const char* value) { SetInputPath(value); return *this;} /** *

Settings to enable you to provide custom input to a target based on certain * event data. You can extract one or more key-value pairs from the event and then * use that data to send customized input to the target.

*/ inline const InputTransformer& GetInputTransformer() const{ return m_inputTransformer; } /** *

Settings to enable you to provide custom input to a target based on certain * event data. You can extract one or more key-value pairs from the event and then * use that data to send customized input to the target.

*/ inline bool InputTransformerHasBeenSet() const { return m_inputTransformerHasBeenSet; } /** *

Settings to enable you to provide custom input to a target based on certain * event data. You can extract one or more key-value pairs from the event and then * use that data to send customized input to the target.

*/ inline void SetInputTransformer(const InputTransformer& value) { m_inputTransformerHasBeenSet = true; m_inputTransformer = value; } /** *

Settings to enable you to provide custom input to a target based on certain * event data. You can extract one or more key-value pairs from the event and then * use that data to send customized input to the target.

*/ inline void SetInputTransformer(InputTransformer&& value) { m_inputTransformerHasBeenSet = true; m_inputTransformer = std::move(value); } /** *

Settings to enable you to provide custom input to a target based on certain * event data. You can extract one or more key-value pairs from the event and then * use that data to send customized input to the target.

*/ inline Target& WithInputTransformer(const InputTransformer& value) { SetInputTransformer(value); return *this;} /** *

Settings to enable you to provide custom input to a target based on certain * event data. You can extract one or more key-value pairs from the event and then * use that data to send customized input to the target.

*/ inline Target& WithInputTransformer(InputTransformer&& value) { SetInputTransformer(std::move(value)); return *this;} /** *

The custom parameter you can use to control the shard assignment, when the * target is a Kinesis data stream. If you do not include this parameter, the * default is to use the eventId as the partition key.

*/ inline const KinesisParameters& GetKinesisParameters() const{ return m_kinesisParameters; } /** *

The custom parameter you can use to control the shard assignment, when the * target is a Kinesis data stream. If you do not include this parameter, the * default is to use the eventId as the partition key.

*/ inline bool KinesisParametersHasBeenSet() const { return m_kinesisParametersHasBeenSet; } /** *

The custom parameter you can use to control the shard assignment, when the * target is a Kinesis data stream. If you do not include this parameter, the * default is to use the eventId as the partition key.

*/ inline void SetKinesisParameters(const KinesisParameters& value) { m_kinesisParametersHasBeenSet = true; m_kinesisParameters = value; } /** *

The custom parameter you can use to control the shard assignment, when the * target is a Kinesis data stream. If you do not include this parameter, the * default is to use the eventId as the partition key.

*/ inline void SetKinesisParameters(KinesisParameters&& value) { m_kinesisParametersHasBeenSet = true; m_kinesisParameters = std::move(value); } /** *

The custom parameter you can use to control the shard assignment, when the * target is a Kinesis data stream. If you do not include this parameter, the * default is to use the eventId as the partition key.

*/ inline Target& WithKinesisParameters(const KinesisParameters& value) { SetKinesisParameters(value); return *this;} /** *

The custom parameter you can use to control the shard assignment, when the * target is a Kinesis data stream. If you do not include this parameter, the * default is to use the eventId as the partition key.

*/ inline Target& WithKinesisParameters(KinesisParameters&& value) { SetKinesisParameters(std::move(value)); return *this;} /** *

Parameters used when you are using the rule to invoke Amazon EC2 Run * Command.

*/ inline const RunCommandParameters& GetRunCommandParameters() const{ return m_runCommandParameters; } /** *

Parameters used when you are using the rule to invoke Amazon EC2 Run * Command.

*/ inline bool RunCommandParametersHasBeenSet() const { return m_runCommandParametersHasBeenSet; } /** *

Parameters used when you are using the rule to invoke Amazon EC2 Run * Command.

*/ inline void SetRunCommandParameters(const RunCommandParameters& value) { m_runCommandParametersHasBeenSet = true; m_runCommandParameters = value; } /** *

Parameters used when you are using the rule to invoke Amazon EC2 Run * Command.

*/ inline void SetRunCommandParameters(RunCommandParameters&& value) { m_runCommandParametersHasBeenSet = true; m_runCommandParameters = std::move(value); } /** *

Parameters used when you are using the rule to invoke Amazon EC2 Run * Command.

*/ inline Target& WithRunCommandParameters(const RunCommandParameters& value) { SetRunCommandParameters(value); return *this;} /** *

Parameters used when you are using the rule to invoke Amazon EC2 Run * Command.

*/ inline Target& WithRunCommandParameters(RunCommandParameters&& value) { SetRunCommandParameters(std::move(value)); return *this;} /** *

Contains the Amazon ECS task definition and task count to be used, if the * event target is an Amazon ECS task. For more information about Amazon ECS tasks, * see Task * Definitions in the Amazon EC2 Container Service Developer Guide.

*/ inline const EcsParameters& GetEcsParameters() const{ return m_ecsParameters; } /** *

Contains the Amazon ECS task definition and task count to be used, if the * event target is an Amazon ECS task. For more information about Amazon ECS tasks, * see Task * Definitions in the Amazon EC2 Container Service Developer Guide.

*/ inline bool EcsParametersHasBeenSet() const { return m_ecsParametersHasBeenSet; } /** *

Contains the Amazon ECS task definition and task count to be used, if the * event target is an Amazon ECS task. For more information about Amazon ECS tasks, * see Task * Definitions in the Amazon EC2 Container Service Developer Guide.

*/ inline void SetEcsParameters(const EcsParameters& value) { m_ecsParametersHasBeenSet = true; m_ecsParameters = value; } /** *

Contains the Amazon ECS task definition and task count to be used, if the * event target is an Amazon ECS task. For more information about Amazon ECS tasks, * see Task * Definitions in the Amazon EC2 Container Service Developer Guide.

*/ inline void SetEcsParameters(EcsParameters&& value) { m_ecsParametersHasBeenSet = true; m_ecsParameters = std::move(value); } /** *

Contains the Amazon ECS task definition and task count to be used, if the * event target is an Amazon ECS task. For more information about Amazon ECS tasks, * see Task * Definitions in the Amazon EC2 Container Service Developer Guide.

*/ inline Target& WithEcsParameters(const EcsParameters& value) { SetEcsParameters(value); return *this;} /** *

Contains the Amazon ECS task definition and task count to be used, if the * event target is an Amazon ECS task. For more information about Amazon ECS tasks, * see Task * Definitions in the Amazon EC2 Container Service Developer Guide.

*/ inline Target& WithEcsParameters(EcsParameters&& value) { SetEcsParameters(std::move(value)); return *this;} /** *

If the event target is an Batch job, this contains the job definition, job * name, and other parameters. For more information, see Jobs in * the Batch User Guide.

*/ inline const BatchParameters& GetBatchParameters() const{ return m_batchParameters; } /** *

If the event target is an Batch job, this contains the job definition, job * name, and other parameters. For more information, see Jobs in * the Batch User Guide.

*/ inline bool BatchParametersHasBeenSet() const { return m_batchParametersHasBeenSet; } /** *

If the event target is an Batch job, this contains the job definition, job * name, and other parameters. For more information, see Jobs in * the Batch User Guide.

*/ inline void SetBatchParameters(const BatchParameters& value) { m_batchParametersHasBeenSet = true; m_batchParameters = value; } /** *

If the event target is an Batch job, this contains the job definition, job * name, and other parameters. For more information, see Jobs in * the Batch User Guide.

*/ inline void SetBatchParameters(BatchParameters&& value) { m_batchParametersHasBeenSet = true; m_batchParameters = std::move(value); } /** *

If the event target is an Batch job, this contains the job definition, job * name, and other parameters. For more information, see Jobs in * the Batch User Guide.

*/ inline Target& WithBatchParameters(const BatchParameters& value) { SetBatchParameters(value); return *this;} /** *

If the event target is an Batch job, this contains the job definition, job * name, and other parameters. For more information, see Jobs in * the Batch User Guide.

*/ inline Target& WithBatchParameters(BatchParameters&& value) { SetBatchParameters(std::move(value)); return *this;} /** *

Contains the message group ID to use when the target is a FIFO queue.

*

If you specify an SQS FIFO queue as a target, the queue must have * content-based deduplication enabled.

*/ inline const SqsParameters& GetSqsParameters() const{ return m_sqsParameters; } /** *

Contains the message group ID to use when the target is a FIFO queue.

*

If you specify an SQS FIFO queue as a target, the queue must have * content-based deduplication enabled.

*/ inline bool SqsParametersHasBeenSet() const { return m_sqsParametersHasBeenSet; } /** *

Contains the message group ID to use when the target is a FIFO queue.

*

If you specify an SQS FIFO queue as a target, the queue must have * content-based deduplication enabled.

*/ inline void SetSqsParameters(const SqsParameters& value) { m_sqsParametersHasBeenSet = true; m_sqsParameters = value; } /** *

Contains the message group ID to use when the target is a FIFO queue.

*

If you specify an SQS FIFO queue as a target, the queue must have * content-based deduplication enabled.

*/ inline void SetSqsParameters(SqsParameters&& value) { m_sqsParametersHasBeenSet = true; m_sqsParameters = std::move(value); } /** *

Contains the message group ID to use when the target is a FIFO queue.

*

If you specify an SQS FIFO queue as a target, the queue must have * content-based deduplication enabled.

*/ inline Target& WithSqsParameters(const SqsParameters& value) { SetSqsParameters(value); return *this;} /** *

Contains the message group ID to use when the target is a FIFO queue.

*

If you specify an SQS FIFO queue as a target, the queue must have * content-based deduplication enabled.

*/ inline Target& WithSqsParameters(SqsParameters&& value) { SetSqsParameters(std::move(value)); return *this;} /** *

Contains the HTTP parameters to use when the target is a API Gateway endpoint * or EventBridge ApiDestination.

If you specify an API Gateway API or * EventBridge ApiDestination as a target, you can use this parameter to specify * headers, path parameters, and query string keys/values as part of your target * invoking request. If you're using ApiDestinations, the corresponding Connection * can also have these values configured. In case of any conflicting keys, values * from the Connection take precedence.

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

Contains the HTTP parameters to use when the target is a API Gateway endpoint * or EventBridge ApiDestination.

If you specify an API Gateway API or * EventBridge ApiDestination as a target, you can use this parameter to specify * headers, path parameters, and query string keys/values as part of your target * invoking request. If you're using ApiDestinations, the corresponding Connection * can also have these values configured. In case of any conflicting keys, values * from the Connection take precedence.

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

Contains the HTTP parameters to use when the target is a API Gateway endpoint * or EventBridge ApiDestination.

If you specify an API Gateway API or * EventBridge ApiDestination as a target, you can use this parameter to specify * headers, path parameters, and query string keys/values as part of your target * invoking request. If you're using ApiDestinations, the corresponding Connection * can also have these values configured. In case of any conflicting keys, values * from the Connection take precedence.

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

Contains the HTTP parameters to use when the target is a API Gateway endpoint * or EventBridge ApiDestination.

If you specify an API Gateway API or * EventBridge ApiDestination as a target, you can use this parameter to specify * headers, path parameters, and query string keys/values as part of your target * invoking request. If you're using ApiDestinations, the corresponding Connection * can also have these values configured. In case of any conflicting keys, values * from the Connection take precedence.

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

Contains the HTTP parameters to use when the target is a API Gateway endpoint * or EventBridge ApiDestination.

If you specify an API Gateway API or * EventBridge ApiDestination as a target, you can use this parameter to specify * headers, path parameters, and query string keys/values as part of your target * invoking request. If you're using ApiDestinations, the corresponding Connection * can also have these values configured. In case of any conflicting keys, values * from the Connection take precedence.

*/ inline Target& WithHttpParameters(const HttpParameters& value) { SetHttpParameters(value); return *this;} /** *

Contains the HTTP parameters to use when the target is a API Gateway endpoint * or EventBridge ApiDestination.

If you specify an API Gateway API or * EventBridge ApiDestination as a target, you can use this parameter to specify * headers, path parameters, and query string keys/values as part of your target * invoking request. If you're using ApiDestinations, the corresponding Connection * can also have these values configured. In case of any conflicting keys, values * from the Connection take precedence.

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

Contains the Amazon Redshift Data API parameters to use when the target is a * Amazon Redshift cluster.

If you specify a Amazon Redshift Cluster as a * Target, you can use this to specify parameters to invoke the Amazon Redshift * Data API ExecuteStatement based on EventBridge events.

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

Contains the Amazon Redshift Data API parameters to use when the target is a * Amazon Redshift cluster.

If you specify a Amazon Redshift Cluster as a * Target, you can use this to specify parameters to invoke the Amazon Redshift * Data API ExecuteStatement based on EventBridge events.

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

Contains the Amazon Redshift Data API parameters to use when the target is a * Amazon Redshift cluster.

If you specify a Amazon Redshift Cluster as a * Target, you can use this to specify parameters to invoke the Amazon Redshift * Data API ExecuteStatement based on EventBridge events.

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

Contains the Amazon Redshift Data API parameters to use when the target is a * Amazon Redshift cluster.

If you specify a Amazon Redshift Cluster as a * Target, you can use this to specify parameters to invoke the Amazon Redshift * Data API ExecuteStatement based on EventBridge events.

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

Contains the Amazon Redshift Data API parameters to use when the target is a * Amazon Redshift cluster.

If you specify a Amazon Redshift Cluster as a * Target, you can use this to specify parameters to invoke the Amazon Redshift * Data API ExecuteStatement based on EventBridge events.

*/ inline Target& WithRedshiftDataParameters(const RedshiftDataParameters& value) { SetRedshiftDataParameters(value); return *this;} /** *

Contains the Amazon Redshift Data API parameters to use when the target is a * Amazon Redshift cluster.

If you specify a Amazon Redshift Cluster as a * Target, you can use this to specify parameters to invoke the Amazon Redshift * Data API ExecuteStatement based on EventBridge events.

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

Contains the SageMaker Model Building Pipeline parameters to start execution * of a SageMaker Model Building Pipeline.

If you specify a SageMaker Model * Building Pipeline as a target, you can use this to specify parameters to start a * pipeline execution based on EventBridge events.

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

Contains the SageMaker Model Building Pipeline parameters to start execution * of a SageMaker Model Building Pipeline.

If you specify a SageMaker Model * Building Pipeline as a target, you can use this to specify parameters to start a * pipeline execution based on EventBridge events.

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

Contains the SageMaker Model Building Pipeline parameters to start execution * of a SageMaker Model Building Pipeline.

If you specify a SageMaker Model * Building Pipeline as a target, you can use this to specify parameters to start a * pipeline execution based on EventBridge events.

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

Contains the SageMaker Model Building Pipeline parameters to start execution * of a SageMaker Model Building Pipeline.

If you specify a SageMaker Model * Building Pipeline as a target, you can use this to specify parameters to start a * pipeline execution based on EventBridge events.

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

Contains the SageMaker Model Building Pipeline parameters to start execution * of a SageMaker Model Building Pipeline.

If you specify a SageMaker Model * Building Pipeline as a target, you can use this to specify parameters to start a * pipeline execution based on EventBridge events.

*/ inline Target& WithSageMakerPipelineParameters(const SageMakerPipelineParameters& value) { SetSageMakerPipelineParameters(value); return *this;} /** *

Contains the SageMaker Model Building Pipeline parameters to start execution * of a SageMaker Model Building Pipeline.

If you specify a SageMaker Model * Building Pipeline as a target, you can use this to specify parameters to start a * pipeline execution based on EventBridge events.

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

The DeadLetterConfig that defines the target queue to send * dead-letter queue events to.

*/ inline const DeadLetterConfig& GetDeadLetterConfig() const{ return m_deadLetterConfig; } /** *

The DeadLetterConfig that defines the target queue to send * dead-letter queue events to.

*/ inline bool DeadLetterConfigHasBeenSet() const { return m_deadLetterConfigHasBeenSet; } /** *

The DeadLetterConfig that defines the target queue to send * dead-letter queue events to.

*/ inline void SetDeadLetterConfig(const DeadLetterConfig& value) { m_deadLetterConfigHasBeenSet = true; m_deadLetterConfig = value; } /** *

The DeadLetterConfig that defines the target queue to send * dead-letter queue events to.

*/ inline void SetDeadLetterConfig(DeadLetterConfig&& value) { m_deadLetterConfigHasBeenSet = true; m_deadLetterConfig = std::move(value); } /** *

The DeadLetterConfig that defines the target queue to send * dead-letter queue events to.

*/ inline Target& WithDeadLetterConfig(const DeadLetterConfig& value) { SetDeadLetterConfig(value); return *this;} /** *

The DeadLetterConfig that defines the target queue to send * dead-letter queue events to.

*/ inline Target& WithDeadLetterConfig(DeadLetterConfig&& value) { SetDeadLetterConfig(std::move(value)); return *this;} /** *

The RetryPolicy object that contains the retry policy * configuration to use for the dead-letter queue.

*/ inline const RetryPolicy& GetRetryPolicy() const{ return m_retryPolicy; } /** *

The RetryPolicy object that contains the retry policy * configuration to use for the dead-letter queue.

*/ inline bool RetryPolicyHasBeenSet() const { return m_retryPolicyHasBeenSet; } /** *

The RetryPolicy object that contains the retry policy * configuration to use for the dead-letter queue.

*/ inline void SetRetryPolicy(const RetryPolicy& value) { m_retryPolicyHasBeenSet = true; m_retryPolicy = value; } /** *

The RetryPolicy object that contains the retry policy * configuration to use for the dead-letter queue.

*/ inline void SetRetryPolicy(RetryPolicy&& value) { m_retryPolicyHasBeenSet = true; m_retryPolicy = std::move(value); } /** *

The RetryPolicy object that contains the retry policy * configuration to use for the dead-letter queue.

*/ inline Target& WithRetryPolicy(const RetryPolicy& value) { SetRetryPolicy(value); return *this;} /** *

The RetryPolicy object that contains the retry policy * configuration to use for the dead-letter queue.

*/ inline Target& WithRetryPolicy(RetryPolicy&& value) { SetRetryPolicy(std::move(value)); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_input; bool m_inputHasBeenSet = false; Aws::String m_inputPath; bool m_inputPathHasBeenSet = false; InputTransformer m_inputTransformer; bool m_inputTransformerHasBeenSet = false; KinesisParameters m_kinesisParameters; bool m_kinesisParametersHasBeenSet = false; RunCommandParameters m_runCommandParameters; bool m_runCommandParametersHasBeenSet = false; EcsParameters m_ecsParameters; bool m_ecsParametersHasBeenSet = false; BatchParameters m_batchParameters; bool m_batchParametersHasBeenSet = false; SqsParameters m_sqsParameters; bool m_sqsParametersHasBeenSet = false; HttpParameters m_httpParameters; bool m_httpParametersHasBeenSet = false; RedshiftDataParameters m_redshiftDataParameters; bool m_redshiftDataParametersHasBeenSet = false; SageMakerPipelineParameters m_sageMakerPipelineParameters; bool m_sageMakerPipelineParametersHasBeenSet = false; DeadLetterConfig m_deadLetterConfig; bool m_deadLetterConfigHasBeenSet = false; RetryPolicy m_retryPolicy; bool m_retryPolicyHasBeenSet = false; }; } // namespace Model } // namespace EventBridge } // namespace Aws