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

Contains details about the routing configuration of a state machine alias. In * a routing configuration, you define an array of objects that specify up to two * state machine versions. You also specify the percentage of traffic to be routed * to each version.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) that identifies one or two state machine * versions defined in the routing configuration.

If you specify the ARN of * a second version, it must belong to the same state machine as the first * version.

*/ inline const Aws::String& GetStateMachineVersionArn() const{ return m_stateMachineVersionArn; } /** *

The Amazon Resource Name (ARN) that identifies one or two state machine * versions defined in the routing configuration.

If you specify the ARN of * a second version, it must belong to the same state machine as the first * version.

*/ inline bool StateMachineVersionArnHasBeenSet() const { return m_stateMachineVersionArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) that identifies one or two state machine * versions defined in the routing configuration.

If you specify the ARN of * a second version, it must belong to the same state machine as the first * version.

*/ inline void SetStateMachineVersionArn(const Aws::String& value) { m_stateMachineVersionArnHasBeenSet = true; m_stateMachineVersionArn = value; } /** *

The Amazon Resource Name (ARN) that identifies one or two state machine * versions defined in the routing configuration.

If you specify the ARN of * a second version, it must belong to the same state machine as the first * version.

*/ inline void SetStateMachineVersionArn(Aws::String&& value) { m_stateMachineVersionArnHasBeenSet = true; m_stateMachineVersionArn = std::move(value); } /** *

The Amazon Resource Name (ARN) that identifies one or two state machine * versions defined in the routing configuration.

If you specify the ARN of * a second version, it must belong to the same state machine as the first * version.

*/ inline void SetStateMachineVersionArn(const char* value) { m_stateMachineVersionArnHasBeenSet = true; m_stateMachineVersionArn.assign(value); } /** *

The Amazon Resource Name (ARN) that identifies one or two state machine * versions defined in the routing configuration.

If you specify the ARN of * a second version, it must belong to the same state machine as the first * version.

*/ inline RoutingConfigurationListItem& WithStateMachineVersionArn(const Aws::String& value) { SetStateMachineVersionArn(value); return *this;} /** *

The Amazon Resource Name (ARN) that identifies one or two state machine * versions defined in the routing configuration.

If you specify the ARN of * a second version, it must belong to the same state machine as the first * version.

*/ inline RoutingConfigurationListItem& WithStateMachineVersionArn(Aws::String&& value) { SetStateMachineVersionArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that identifies one or two state machine * versions defined in the routing configuration.

If you specify the ARN of * a second version, it must belong to the same state machine as the first * version.

*/ inline RoutingConfigurationListItem& WithStateMachineVersionArn(const char* value) { SetStateMachineVersionArn(value); return *this;} /** *

The percentage of traffic you want to route to the second state machine * version. The sum of the weights in the routing configuration must be equal to * 100.

*/ inline int GetWeight() const{ return m_weight; } /** *

The percentage of traffic you want to route to the second state machine * version. The sum of the weights in the routing configuration must be equal to * 100.

*/ inline bool WeightHasBeenSet() const { return m_weightHasBeenSet; } /** *

The percentage of traffic you want to route to the second state machine * version. The sum of the weights in the routing configuration must be equal to * 100.

*/ inline void SetWeight(int value) { m_weightHasBeenSet = true; m_weight = value; } /** *

The percentage of traffic you want to route to the second state machine * version. The sum of the weights in the routing configuration must be equal to * 100.

*/ inline RoutingConfigurationListItem& WithWeight(int value) { SetWeight(value); return *this;} private: Aws::String m_stateMachineVersionArn; bool m_stateMachineVersionArnHasBeenSet = false; int m_weight; bool m_weightHasBeenSet = false; }; } // namespace Model } // namespace SFN } // namespace Aws