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

Defines the traffic pattern of the load test.

See Also:

AWS * API Reference

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

Defines the traffic patterns.

*/ inline const TrafficType& GetTrafficType() const{ return m_trafficType; } /** *

Defines the traffic patterns.

*/ inline bool TrafficTypeHasBeenSet() const { return m_trafficTypeHasBeenSet; } /** *

Defines the traffic patterns.

*/ inline void SetTrafficType(const TrafficType& value) { m_trafficTypeHasBeenSet = true; m_trafficType = value; } /** *

Defines the traffic patterns.

*/ inline void SetTrafficType(TrafficType&& value) { m_trafficTypeHasBeenSet = true; m_trafficType = std::move(value); } /** *

Defines the traffic patterns.

*/ inline TrafficPattern& WithTrafficType(const TrafficType& value) { SetTrafficType(value); return *this;} /** *

Defines the traffic patterns.

*/ inline TrafficPattern& WithTrafficType(TrafficType&& value) { SetTrafficType(std::move(value)); return *this;} /** *

Defines the phases traffic specification.

*/ inline const Aws::Vector& GetPhases() const{ return m_phases; } /** *

Defines the phases traffic specification.

*/ inline bool PhasesHasBeenSet() const { return m_phasesHasBeenSet; } /** *

Defines the phases traffic specification.

*/ inline void SetPhases(const Aws::Vector& value) { m_phasesHasBeenSet = true; m_phases = value; } /** *

Defines the phases traffic specification.

*/ inline void SetPhases(Aws::Vector&& value) { m_phasesHasBeenSet = true; m_phases = std::move(value); } /** *

Defines the phases traffic specification.

*/ inline TrafficPattern& WithPhases(const Aws::Vector& value) { SetPhases(value); return *this;} /** *

Defines the phases traffic specification.

*/ inline TrafficPattern& WithPhases(Aws::Vector&& value) { SetPhases(std::move(value)); return *this;} /** *

Defines the phases traffic specification.

*/ inline TrafficPattern& AddPhases(const Phase& value) { m_phasesHasBeenSet = true; m_phases.push_back(value); return *this; } /** *

Defines the phases traffic specification.

*/ inline TrafficPattern& AddPhases(Phase&& value) { m_phasesHasBeenSet = true; m_phases.push_back(std::move(value)); return *this; } private: TrafficType m_trafficType; bool m_trafficTypeHasBeenSet = false; Aws::Vector m_phases; bool m_phasesHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws