/** * 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 * ECS task set to another in equal increments, with an equal number of minutes * between each increment. 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 AWS_CODEDEPLOY_API TimeBasedLinear { public: TimeBasedLinear(); TimeBasedLinear(Aws::Utils::Json::JsonView jsonValue); TimeBasedLinear& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The percentage of traffic that is shifted at the start of each increment of a * TimeBasedLinear deployment.

*/ inline int GetLinearPercentage() const{ return m_linearPercentage; } /** *

The percentage of traffic that is shifted at the start of each increment of a * TimeBasedLinear deployment.

*/ inline bool LinearPercentageHasBeenSet() const { return m_linearPercentageHasBeenSet; } /** *

The percentage of traffic that is shifted at the start of each increment of a * TimeBasedLinear deployment.

*/ inline void SetLinearPercentage(int value) { m_linearPercentageHasBeenSet = true; m_linearPercentage = value; } /** *

The percentage of traffic that is shifted at the start of each increment of a * TimeBasedLinear deployment.

*/ inline TimeBasedLinear& WithLinearPercentage(int value) { SetLinearPercentage(value); return *this;} /** *

The number of minutes between each incremental traffic shift of a * TimeBasedLinear deployment.

*/ inline int GetLinearInterval() const{ return m_linearInterval; } /** *

The number of minutes between each incremental traffic shift of a * TimeBasedLinear deployment.

*/ inline bool LinearIntervalHasBeenSet() const { return m_linearIntervalHasBeenSet; } /** *

The number of minutes between each incremental traffic shift of a * TimeBasedLinear deployment.

*/ inline void SetLinearInterval(int value) { m_linearIntervalHasBeenSet = true; m_linearInterval = value; } /** *

The number of minutes between each incremental traffic shift of a * TimeBasedLinear deployment.

*/ inline TimeBasedLinear& WithLinearInterval(int value) { SetLinearInterval(value); return *this;} private: int m_linearPercentage; bool m_linearPercentageHasBeenSet; int m_linearInterval; bool m_linearIntervalHasBeenSet; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws