/** * 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 { /** *

How long, in seconds, for the canary to continue making regular runs * according to the schedule in the Expression value.

See * Also:

AWS * API Reference

*/ class AWS_SYNTHETICS_API CanaryScheduleOutput { public: CanaryScheduleOutput(); CanaryScheduleOutput(Aws::Utils::Json::JsonView jsonValue); CanaryScheduleOutput& 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.

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.

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.

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.

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.

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.

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 CanaryScheduleOutput& 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.

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 CanaryScheduleOutput& 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.

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 CanaryScheduleOutput& WithExpression(const char* value) { SetExpression(value); return *this;} /** *

How long, in seconds, for the canary to continue making regular runs after it * was created. The runs are performed according to the schedule in the * Expression value.

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

How long, in seconds, for the canary to continue making regular runs after it * was created. The runs are performed according to the schedule in the * Expression value.

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

How long, in seconds, for the canary to continue making regular runs after it * was created. The runs are performed according to the schedule in the * Expression value.

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

How long, in seconds, for the canary to continue making regular runs after it * was created. The runs are performed according to the schedule in the * Expression value.

*/ inline CanaryScheduleOutput& 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