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

A configuration that shifts traffic from one version of a Lambda function or * Amazon ECS task set to another in two increments. The original and target Lambda * function versions or ECS task sets are specified in the deployment's AppSpec * file.

See Also:

AWS * API Reference

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

The percentage of traffic to shift in the first increment of a * TimeBasedCanary deployment.

*/ inline int GetCanaryPercentage() const{ return m_canaryPercentage; } /** *

The percentage of traffic to shift in the first increment of a * TimeBasedCanary deployment.

*/ inline bool CanaryPercentageHasBeenSet() const { return m_canaryPercentageHasBeenSet; } /** *

The percentage of traffic to shift in the first increment of a * TimeBasedCanary deployment.

*/ inline void SetCanaryPercentage(int value) { m_canaryPercentageHasBeenSet = true; m_canaryPercentage = value; } /** *

The percentage of traffic to shift in the first increment of a * TimeBasedCanary deployment.

*/ inline TimeBasedCanary& WithCanaryPercentage(int value) { SetCanaryPercentage(value); return *this;} /** *

The number of minutes between the first and second traffic shifts of a * TimeBasedCanary deployment.

*/ inline int GetCanaryInterval() const{ return m_canaryInterval; } /** *

The number of minutes between the first and second traffic shifts of a * TimeBasedCanary deployment.

*/ inline bool CanaryIntervalHasBeenSet() const { return m_canaryIntervalHasBeenSet; } /** *

The number of minutes between the first and second traffic shifts of a * TimeBasedCanary deployment.

*/ inline void SetCanaryInterval(int value) { m_canaryIntervalHasBeenSet = true; m_canaryInterval = value; } /** *

The number of minutes between the first and second traffic shifts of a * TimeBasedCanary deployment.

*/ inline TimeBasedCanary& WithCanaryInterval(int value) { SetCanaryInterval(value); return *this;} private: int m_canaryPercentage; bool m_canaryPercentageHasBeenSet = false; int m_canaryInterval; bool m_canaryIntervalHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws