/** * 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 namespace Aws { namespace Scheduler { namespace Model { /** */ class UpdateScheduleRequest : public SchedulerRequest { public: AWS_SCHEDULER_API UpdateScheduleRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateSchedule"; } AWS_SCHEDULER_API Aws::String SerializePayload() const override; /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. If you do not specify a client token, EventBridge Scheduler uses a * randomly generated token for the request to ensure idempotency.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. If you do not specify a client token, EventBridge Scheduler uses a * randomly generated token for the request to ensure idempotency.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. If you do not specify a client token, EventBridge Scheduler uses a * randomly generated token for the request to ensure idempotency.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. If you do not specify a client token, EventBridge Scheduler uses a * randomly generated token for the request to ensure idempotency.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. If you do not specify a client token, EventBridge Scheduler uses a * randomly generated token for the request to ensure idempotency.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. If you do not specify a client token, EventBridge Scheduler uses a * randomly generated token for the request to ensure idempotency.

*/ inline UpdateScheduleRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. If you do not specify a client token, EventBridge Scheduler uses a * randomly generated token for the request to ensure idempotency.

*/ inline UpdateScheduleRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

Unique, case-sensitive identifier you provide to ensure the idempotency of * the request. If you do not specify a client token, EventBridge Scheduler uses a * randomly generated token for the request to ensure idempotency.

*/ inline UpdateScheduleRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The description you specify for the schedule.

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

The description you specify for the schedule.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description you specify for the schedule.

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

The description you specify for the schedule.

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

The description you specify for the schedule.

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

The description you specify for the schedule.

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

The description you specify for the schedule.

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

The description you specify for the schedule.

*/ inline UpdateScheduleRequest& 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 bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; } /** *

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_endDateHasBeenSet = true; 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_endDateHasBeenSet = true; 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 UpdateScheduleRequest& 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 UpdateScheduleRequest& 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 bool FlexibleTimeWindowHasBeenSet() const { return m_flexibleTimeWindowHasBeenSet; } /** *

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

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

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

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

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

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

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

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

The name of the schedule group with which the schedule is associated. You * must provide this value in order for EventBridge Scheduler to find the schedule * you want to update. If you omit this value, EventBridge Scheduler assumes the * group is associated to the default group.

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

The name of the schedule group with which the schedule is associated. You * must provide this value in order for EventBridge Scheduler to find the schedule * you want to update. If you omit this value, EventBridge Scheduler assumes the * group is associated to the default group.

*/ inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; } /** *

The name of the schedule group with which the schedule is associated. You * must provide this value in order for EventBridge Scheduler to find the schedule * you want to update. If you omit this value, EventBridge Scheduler assumes the * group is associated to the default group.

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

The name of the schedule group with which the schedule is associated. You * must provide this value in order for EventBridge Scheduler to find the schedule * you want to update. If you omit this value, EventBridge Scheduler assumes the * group is associated to the default group.

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

The name of the schedule group with which the schedule is associated. You * must provide this value in order for EventBridge Scheduler to find the schedule * you want to update. If you omit this value, EventBridge Scheduler assumes the * group is associated to the default group.

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

The name of the schedule group with which the schedule is associated. You * must provide this value in order for EventBridge Scheduler to find the schedule * you want to update. If you omit this value, EventBridge Scheduler assumes the * group is associated to the default group.

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

The name of the schedule group with which the schedule is associated. You * must provide this value in order for EventBridge Scheduler to find the schedule * you want to update. If you omit this value, EventBridge Scheduler assumes the * group is associated to the default group.

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

The name of the schedule group with which the schedule is associated. You * must provide this value in order for EventBridge Scheduler to find the schedule * you want to update. If you omit this value, EventBridge Scheduler assumes the * group is associated to the default group.

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

The ARN for the customer managed KMS key that that you want EventBridge * Scheduler to use to encrypt and decrypt your data.

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

The ARN for the customer managed KMS key that that you want EventBridge * Scheduler to use to encrypt and decrypt your data.

*/ inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; } /** *

The ARN for the customer managed KMS key that that you want EventBridge * Scheduler to use to encrypt and decrypt your data.

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

The ARN for the customer managed KMS key that that you want EventBridge * Scheduler to use to encrypt and decrypt your data.

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

The ARN for the customer managed KMS key that that you want EventBridge * Scheduler to use to encrypt and decrypt your data.

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

The ARN for the customer managed KMS key that that you want EventBridge * Scheduler to use to encrypt and decrypt your data.

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

The ARN for the customer managed KMS key that that you want EventBridge * Scheduler to use to encrypt and decrypt your data.

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

The ARN for the customer managed KMS key that that you want EventBridge * Scheduler to use to encrypt and decrypt your data.

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

The name of the schedule that you are updating.

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

The name of the schedule that you are updating.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the schedule that you are updating.

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

The name of the schedule that you are updating.

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

The name of the schedule that you are updating.

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

The name of the schedule that you are updating.

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

The name of the schedule that you are updating.

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

The name of the schedule that you are updating.

*/ inline UpdateScheduleRequest& 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 bool ScheduleExpressionHasBeenSet() const { return m_scheduleExpressionHasBeenSet; } /** *

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_scheduleExpressionHasBeenSet = true; 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_scheduleExpressionHasBeenSet = true; 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_scheduleExpressionHasBeenSet = true; 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 UpdateScheduleRequest& 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 UpdateScheduleRequest& 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 UpdateScheduleRequest& 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 bool ScheduleExpressionTimezoneHasBeenSet() const { return m_scheduleExpressionTimezoneHasBeenSet; } /** *

The timezone in which the scheduling expression is evaluated.

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

The timezone in which the scheduling expression is evaluated.

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

The timezone in which the scheduling expression is evaluated.

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

The timezone in which the scheduling expression is evaluated.

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

The timezone in which the scheduling expression is evaluated.

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

The timezone in which the scheduling expression is evaluated.

*/ inline UpdateScheduleRequest& 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 bool StartDateHasBeenSet() const { return m_startDateHasBeenSet; } /** *

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_startDateHasBeenSet = true; 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_startDateHasBeenSet = true; 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 UpdateScheduleRequest& 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 UpdateScheduleRequest& 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 bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

Specifies whether the schedule is enabled or disabled.

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

Specifies whether the schedule is enabled or disabled.

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

Specifies whether the schedule is enabled or disabled.

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

Specifies whether the schedule is enabled or disabled.

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

The schedule target. You can use this operation to change the target that * your schedule invokes.

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

The schedule target. You can use this operation to change the target that * your schedule invokes.

*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *

The schedule target. You can use this operation to change the target that * your schedule invokes.

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

The schedule target. You can use this operation to change the target that * your schedule invokes.

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

The schedule target. You can use this operation to change the target that * your schedule invokes.

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

The schedule target. You can use this operation to change the target that * your schedule invokes.

*/ inline UpdateScheduleRequest& WithTarget(Target&& value) { SetTarget(std::move(value)); return *this;} private: Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Utils::DateTime m_endDate; bool m_endDateHasBeenSet = false; FlexibleTimeWindow m_flexibleTimeWindow; bool m_flexibleTimeWindowHasBeenSet = false; Aws::String m_groupName; bool m_groupNameHasBeenSet = false; Aws::String m_kmsKeyArn; bool m_kmsKeyArnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_scheduleExpression; bool m_scheduleExpressionHasBeenSet = false; Aws::String m_scheduleExpressionTimezone; bool m_scheduleExpressionTimezoneHasBeenSet = false; Aws::Utils::DateTime m_startDate; bool m_startDateHasBeenSet = false; ScheduleState m_state; bool m_stateHasBeenSet = false; Target m_target; bool m_targetHasBeenSet = false; }; } // namespace Model } // namespace Scheduler } // namespace Aws