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

Describes a path.

See Also:

AWS * API Reference

*/ class NetworkInsightsPath { public: AWS_EC2_API NetworkInsightsPath(); AWS_EC2_API NetworkInsightsPath(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API NetworkInsightsPath& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The ID of the path.

*/ inline const Aws::String& GetNetworkInsightsPathId() const{ return m_networkInsightsPathId; } /** *

The ID of the path.

*/ inline bool NetworkInsightsPathIdHasBeenSet() const { return m_networkInsightsPathIdHasBeenSet; } /** *

The ID of the path.

*/ inline void SetNetworkInsightsPathId(const Aws::String& value) { m_networkInsightsPathIdHasBeenSet = true; m_networkInsightsPathId = value; } /** *

The ID of the path.

*/ inline void SetNetworkInsightsPathId(Aws::String&& value) { m_networkInsightsPathIdHasBeenSet = true; m_networkInsightsPathId = std::move(value); } /** *

The ID of the path.

*/ inline void SetNetworkInsightsPathId(const char* value) { m_networkInsightsPathIdHasBeenSet = true; m_networkInsightsPathId.assign(value); } /** *

The ID of the path.

*/ inline NetworkInsightsPath& WithNetworkInsightsPathId(const Aws::String& value) { SetNetworkInsightsPathId(value); return *this;} /** *

The ID of the path.

*/ inline NetworkInsightsPath& WithNetworkInsightsPathId(Aws::String&& value) { SetNetworkInsightsPathId(std::move(value)); return *this;} /** *

The ID of the path.

*/ inline NetworkInsightsPath& WithNetworkInsightsPathId(const char* value) { SetNetworkInsightsPathId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the path.

*/ inline const Aws::String& GetNetworkInsightsPathArn() const{ return m_networkInsightsPathArn; } /** *

The Amazon Resource Name (ARN) of the path.

*/ inline bool NetworkInsightsPathArnHasBeenSet() const { return m_networkInsightsPathArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the path.

*/ inline void SetNetworkInsightsPathArn(const Aws::String& value) { m_networkInsightsPathArnHasBeenSet = true; m_networkInsightsPathArn = value; } /** *

The Amazon Resource Name (ARN) of the path.

*/ inline void SetNetworkInsightsPathArn(Aws::String&& value) { m_networkInsightsPathArnHasBeenSet = true; m_networkInsightsPathArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the path.

*/ inline void SetNetworkInsightsPathArn(const char* value) { m_networkInsightsPathArnHasBeenSet = true; m_networkInsightsPathArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the path.

*/ inline NetworkInsightsPath& WithNetworkInsightsPathArn(const Aws::String& value) { SetNetworkInsightsPathArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the path.

*/ inline NetworkInsightsPath& WithNetworkInsightsPathArn(Aws::String&& value) { SetNetworkInsightsPathArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the path.

*/ inline NetworkInsightsPath& WithNetworkInsightsPathArn(const char* value) { SetNetworkInsightsPathArn(value); return *this;} /** *

The time stamp when the path was created.

*/ inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } /** *

The time stamp when the path was created.

*/ inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } /** *

The time stamp when the path was created.

*/ inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } /** *

The time stamp when the path was created.

*/ inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } /** *

The time stamp when the path was created.

*/ inline NetworkInsightsPath& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} /** *

The time stamp when the path was created.

*/ inline NetworkInsightsPath& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} /** *

The ID of the source.

*/ inline const Aws::String& GetSource() const{ return m_source; } /** *

The ID of the source.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

The ID of the source.

*/ inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

The ID of the source.

*/ inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

The ID of the source.

*/ inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } /** *

The ID of the source.

*/ inline NetworkInsightsPath& WithSource(const Aws::String& value) { SetSource(value); return *this;} /** *

The ID of the source.

*/ inline NetworkInsightsPath& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} /** *

The ID of the source.

*/ inline NetworkInsightsPath& WithSource(const char* value) { SetSource(value); return *this;} /** *

The ID of the destination.

*/ inline const Aws::String& GetDestination() const{ return m_destination; } /** *

The ID of the destination.

*/ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** *

The ID of the destination.

*/ inline void SetDestination(const Aws::String& value) { m_destinationHasBeenSet = true; m_destination = value; } /** *

The ID of the destination.

*/ inline void SetDestination(Aws::String&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** *

The ID of the destination.

*/ inline void SetDestination(const char* value) { m_destinationHasBeenSet = true; m_destination.assign(value); } /** *

The ID of the destination.

*/ inline NetworkInsightsPath& WithDestination(const Aws::String& value) { SetDestination(value); return *this;} /** *

The ID of the destination.

*/ inline NetworkInsightsPath& WithDestination(Aws::String&& value) { SetDestination(std::move(value)); return *this;} /** *

The ID of the destination.

*/ inline NetworkInsightsPath& WithDestination(const char* value) { SetDestination(value); return *this;} /** *

The Amazon Resource Name (ARN) of the source.

*/ inline const Aws::String& GetSourceArn() const{ return m_sourceArn; } /** *

The Amazon Resource Name (ARN) of the source.

*/ inline bool SourceArnHasBeenSet() const { return m_sourceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the source.

*/ inline void SetSourceArn(const Aws::String& value) { m_sourceArnHasBeenSet = true; m_sourceArn = value; } /** *

The Amazon Resource Name (ARN) of the source.

*/ inline void SetSourceArn(Aws::String&& value) { m_sourceArnHasBeenSet = true; m_sourceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the source.

*/ inline void SetSourceArn(const char* value) { m_sourceArnHasBeenSet = true; m_sourceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the source.

*/ inline NetworkInsightsPath& WithSourceArn(const Aws::String& value) { SetSourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the source.

*/ inline NetworkInsightsPath& WithSourceArn(Aws::String&& value) { SetSourceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the source.

*/ inline NetworkInsightsPath& WithSourceArn(const char* value) { SetSourceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the destination.

*/ inline const Aws::String& GetDestinationArn() const{ return m_destinationArn; } /** *

The Amazon Resource Name (ARN) of the destination.

*/ inline bool DestinationArnHasBeenSet() const { return m_destinationArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the destination.

*/ inline void SetDestinationArn(const Aws::String& value) { m_destinationArnHasBeenSet = true; m_destinationArn = value; } /** *

The Amazon Resource Name (ARN) of the destination.

*/ inline void SetDestinationArn(Aws::String&& value) { m_destinationArnHasBeenSet = true; m_destinationArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the destination.

*/ inline void SetDestinationArn(const char* value) { m_destinationArnHasBeenSet = true; m_destinationArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the destination.

*/ inline NetworkInsightsPath& WithDestinationArn(const Aws::String& value) { SetDestinationArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the destination.

*/ inline NetworkInsightsPath& WithDestinationArn(Aws::String&& value) { SetDestinationArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the destination.

*/ inline NetworkInsightsPath& WithDestinationArn(const char* value) { SetDestinationArn(value); return *this;} /** *

The IP address of the source.

*/ inline const Aws::String& GetSourceIp() const{ return m_sourceIp; } /** *

The IP address of the source.

*/ inline bool SourceIpHasBeenSet() const { return m_sourceIpHasBeenSet; } /** *

The IP address of the source.

*/ inline void SetSourceIp(const Aws::String& value) { m_sourceIpHasBeenSet = true; m_sourceIp = value; } /** *

The IP address of the source.

*/ inline void SetSourceIp(Aws::String&& value) { m_sourceIpHasBeenSet = true; m_sourceIp = std::move(value); } /** *

The IP address of the source.

*/ inline void SetSourceIp(const char* value) { m_sourceIpHasBeenSet = true; m_sourceIp.assign(value); } /** *

The IP address of the source.

*/ inline NetworkInsightsPath& WithSourceIp(const Aws::String& value) { SetSourceIp(value); return *this;} /** *

The IP address of the source.

*/ inline NetworkInsightsPath& WithSourceIp(Aws::String&& value) { SetSourceIp(std::move(value)); return *this;} /** *

The IP address of the source.

*/ inline NetworkInsightsPath& WithSourceIp(const char* value) { SetSourceIp(value); return *this;} /** *

The IP address of the destination.

*/ inline const Aws::String& GetDestinationIp() const{ return m_destinationIp; } /** *

The IP address of the destination.

*/ inline bool DestinationIpHasBeenSet() const { return m_destinationIpHasBeenSet; } /** *

The IP address of the destination.

*/ inline void SetDestinationIp(const Aws::String& value) { m_destinationIpHasBeenSet = true; m_destinationIp = value; } /** *

The IP address of the destination.

*/ inline void SetDestinationIp(Aws::String&& value) { m_destinationIpHasBeenSet = true; m_destinationIp = std::move(value); } /** *

The IP address of the destination.

*/ inline void SetDestinationIp(const char* value) { m_destinationIpHasBeenSet = true; m_destinationIp.assign(value); } /** *

The IP address of the destination.

*/ inline NetworkInsightsPath& WithDestinationIp(const Aws::String& value) { SetDestinationIp(value); return *this;} /** *

The IP address of the destination.

*/ inline NetworkInsightsPath& WithDestinationIp(Aws::String&& value) { SetDestinationIp(std::move(value)); return *this;} /** *

The IP address of the destination.

*/ inline NetworkInsightsPath& WithDestinationIp(const char* value) { SetDestinationIp(value); return *this;} /** *

The protocol.

*/ inline const Protocol& GetProtocol() const{ return m_protocol; } /** *

The protocol.

*/ inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } /** *

The protocol.

*/ inline void SetProtocol(const Protocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } /** *

The protocol.

*/ inline void SetProtocol(Protocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } /** *

The protocol.

*/ inline NetworkInsightsPath& WithProtocol(const Protocol& value) { SetProtocol(value); return *this;} /** *

The protocol.

*/ inline NetworkInsightsPath& WithProtocol(Protocol&& value) { SetProtocol(std::move(value)); return *this;} /** *

The destination port.

*/ inline int GetDestinationPort() const{ return m_destinationPort; } /** *

The destination port.

*/ inline bool DestinationPortHasBeenSet() const { return m_destinationPortHasBeenSet; } /** *

The destination port.

*/ inline void SetDestinationPort(int value) { m_destinationPortHasBeenSet = true; m_destinationPort = value; } /** *

The destination port.

*/ inline NetworkInsightsPath& WithDestinationPort(int value) { SetDestinationPort(value); return *this;} /** *

The tags associated with the path.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags associated with the path.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags associated with the path.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags associated with the path.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags associated with the path.

*/ inline NetworkInsightsPath& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags associated with the path.

*/ inline NetworkInsightsPath& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags associated with the path.

*/ inline NetworkInsightsPath& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags associated with the path.

*/ inline NetworkInsightsPath& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Scopes the analysis to network paths that match specific filters at the * source.

*/ inline const PathFilter& GetFilterAtSource() const{ return m_filterAtSource; } /** *

Scopes the analysis to network paths that match specific filters at the * source.

*/ inline bool FilterAtSourceHasBeenSet() const { return m_filterAtSourceHasBeenSet; } /** *

Scopes the analysis to network paths that match specific filters at the * source.

*/ inline void SetFilterAtSource(const PathFilter& value) { m_filterAtSourceHasBeenSet = true; m_filterAtSource = value; } /** *

Scopes the analysis to network paths that match specific filters at the * source.

*/ inline void SetFilterAtSource(PathFilter&& value) { m_filterAtSourceHasBeenSet = true; m_filterAtSource = std::move(value); } /** *

Scopes the analysis to network paths that match specific filters at the * source.

*/ inline NetworkInsightsPath& WithFilterAtSource(const PathFilter& value) { SetFilterAtSource(value); return *this;} /** *

Scopes the analysis to network paths that match specific filters at the * source.

*/ inline NetworkInsightsPath& WithFilterAtSource(PathFilter&& value) { SetFilterAtSource(std::move(value)); return *this;} /** *

Scopes the analysis to network paths that match specific filters at the * destination.

*/ inline const PathFilter& GetFilterAtDestination() const{ return m_filterAtDestination; } /** *

Scopes the analysis to network paths that match specific filters at the * destination.

*/ inline bool FilterAtDestinationHasBeenSet() const { return m_filterAtDestinationHasBeenSet; } /** *

Scopes the analysis to network paths that match specific filters at the * destination.

*/ inline void SetFilterAtDestination(const PathFilter& value) { m_filterAtDestinationHasBeenSet = true; m_filterAtDestination = value; } /** *

Scopes the analysis to network paths that match specific filters at the * destination.

*/ inline void SetFilterAtDestination(PathFilter&& value) { m_filterAtDestinationHasBeenSet = true; m_filterAtDestination = std::move(value); } /** *

Scopes the analysis to network paths that match specific filters at the * destination.

*/ inline NetworkInsightsPath& WithFilterAtDestination(const PathFilter& value) { SetFilterAtDestination(value); return *this;} /** *

Scopes the analysis to network paths that match specific filters at the * destination.

*/ inline NetworkInsightsPath& WithFilterAtDestination(PathFilter&& value) { SetFilterAtDestination(std::move(value)); return *this;} private: Aws::String m_networkInsightsPathId; bool m_networkInsightsPathIdHasBeenSet = false; Aws::String m_networkInsightsPathArn; bool m_networkInsightsPathArnHasBeenSet = false; Aws::Utils::DateTime m_createdDate; bool m_createdDateHasBeenSet = false; Aws::String m_source; bool m_sourceHasBeenSet = false; Aws::String m_destination; bool m_destinationHasBeenSet = false; Aws::String m_sourceArn; bool m_sourceArnHasBeenSet = false; Aws::String m_destinationArn; bool m_destinationArnHasBeenSet = false; Aws::String m_sourceIp; bool m_sourceIpHasBeenSet = false; Aws::String m_destinationIp; bool m_destinationIpHasBeenSet = false; Protocol m_protocol; bool m_protocolHasBeenSet = false; int m_destinationPort; bool m_destinationPortHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; PathFilter m_filterAtSource; bool m_filterAtSourceHasBeenSet = false; PathFilter m_filterAtDestination; bool m_filterAtDestinationHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws