/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

A scheduling object using a cron statement to schedule an * event.

See Also:

AWS API * Reference

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

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

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

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline bool ScheduleExpressionHasBeenSet() const { return m_scheduleExpressionHasBeenSet; } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

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

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

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

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

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

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

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

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

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

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

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

The state of the schedule.

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

The state of the schedule.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of the schedule.

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

The state of the schedule.

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

The state of the schedule.

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

The state of the schedule.

*/ inline Schedule& WithState(ScheduleState&& value) { SetState(std::move(value)); return *this;} private: Aws::String m_scheduleExpression; bool m_scheduleExpressionHasBeenSet = false; ScheduleState m_state; bool m_stateHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws