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

Describes a path component.

See Also:

AWS * API Reference

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

The sequence number in the path. The destination is 0.

*/ inline int GetSequence() const{ return m_sequence; } /** *

The sequence number in the path. The destination is 0.

*/ inline bool SequenceHasBeenSet() const { return m_sequenceHasBeenSet; } /** *

The sequence number in the path. The destination is 0.

*/ inline void SetSequence(int value) { m_sequenceHasBeenSet = true; m_sequence = value; } /** *

The sequence number in the path. The destination is 0.

*/ inline PathComponent& WithSequence(int value) { SetSequence(value); return *this;} /** *

The resource.

*/ inline const NetworkResourceSummary& GetResource() const{ return m_resource; } /** *

The resource.

*/ inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; } /** *

The resource.

*/ inline void SetResource(const NetworkResourceSummary& value) { m_resourceHasBeenSet = true; m_resource = value; } /** *

The resource.

*/ inline void SetResource(NetworkResourceSummary&& value) { m_resourceHasBeenSet = true; m_resource = std::move(value); } /** *

The resource.

*/ inline PathComponent& WithResource(const NetworkResourceSummary& value) { SetResource(value); return *this;} /** *

The resource.

*/ inline PathComponent& WithResource(NetworkResourceSummary&& value) { SetResource(std::move(value)); return *this;} /** *

The destination CIDR block in the route table.

*/ inline const Aws::String& GetDestinationCidrBlock() const{ return m_destinationCidrBlock; } /** *

The destination CIDR block in the route table.

*/ inline bool DestinationCidrBlockHasBeenSet() const { return m_destinationCidrBlockHasBeenSet; } /** *

The destination CIDR block in the route table.

*/ inline void SetDestinationCidrBlock(const Aws::String& value) { m_destinationCidrBlockHasBeenSet = true; m_destinationCidrBlock = value; } /** *

The destination CIDR block in the route table.

*/ inline void SetDestinationCidrBlock(Aws::String&& value) { m_destinationCidrBlockHasBeenSet = true; m_destinationCidrBlock = std::move(value); } /** *

The destination CIDR block in the route table.

*/ inline void SetDestinationCidrBlock(const char* value) { m_destinationCidrBlockHasBeenSet = true; m_destinationCidrBlock.assign(value); } /** *

The destination CIDR block in the route table.

*/ inline PathComponent& WithDestinationCidrBlock(const Aws::String& value) { SetDestinationCidrBlock(value); return *this;} /** *

The destination CIDR block in the route table.

*/ inline PathComponent& WithDestinationCidrBlock(Aws::String&& value) { SetDestinationCidrBlock(std::move(value)); return *this;} /** *

The destination CIDR block in the route table.

*/ inline PathComponent& WithDestinationCidrBlock(const char* value) { SetDestinationCidrBlock(value); return *this;} private: int m_sequence; bool m_sequenceHasBeenSet = false; NetworkResourceSummary m_resource; bool m_resourceHasBeenSet = false; Aws::String m_destinationCidrBlock; bool m_destinationCidrBlockHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws