/** * 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 SageMaker { namespace Model { /** *

Defines the traffic pattern.

See Also:

AWS API * Reference

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

Specifies how many concurrent users to start with.

*/ inline int GetInitialNumberOfUsers() const{ return m_initialNumberOfUsers; } /** *

Specifies how many concurrent users to start with.

*/ inline bool InitialNumberOfUsersHasBeenSet() const { return m_initialNumberOfUsersHasBeenSet; } /** *

Specifies how many concurrent users to start with.

*/ inline void SetInitialNumberOfUsers(int value) { m_initialNumberOfUsersHasBeenSet = true; m_initialNumberOfUsers = value; } /** *

Specifies how many concurrent users to start with.

*/ inline Phase& WithInitialNumberOfUsers(int value) { SetInitialNumberOfUsers(value); return *this;} /** *

Specified how many new users to spawn in a minute.

*/ inline int GetSpawnRate() const{ return m_spawnRate; } /** *

Specified how many new users to spawn in a minute.

*/ inline bool SpawnRateHasBeenSet() const { return m_spawnRateHasBeenSet; } /** *

Specified how many new users to spawn in a minute.

*/ inline void SetSpawnRate(int value) { m_spawnRateHasBeenSet = true; m_spawnRate = value; } /** *

Specified how many new users to spawn in a minute.

*/ inline Phase& WithSpawnRate(int value) { SetSpawnRate(value); return *this;} /** *

Specifies how long traffic phase should be.

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

Specifies how long traffic phase should be.

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

Specifies how long traffic phase should be.

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

Specifies how long traffic phase should be.

*/ inline Phase& WithDurationInSeconds(int value) { SetDurationInSeconds(value); return *this;} private: int m_initialNumberOfUsers; bool m_initialNumberOfUsersHasBeenSet = false; int m_spawnRate; bool m_spawnRateHasBeenSet = false; int m_durationInSeconds; bool m_durationInSecondsHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws