/** * 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 AWS_SYNTHETICS_API CanaryScheduleInput { public: CanaryScheduleInput(); CanaryScheduleInput(Aws::Utils::Json::JsonView jsonValue); CanaryScheduleInput& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

A rate expression that defines how often the canary is to run. 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.

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

A rate expression that defines how often the canary is to run. 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.

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

A rate expression that defines how often the canary is to run. 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.

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

A rate expression that defines how often the canary is to run. 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.

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

A rate expression that defines how often the canary is to run. 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.

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

A rate expression that defines how often the canary is to run. 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.

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

A rate expression that defines how often the canary is to run. 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.

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

A rate expression that defines how often the canary is to run. 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.

*/ 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; long long m_durationInSeconds; bool m_durationInSecondsHasBeenSet; }; } // namespace Model } // namespace Synthetics } // namespace Aws