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

This structure specifies how often a canary is to make runs and the date and * time when it should stop making runs.

See Also:

AWS * API Reference

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

A rate expression or a cron expression that defines * how often the canary is to run.

For a rate expression, The syntax is * rate(number unit). unit can be minute, * minutes, or hour.

For example, rate(1 * minute) runs the canary once a minute, rate(10 minutes) runs * it once every 10 minutes, and rate(1 hour) runs it once every hour. * You can specify a frequency between rate(1 minute) and rate(1 * hour).

Specifying rate(0 minute) or rate(0 * hour) is a special value that causes the canary to run only once when it * is started.

Use cron(expression) to specify a cron * expression. You can't schedule a canary to wait for more than a year before * running. For information about the syntax for cron expressions, see * Scheduling canary runs using cron.

*/ inline const Aws::String& GetExpression() const{ return m_expression; } /** *

A rate expression or a cron expression that defines * how often the canary is to run.

For a rate expression, The syntax is * rate(number unit). unit can be minute, * minutes, or hour.

For example, rate(1 * minute) runs the canary once a minute, rate(10 minutes) runs * it once every 10 minutes, and rate(1 hour) runs it once every hour. * You can specify a frequency between rate(1 minute) and rate(1 * hour).

Specifying rate(0 minute) or rate(0 * hour) is a special value that causes the canary to run only once when it * is started.

Use cron(expression) to specify a cron * expression. You can't schedule a canary to wait for more than a year before * running. For information about the syntax for cron expressions, see * Scheduling canary runs using cron.

*/ inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; } /** *

A rate expression or a cron expression that defines * how often the canary is to run.

For a rate expression, The syntax is * rate(number unit). unit can be minute, * minutes, or hour.

For example, rate(1 * minute) runs the canary once a minute, rate(10 minutes) runs * it once every 10 minutes, and rate(1 hour) runs it once every hour. * You can specify a frequency between rate(1 minute) and rate(1 * hour).

Specifying rate(0 minute) or rate(0 * hour) is a special value that causes the canary to run only once when it * is started.

Use cron(expression) to specify a cron * expression. You can't schedule a canary to wait for more than a year before * running. For information about the syntax for cron expressions, see * Scheduling canary runs using cron.

*/ inline void SetExpression(const Aws::String& value) { m_expressionHasBeenSet = true; m_expression = value; } /** *

A rate expression or a cron expression that defines * how often the canary is to run.

For a rate expression, The syntax is * rate(number unit). unit can be minute, * minutes, or hour.

For example, rate(1 * minute) runs the canary once a minute, rate(10 minutes) runs * it once every 10 minutes, and rate(1 hour) runs it once every hour. * You can specify a frequency between rate(1 minute) and rate(1 * hour).

Specifying rate(0 minute) or rate(0 * hour) is a special value that causes the canary to run only once when it * is started.

Use cron(expression) to specify a cron * expression. You can't schedule a canary to wait for more than a year before * running. For information about the syntax for cron expressions, see * Scheduling canary runs using cron.

*/ inline void SetExpression(Aws::String&& value) { m_expressionHasBeenSet = true; m_expression = std::move(value); } /** *

A rate expression or a cron expression that defines * how often the canary is to run.

For a rate expression, The syntax is * rate(number unit). unit can be minute, * minutes, or hour.

For example, rate(1 * minute) runs the canary once a minute, rate(10 minutes) runs * it once every 10 minutes, and rate(1 hour) runs it once every hour. * You can specify a frequency between rate(1 minute) and rate(1 * hour).

Specifying rate(0 minute) or rate(0 * hour) is a special value that causes the canary to run only once when it * is started.

Use cron(expression) to specify a cron * expression. You can't schedule a canary to wait for more than a year before * running. For information about the syntax for cron expressions, see * Scheduling canary runs using cron.

*/ inline void SetExpression(const char* value) { m_expressionHasBeenSet = true; m_expression.assign(value); } /** *

A rate expression or a cron expression that defines * how often the canary is to run.

For a rate expression, The syntax is * rate(number unit). unit can be minute, * minutes, or hour.

For example, rate(1 * minute) runs the canary once a minute, rate(10 minutes) runs * it once every 10 minutes, and rate(1 hour) runs it once every hour. * You can specify a frequency between rate(1 minute) and rate(1 * hour).

Specifying rate(0 minute) or rate(0 * hour) is a special value that causes the canary to run only once when it * is started.

Use cron(expression) to specify a cron * expression. You can't schedule a canary to wait for more than a year before * running. For information about the syntax for cron expressions, see * Scheduling canary runs using cron.

*/ inline CanaryScheduleInput& WithExpression(const Aws::String& value) { SetExpression(value); return *this;} /** *

A rate expression or a cron expression that defines * how often the canary is to run.

For a rate expression, The syntax is * rate(number unit). unit can be minute, * minutes, or hour.

For example, rate(1 * minute) runs the canary once a minute, rate(10 minutes) runs * it once every 10 minutes, and rate(1 hour) runs it once every hour. * You can specify a frequency between rate(1 minute) and rate(1 * hour).

Specifying rate(0 minute) or rate(0 * hour) is a special value that causes the canary to run only once when it * is started.

Use cron(expression) to specify a cron * expression. You can't schedule a canary to wait for more than a year before * running. For information about the syntax for cron expressions, see * Scheduling canary runs using cron.

*/ inline CanaryScheduleInput& WithExpression(Aws::String&& value) { SetExpression(std::move(value)); return *this;} /** *

A rate expression or a cron expression that defines * how often the canary is to run.

For a rate expression, The syntax is * rate(number unit). unit can be minute, * minutes, or hour.

For example, rate(1 * minute) runs the canary once a minute, rate(10 minutes) runs * it once every 10 minutes, and rate(1 hour) runs it once every hour. * You can specify a frequency between rate(1 minute) and rate(1 * hour).

Specifying rate(0 minute) or rate(0 * hour) is a special value that causes the canary to run only once when it * is started.

Use cron(expression) to specify a cron * expression. You can't schedule a canary to wait for more than a year before * running. For information about the syntax for cron expressions, see * Scheduling canary runs using cron.

*/ inline CanaryScheduleInput& WithExpression(const char* value) { SetExpression(value); return *this;} /** *

How long, in seconds, for the canary to continue making regular runs * according to the schedule in the Expression value. If you specify * 0, the canary continues making runs until you stop it. If you omit this field, * the default of 0 is used.

*/ inline long long GetDurationInSeconds() const{ return m_durationInSeconds; } /** *

How long, in seconds, for the canary to continue making regular runs * according to the schedule in the Expression value. If you specify * 0, the canary continues making runs until you stop it. If you omit this field, * the default of 0 is used.

*/ inline bool DurationInSecondsHasBeenSet() const { return m_durationInSecondsHasBeenSet; } /** *

How long, in seconds, for the canary to continue making regular runs * according to the schedule in the Expression value. If you specify * 0, the canary continues making runs until you stop it. If you omit this field, * the default of 0 is used.

*/ inline void SetDurationInSeconds(long long value) { m_durationInSecondsHasBeenSet = true; m_durationInSeconds = value; } /** *

How long, in seconds, for the canary to continue making regular runs * according to the schedule in the Expression value. If you specify * 0, the canary continues making runs until you stop it. If you omit this field, * the default of 0 is used.

*/ inline CanaryScheduleInput& WithDurationInSeconds(long long value) { SetDurationInSeconds(value); return *this;} private: Aws::String m_expression; bool m_expressionHasBeenSet = false; long long m_durationInSeconds; bool m_durationInSecondsHasBeenSet = false; }; } // namespace Model } // namespace Synthetics } // namespace Aws