/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace Scheduler { namespace Model { class GetScheduleResult { public: AWS_SCHEDULER_API GetScheduleResult(); AWS_SCHEDULER_API GetScheduleResult(const Aws::AmazonWebServiceResult& result); AWS_SCHEDULER_API GetScheduleResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The Amazon Resource Name (ARN) of the schedule.

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

The Amazon Resource Name (ARN) of the schedule.

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

The Amazon Resource Name (ARN) of the schedule.

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

The Amazon Resource Name (ARN) of the schedule.

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

The Amazon Resource Name (ARN) of the schedule.

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

The Amazon Resource Name (ARN) of the schedule.

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

The Amazon Resource Name (ARN) of the schedule.

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

The time at which the schedule was created.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The time at which the schedule was created.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDate = value; } /** *

The time at which the schedule was created.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDate = std::move(value); } /** *

The time at which the schedule was created.

*/ inline GetScheduleResult& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The time at which the schedule was created.

*/ inline GetScheduleResult& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

The description of the schedule.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the schedule.

*/ inline void SetDescription(const Aws::String& value) { m_description = value; } /** *

The description of the schedule.

*/ inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } /** *

The description of the schedule.

*/ inline void SetDescription(const char* value) { m_description.assign(value); } /** *

The description of the schedule.

*/ inline GetScheduleResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the schedule.

*/ inline GetScheduleResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the schedule.

*/ inline GetScheduleResult& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The date, in UTC, before which the schedule can invoke its target. Depending * on the schedule's recurrence expression, invocations might stop on, or before, * the EndDate you specify. EventBridge Scheduler ignores * EndDate for one-time schedules.

*/ inline const Aws::Utils::DateTime& GetEndDate() const{ return m_endDate; } /** *

The date, in UTC, before which the schedule can invoke its target. Depending * on the schedule's recurrence expression, invocations might stop on, or before, * the EndDate you specify. EventBridge Scheduler ignores * EndDate for one-time schedules.

*/ inline void SetEndDate(const Aws::Utils::DateTime& value) { m_endDate = value; } /** *

The date, in UTC, before which the schedule can invoke its target. Depending * on the schedule's recurrence expression, invocations might stop on, or before, * the EndDate you specify. EventBridge Scheduler ignores * EndDate for one-time schedules.

*/ inline void SetEndDate(Aws::Utils::DateTime&& value) { m_endDate = std::move(value); } /** *

The date, in UTC, before which the schedule can invoke its target. Depending * on the schedule's recurrence expression, invocations might stop on, or before, * the EndDate you specify. EventBridge Scheduler ignores * EndDate for one-time schedules.

*/ inline GetScheduleResult& WithEndDate(const Aws::Utils::DateTime& value) { SetEndDate(value); return *this;} /** *

The date, in UTC, before which the schedule can invoke its target. Depending * on the schedule's recurrence expression, invocations might stop on, or before, * the EndDate you specify. EventBridge Scheduler ignores * EndDate for one-time schedules.

*/ inline GetScheduleResult& WithEndDate(Aws::Utils::DateTime&& value) { SetEndDate(std::move(value)); return *this;} /** *

Allows you to configure a time window during which EventBridge Scheduler * invokes the schedule.

*/ inline const FlexibleTimeWindow& GetFlexibleTimeWindow() const{ return m_flexibleTimeWindow; } /** *

Allows you to configure a time window during which EventBridge Scheduler * invokes the schedule.

*/ inline void SetFlexibleTimeWindow(const FlexibleTimeWindow& value) { m_flexibleTimeWindow = value; } /** *

Allows you to configure a time window during which EventBridge Scheduler * invokes the schedule.

*/ inline void SetFlexibleTimeWindow(FlexibleTimeWindow&& value) { m_flexibleTimeWindow = std::move(value); } /** *

Allows you to configure a time window during which EventBridge Scheduler * invokes the schedule.

*/ inline GetScheduleResult& WithFlexibleTimeWindow(const FlexibleTimeWindow& value) { SetFlexibleTimeWindow(value); return *this;} /** *

Allows you to configure a time window during which EventBridge Scheduler * invokes the schedule.

*/ inline GetScheduleResult& WithFlexibleTimeWindow(FlexibleTimeWindow&& value) { SetFlexibleTimeWindow(std::move(value)); return *this;} /** *

The name of the schedule group associated with this schedule.

*/ inline const Aws::String& GetGroupName() const{ return m_groupName; } /** *

The name of the schedule group associated with this schedule.

*/ inline void SetGroupName(const Aws::String& value) { m_groupName = value; } /** *

The name of the schedule group associated with this schedule.

*/ inline void SetGroupName(Aws::String&& value) { m_groupName = std::move(value); } /** *

The name of the schedule group associated with this schedule.

*/ inline void SetGroupName(const char* value) { m_groupName.assign(value); } /** *

The name of the schedule group associated with this schedule.

*/ inline GetScheduleResult& WithGroupName(const Aws::String& value) { SetGroupName(value); return *this;} /** *

The name of the schedule group associated with this schedule.

*/ inline GetScheduleResult& WithGroupName(Aws::String&& value) { SetGroupName(std::move(value)); return *this;} /** *

The name of the schedule group associated with this schedule.

*/ inline GetScheduleResult& WithGroupName(const char* value) { SetGroupName(value); return *this;} /** *

The ARN for a customer managed KMS Key that is be used to encrypt and decrypt * your data.

*/ inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } /** *

The ARN for a customer managed KMS Key that is be used to encrypt and decrypt * your data.

*/ inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArn = value; } /** *

The ARN for a customer managed KMS Key that is be used to encrypt and decrypt * your data.

*/ inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArn = std::move(value); } /** *

The ARN for a customer managed KMS Key that is be used to encrypt and decrypt * your data.

*/ inline void SetKmsKeyArn(const char* value) { m_kmsKeyArn.assign(value); } /** *

The ARN for a customer managed KMS Key that is be used to encrypt and decrypt * your data.

*/ inline GetScheduleResult& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} /** *

The ARN for a customer managed KMS Key that is be used to encrypt and decrypt * your data.

*/ inline GetScheduleResult& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} /** *

The ARN for a customer managed KMS Key that is be used to encrypt and decrypt * your data.

*/ inline GetScheduleResult& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} /** *

The time at which the schedule was last modified.

*/ inline const Aws::Utils::DateTime& GetLastModificationDate() const{ return m_lastModificationDate; } /** *

The time at which the schedule was last modified.

*/ inline void SetLastModificationDate(const Aws::Utils::DateTime& value) { m_lastModificationDate = value; } /** *

The time at which the schedule was last modified.

*/ inline void SetLastModificationDate(Aws::Utils::DateTime&& value) { m_lastModificationDate = std::move(value); } /** *

The time at which the schedule was last modified.

*/ inline GetScheduleResult& WithLastModificationDate(const Aws::Utils::DateTime& value) { SetLastModificationDate(value); return *this;} /** *

The time at which the schedule was last modified.

*/ inline GetScheduleResult& WithLastModificationDate(Aws::Utils::DateTime&& value) { SetLastModificationDate(std::move(value)); return *this;} /** *

The name of the schedule.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the schedule.

*/ inline void SetName(const Aws::String& value) { m_name = value; } /** *

The name of the schedule.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

The name of the schedule.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The name of the schedule.

*/ inline GetScheduleResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the schedule.

*/ inline GetScheduleResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the schedule.

*/ inline GetScheduleResult& WithName(const char* value) { SetName(value); return *this;} /** *

The expression that defines when the schedule runs. The following formats * are supported.

  • at expression - * at(yyyy-mm-ddThh:mm:ss)

  • rate * expression - rate(unit value)

  • cron * expression - cron(fields)

You can use * at expressions to create one-time schedules that invoke a target * once, at the time and in the time zone, that you specify. You can use * rate and cron expressions to create recurring * schedules. Rate-based schedules are useful when you want to invoke a target at * regular intervals, such as every 15 minutes or every five days. Cron-based * schedules are useful when you want to invoke a target periodically at a specific * time, such as at 8:00 am (UTC+0) every 1st day of the month.

A * cron expression consists of six fields separated by white spaces: * (minutes hours day_of_month month day_of_week year).

A * rate expression consists of a value as a positive integer, * and a unit with the following options: minute | * minutes | hour | hours | day * | days

For more information and examples, see Schedule * types on EventBridge Scheduler in the EventBridge Scheduler User * Guide.

*/ inline const Aws::String& GetScheduleExpression() const{ return m_scheduleExpression; } /** *

The expression that defines when the schedule runs. The following formats * are supported.

  • at expression - * at(yyyy-mm-ddThh:mm:ss)

  • rate * expression - rate(unit value)

  • cron * expression - cron(fields)

You can use * at expressions to create one-time schedules that invoke a target * once, at the time and in the time zone, that you specify. You can use * rate and cron expressions to create recurring * schedules. Rate-based schedules are useful when you want to invoke a target at * regular intervals, such as every 15 minutes or every five days. Cron-based * schedules are useful when you want to invoke a target periodically at a specific * time, such as at 8:00 am (UTC+0) every 1st day of the month.

A * cron expression consists of six fields separated by white spaces: * (minutes hours day_of_month month day_of_week year).

A * rate expression consists of a value as a positive integer, * and a unit with the following options: minute | * minutes | hour | hours | day * | days

For more information and examples, see Schedule * types on EventBridge Scheduler in the EventBridge Scheduler User * Guide.

*/ inline void SetScheduleExpression(const Aws::String& value) { m_scheduleExpression = value; } /** *

The expression that defines when the schedule runs. The following formats * are supported.

  • at expression - * at(yyyy-mm-ddThh:mm:ss)

  • rate * expression - rate(unit value)

  • cron * expression - cron(fields)

You can use * at expressions to create one-time schedules that invoke a target * once, at the time and in the time zone, that you specify. You can use * rate and cron expressions to create recurring * schedules. Rate-based schedules are useful when you want to invoke a target at * regular intervals, such as every 15 minutes or every five days. Cron-based * schedules are useful when you want to invoke a target periodically at a specific * time, such as at 8:00 am (UTC+0) every 1st day of the month.

A * cron expression consists of six fields separated by white spaces: * (minutes hours day_of_month month day_of_week year).

A * rate expression consists of a value as a positive integer, * and a unit with the following options: minute | * minutes | hour | hours | day * | days

For more information and examples, see Schedule * types on EventBridge Scheduler in the EventBridge Scheduler User * Guide.

*/ inline void SetScheduleExpression(Aws::String&& value) { m_scheduleExpression = std::move(value); } /** *

The expression that defines when the schedule runs. The following formats * are supported.

  • at expression - * at(yyyy-mm-ddThh:mm:ss)

  • rate * expression - rate(unit value)

  • cron * expression - cron(fields)

You can use * at expressions to create one-time schedules that invoke a target * once, at the time and in the time zone, that you specify. You can use * rate and cron expressions to create recurring * schedules. Rate-based schedules are useful when you want to invoke a target at * regular intervals, such as every 15 minutes or every five days. Cron-based * schedules are useful when you want to invoke a target periodically at a specific * time, such as at 8:00 am (UTC+0) every 1st day of the month.

A * cron expression consists of six fields separated by white spaces: * (minutes hours day_of_month month day_of_week year).

A * rate expression consists of a value as a positive integer, * and a unit with the following options: minute | * minutes | hour | hours | day * | days

For more information and examples, see Schedule * types on EventBridge Scheduler in the EventBridge Scheduler User * Guide.

*/ inline void SetScheduleExpression(const char* value) { m_scheduleExpression.assign(value); } /** *

The expression that defines when the schedule runs. The following formats * are supported.

  • at expression - * at(yyyy-mm-ddThh:mm:ss)

  • rate * expression - rate(unit value)

  • cron * expression - cron(fields)

You can use * at expressions to create one-time schedules that invoke a target * once, at the time and in the time zone, that you specify. You can use * rate and cron expressions to create recurring * schedules. Rate-based schedules are useful when you want to invoke a target at * regular intervals, such as every 15 minutes or every five days. Cron-based * schedules are useful when you want to invoke a target periodically at a specific * time, such as at 8:00 am (UTC+0) every 1st day of the month.

A * cron expression consists of six fields separated by white spaces: * (minutes hours day_of_month month day_of_week year).

A * rate expression consists of a value as a positive integer, * and a unit with the following options: minute | * minutes | hour | hours | day * | days

For more information and examples, see Schedule * types on EventBridge Scheduler in the EventBridge Scheduler User * Guide.

*/ inline GetScheduleResult& WithScheduleExpression(const Aws::String& value) { SetScheduleExpression(value); return *this;} /** *

The expression that defines when the schedule runs. The following formats * are supported.

  • at expression - * at(yyyy-mm-ddThh:mm:ss)

  • rate * expression - rate(unit value)

  • cron * expression - cron(fields)

You can use * at expressions to create one-time schedules that invoke a target * once, at the time and in the time zone, that you specify. You can use * rate and cron expressions to create recurring * schedules. Rate-based schedules are useful when you want to invoke a target at * regular intervals, such as every 15 minutes or every five days. Cron-based * schedules are useful when you want to invoke a target periodically at a specific * time, such as at 8:00 am (UTC+0) every 1st day of the month.

A * cron expression consists of six fields separated by white spaces: * (minutes hours day_of_month month day_of_week year).

A * rate expression consists of a value as a positive integer, * and a unit with the following options: minute | * minutes | hour | hours | day * | days

For more information and examples, see Schedule * types on EventBridge Scheduler in the EventBridge Scheduler User * Guide.

*/ inline GetScheduleResult& WithScheduleExpression(Aws::String&& value) { SetScheduleExpression(std::move(value)); return *this;} /** *

The expression that defines when the schedule runs. The following formats * are supported.

  • at expression - * at(yyyy-mm-ddThh:mm:ss)

  • rate * expression - rate(unit value)

  • cron * expression - cron(fields)

You can use * at expressions to create one-time schedules that invoke a target * once, at the time and in the time zone, that you specify. You can use * rate and cron expressions to create recurring * schedules. Rate-based schedules are useful when you want to invoke a target at * regular intervals, such as every 15 minutes or every five days. Cron-based * schedules are useful when you want to invoke a target periodically at a specific * time, such as at 8:00 am (UTC+0) every 1st day of the month.

A * cron expression consists of six fields separated by white spaces: * (minutes hours day_of_month month day_of_week year).

A * rate expression consists of a value as a positive integer, * and a unit with the following options: minute | * minutes | hour | hours | day * | days

For more information and examples, see Schedule * types on EventBridge Scheduler in the EventBridge Scheduler User * Guide.

*/ inline GetScheduleResult& WithScheduleExpression(const char* value) { SetScheduleExpression(value); return *this;} /** *

The timezone in which the scheduling expression is evaluated.

*/ inline const Aws::String& GetScheduleExpressionTimezone() const{ return m_scheduleExpressionTimezone; } /** *

The timezone in which the scheduling expression is evaluated.

*/ inline void SetScheduleExpressionTimezone(const Aws::String& value) { m_scheduleExpressionTimezone = value; } /** *

The timezone in which the scheduling expression is evaluated.

*/ inline void SetScheduleExpressionTimezone(Aws::String&& value) { m_scheduleExpressionTimezone = std::move(value); } /** *

The timezone in which the scheduling expression is evaluated.

*/ inline void SetScheduleExpressionTimezone(const char* value) { m_scheduleExpressionTimezone.assign(value); } /** *

The timezone in which the scheduling expression is evaluated.

*/ inline GetScheduleResult& WithScheduleExpressionTimezone(const Aws::String& value) { SetScheduleExpressionTimezone(value); return *this;} /** *

The timezone in which the scheduling expression is evaluated.

*/ inline GetScheduleResult& WithScheduleExpressionTimezone(Aws::String&& value) { SetScheduleExpressionTimezone(std::move(value)); return *this;} /** *

The timezone in which the scheduling expression is evaluated.

*/ inline GetScheduleResult& WithScheduleExpressionTimezone(const char* value) { SetScheduleExpressionTimezone(value); return *this;} /** *

The date, in UTC, after which the schedule can begin invoking its target. * Depending on the schedule's recurrence expression, invocations might occur on, * or after, the StartDate you specify. EventBridge Scheduler ignores * StartDate for one-time schedules.

*/ inline const Aws::Utils::DateTime& GetStartDate() const{ return m_startDate; } /** *

The date, in UTC, after which the schedule can begin invoking its target. * Depending on the schedule's recurrence expression, invocations might occur on, * or after, the StartDate you specify. EventBridge Scheduler ignores * StartDate for one-time schedules.

*/ inline void SetStartDate(const Aws::Utils::DateTime& value) { m_startDate = value; } /** *

The date, in UTC, after which the schedule can begin invoking its target. * Depending on the schedule's recurrence expression, invocations might occur on, * or after, the StartDate you specify. EventBridge Scheduler ignores * StartDate for one-time schedules.

*/ inline void SetStartDate(Aws::Utils::DateTime&& value) { m_startDate = std::move(value); } /** *

The date, in UTC, after which the schedule can begin invoking its target. * Depending on the schedule's recurrence expression, invocations might occur on, * or after, the StartDate you specify. EventBridge Scheduler ignores * StartDate for one-time schedules.

*/ inline GetScheduleResult& WithStartDate(const Aws::Utils::DateTime& value) { SetStartDate(value); return *this;} /** *

The date, in UTC, after which the schedule can begin invoking its target. * Depending on the schedule's recurrence expression, invocations might occur on, * or after, the StartDate you specify. EventBridge Scheduler ignores * StartDate for one-time schedules.

*/ inline GetScheduleResult& WithStartDate(Aws::Utils::DateTime&& value) { SetStartDate(std::move(value)); return *this;} /** *

Specifies whether the schedule is enabled or disabled.

*/ inline const ScheduleState& GetState() const{ return m_state; } /** *

Specifies whether the schedule is enabled or disabled.

*/ inline void SetState(const ScheduleState& value) { m_state = value; } /** *

Specifies whether the schedule is enabled or disabled.

*/ inline void SetState(ScheduleState&& value) { m_state = std::move(value); } /** *

Specifies whether the schedule is enabled or disabled.

*/ inline GetScheduleResult& WithState(const ScheduleState& value) { SetState(value); return *this;} /** *

Specifies whether the schedule is enabled or disabled.

*/ inline GetScheduleResult& WithState(ScheduleState&& value) { SetState(std::move(value)); return *this;} /** *

The schedule target.

*/ inline const Target& GetTarget() const{ return m_target; } /** *

The schedule target.

*/ inline void SetTarget(const Target& value) { m_target = value; } /** *

The schedule target.

*/ inline void SetTarget(Target&& value) { m_target = std::move(value); } /** *

The schedule target.

*/ inline GetScheduleResult& WithTarget(const Target& value) { SetTarget(value); return *this;} /** *

The schedule target.

*/ inline GetScheduleResult& WithTarget(Target&& value) { SetTarget(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetScheduleResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetScheduleResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetScheduleResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_arn; Aws::Utils::DateTime m_creationDate; Aws::String m_description; Aws::Utils::DateTime m_endDate; FlexibleTimeWindow m_flexibleTimeWindow; Aws::String m_groupName; Aws::String m_kmsKeyArn; Aws::Utils::DateTime m_lastModificationDate; Aws::String m_name; Aws::String m_scheduleExpression; Aws::String m_scheduleExpressionTimezone; Aws::Utils::DateTime m_startDate; ScheduleState m_state; Target m_target; Aws::String m_requestId; }; } // namespace Model } // namespace Scheduler } // namespace Aws