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

The schedule's target. EventBridge Scheduler supports templated target that * invoke common API operations, as well as universal targets that you can * customize to invoke over 6,000 API operations across more than 270 services. You * can only specify one templated or universal target for a schedule.

See * Also:

AWS * API Reference

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

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;} /** *

An object that contains information about an Amazon SQS queue that * EventBridge Scheduler uses as a dead-letter queue for your schedule. If * specified, EventBridge Scheduler delivers failed events that could not be * successfully delivered to a target to the queue.

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

An object that contains information about an Amazon SQS queue that * EventBridge Scheduler uses as a dead-letter queue for your schedule. If * specified, EventBridge Scheduler delivers failed events that could not be * successfully delivered to a target to the queue.

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

An object that contains information about an Amazon SQS queue that * EventBridge Scheduler uses as a dead-letter queue for your schedule. If * specified, EventBridge Scheduler delivers failed events that could not be * successfully delivered to a target to the queue.

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

An object that contains information about an Amazon SQS queue that * EventBridge Scheduler uses as a dead-letter queue for your schedule. If * specified, EventBridge Scheduler delivers failed events that could not be * successfully delivered to a target to the queue.

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

An object that contains information about an Amazon SQS queue that * EventBridge Scheduler uses as a dead-letter queue for your schedule. If * specified, EventBridge Scheduler delivers failed events that could not be * successfully delivered to a target to the queue.

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

An object that contains information about an Amazon SQS queue that * EventBridge Scheduler uses as a dead-letter queue for your schedule. If * specified, EventBridge Scheduler delivers failed events that could not be * successfully delivered to a target to the queue.

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

The templated target type for the Amazon ECS * RunTask API operation.

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

The templated target type for the Amazon ECS * RunTask API operation.

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

The templated target type for the Amazon ECS * RunTask API operation.

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

The templated target type for the Amazon ECS * RunTask API operation.

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

The templated target type for the Amazon ECS * RunTask API operation.

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

The templated target type for the Amazon ECS * RunTask API operation.

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

The templated target type for the EventBridge * PutEvents API operation.

*/ inline const EventBridgeParameters& GetEventBridgeParameters() const{ return m_eventBridgeParameters; } /** *

The templated target type for the EventBridge * PutEvents API operation.

*/ inline bool EventBridgeParametersHasBeenSet() const { return m_eventBridgeParametersHasBeenSet; } /** *

The templated target type for the EventBridge * PutEvents API operation.

*/ inline void SetEventBridgeParameters(const EventBridgeParameters& value) { m_eventBridgeParametersHasBeenSet = true; m_eventBridgeParameters = value; } /** *

The templated target type for the EventBridge * PutEvents API operation.

*/ inline void SetEventBridgeParameters(EventBridgeParameters&& value) { m_eventBridgeParametersHasBeenSet = true; m_eventBridgeParameters = std::move(value); } /** *

The templated target type for the EventBridge * PutEvents API operation.

*/ inline Target& WithEventBridgeParameters(const EventBridgeParameters& value) { SetEventBridgeParameters(value); return *this;} /** *

The templated target type for the EventBridge * PutEvents API operation.

*/ inline Target& WithEventBridgeParameters(EventBridgeParameters&& value) { SetEventBridgeParameters(std::move(value)); return *this;} /** *

The text, or well-formed JSON, passed to the target. If you are configuring a * templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input * must be a well-formed JSON. For all other target types, a JSON is not required. * If you do not specify anything for this field, EventBridge Scheduler delivers a * default notification to the target.

*/ inline const Aws::String& GetInput() const{ return m_input; } /** *

The text, or well-formed JSON, passed to the target. If you are configuring a * templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input * must be a well-formed JSON. For all other target types, a JSON is not required. * If you do not specify anything for this field, EventBridge Scheduler delivers a * default notification to the target.

*/ inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } /** *

The text, or well-formed JSON, passed to the target. If you are configuring a * templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input * must be a well-formed JSON. For all other target types, a JSON is not required. * If you do not specify anything for this field, EventBridge Scheduler delivers a * default notification to the target.

*/ inline void SetInput(const Aws::String& value) { m_inputHasBeenSet = true; m_input = value; } /** *

The text, or well-formed JSON, passed to the target. If you are configuring a * templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input * must be a well-formed JSON. For all other target types, a JSON is not required. * If you do not specify anything for this field, EventBridge Scheduler delivers a * default notification to the target.

*/ inline void SetInput(Aws::String&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } /** *

The text, or well-formed JSON, passed to the target. If you are configuring a * templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input * must be a well-formed JSON. For all other target types, a JSON is not required. * If you do not specify anything for this field, EventBridge Scheduler delivers a * default notification to the target.

*/ inline void SetInput(const char* value) { m_inputHasBeenSet = true; m_input.assign(value); } /** *

The text, or well-formed JSON, passed to the target. If you are configuring a * templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input * must be a well-formed JSON. For all other target types, a JSON is not required. * If you do not specify anything for this field, EventBridge Scheduler delivers a * default notification to the target.

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

The text, or well-formed JSON, passed to the target. If you are configuring a * templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input * must be a well-formed JSON. For all other target types, a JSON is not required. * If you do not specify anything for this field, EventBridge Scheduler delivers a * default notification to the target.

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

The text, or well-formed JSON, passed to the target. If you are configuring a * templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input * must be a well-formed JSON. For all other target types, a JSON is not required. * If you do not specify anything for this field, EventBridge Scheduler delivers a * default notification to the target.

*/ inline Target& WithInput(const char* value) { SetInput(value); return *this;} /** *

The templated target type for the Amazon Kinesis PutRecord * API operation.

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

The templated target type for the Amazon Kinesis PutRecord * API operation.

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

The templated target type for the Amazon Kinesis PutRecord * API operation.

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

The templated target type for the Amazon Kinesis PutRecord * API operation.

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

The templated target type for the Amazon Kinesis PutRecord * API operation.

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

The templated target type for the Amazon Kinesis PutRecord * API operation.

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

A RetryPolicy object that includes information about the retry * policy settings, including the maximum age of an event, and the maximum number * of times EventBridge Scheduler will try to deliver the event to a target.

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

A RetryPolicy object that includes information about the retry * policy settings, including the maximum age of an event, and the maximum number * of times EventBridge Scheduler will try to deliver the event to a target.

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

A RetryPolicy object that includes information about the retry * policy settings, including the maximum age of an event, and the maximum number * of times EventBridge Scheduler will try to deliver the event to a target.

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

A RetryPolicy object that includes information about the retry * policy settings, including the maximum age of an event, and the maximum number * of times EventBridge Scheduler will try to deliver the event to a target.

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

A RetryPolicy object that includes information about the retry * policy settings, including the maximum age of an event, and the maximum number * of times EventBridge Scheduler will try to deliver the event to a target.

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

A RetryPolicy object that includes information about the retry * policy settings, including the maximum age of an event, and the maximum number * of times EventBridge Scheduler will try to deliver the event to a target.

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

The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler * will use for this target when the schedule is invoked.

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

The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler * will use for this target when the schedule is invoked.

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

The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler * will use for this target when the schedule is invoked.

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

The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler * will use for this target when the schedule is invoked.

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

The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler * will use for this target when the schedule is invoked.

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

The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler * will use for this target when the schedule is invoked.

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

The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler * will use for this target when the schedule is invoked.

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

The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler * will use for this target when the schedule is invoked.

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

The templated target type for the Amazon SageMaker * StartPipelineExecution API operation.

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

The templated target type for the Amazon SageMaker * StartPipelineExecution API operation.

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

The templated target type for the Amazon SageMaker * StartPipelineExecution API operation.

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

The templated target type for the Amazon SageMaker * StartPipelineExecution API operation.

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

The templated target type for the Amazon SageMaker * StartPipelineExecution API operation.

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

The templated target type for the Amazon SageMaker * StartPipelineExecution API operation.

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

The templated target type for the Amazon SQS * SendMessage API operation. Contains the message group ID to * use when the target is a FIFO queue. If you specify an Amazon SQS FIFO queue as * a target, the queue must have content-based deduplication enabled. For more * information, see Using * the Amazon SQS message deduplication ID in the Amazon SQS Developer * Guide.

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

The templated target type for the Amazon SQS * SendMessage API operation. Contains the message group ID to * use when the target is a FIFO queue. If you specify an Amazon SQS FIFO queue as * a target, the queue must have content-based deduplication enabled. For more * information, see Using * the Amazon SQS message deduplication ID in the Amazon SQS Developer * Guide.

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

The templated target type for the Amazon SQS * SendMessage API operation. Contains the message group ID to * use when the target is a FIFO queue. If you specify an Amazon SQS FIFO queue as * a target, the queue must have content-based deduplication enabled. For more * information, see Using * the Amazon SQS message deduplication ID in the Amazon SQS Developer * Guide.

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

The templated target type for the Amazon SQS * SendMessage API operation. Contains the message group ID to * use when the target is a FIFO queue. If you specify an Amazon SQS FIFO queue as * a target, the queue must have content-based deduplication enabled. For more * information, see Using * the Amazon SQS message deduplication ID in the Amazon SQS Developer * Guide.

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

The templated target type for the Amazon SQS * SendMessage API operation. Contains the message group ID to * use when the target is a FIFO queue. If you specify an Amazon SQS FIFO queue as * a target, the queue must have content-based deduplication enabled. For more * information, see Using * the Amazon SQS message deduplication ID in the Amazon SQS Developer * Guide.

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

The templated target type for the Amazon SQS * SendMessage API operation. Contains the message group ID to * use when the target is a FIFO queue. If you specify an Amazon SQS FIFO queue as * a target, the queue must have content-based deduplication enabled. For more * information, see Using * the Amazon SQS message deduplication ID in the Amazon SQS Developer * Guide.

*/ inline Target& WithSqsParameters(SqsParameters&& value) { SetSqsParameters(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; DeadLetterConfig m_deadLetterConfig; bool m_deadLetterConfigHasBeenSet = false; EcsParameters m_ecsParameters; bool m_ecsParametersHasBeenSet = false; EventBridgeParameters m_eventBridgeParameters; bool m_eventBridgeParametersHasBeenSet = false; Aws::String m_input; bool m_inputHasBeenSet = false; KinesisParameters m_kinesisParameters; bool m_kinesisParametersHasBeenSet = false; RetryPolicy m_retryPolicy; bool m_retryPolicyHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; SageMakerPipelineParameters m_sageMakerPipelineParameters; bool m_sageMakerPipelineParametersHasBeenSet = false; SqsParameters m_sqsParameters; bool m_sqsParametersHasBeenSet = false; }; } // namespace Model } // namespace Scheduler } // namespace Aws