/** * 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 NetworkManager { namespace Model { /** */ class GetNetworkRoutesRequest : public NetworkManagerRequest { public: AWS_NETWORKMANAGER_API GetNetworkRoutesRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetNetworkRoutes"; } AWS_NETWORKMANAGER_API Aws::String SerializePayload() const override; /** *

The ID of the global network.

*/ inline const Aws::String& GetGlobalNetworkId() const{ return m_globalNetworkId; } /** *

The ID of the global network.

*/ inline bool GlobalNetworkIdHasBeenSet() const { return m_globalNetworkIdHasBeenSet; } /** *

The ID of the global network.

*/ inline void SetGlobalNetworkId(const Aws::String& value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId = value; } /** *

The ID of the global network.

*/ inline void SetGlobalNetworkId(Aws::String&& value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId = std::move(value); } /** *

The ID of the global network.

*/ inline void SetGlobalNetworkId(const char* value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId.assign(value); } /** *

The ID of the global network.

*/ inline GetNetworkRoutesRequest& WithGlobalNetworkId(const Aws::String& value) { SetGlobalNetworkId(value); return *this;} /** *

The ID of the global network.

*/ inline GetNetworkRoutesRequest& WithGlobalNetworkId(Aws::String&& value) { SetGlobalNetworkId(std::move(value)); return *this;} /** *

The ID of the global network.

*/ inline GetNetworkRoutesRequest& WithGlobalNetworkId(const char* value) { SetGlobalNetworkId(value); return *this;} /** *

The ID of the route table.

*/ inline const RouteTableIdentifier& GetRouteTableIdentifier() const{ return m_routeTableIdentifier; } /** *

The ID of the route table.

*/ inline bool RouteTableIdentifierHasBeenSet() const { return m_routeTableIdentifierHasBeenSet; } /** *

The ID of the route table.

*/ inline void SetRouteTableIdentifier(const RouteTableIdentifier& value) { m_routeTableIdentifierHasBeenSet = true; m_routeTableIdentifier = value; } /** *

The ID of the route table.

*/ inline void SetRouteTableIdentifier(RouteTableIdentifier&& value) { m_routeTableIdentifierHasBeenSet = true; m_routeTableIdentifier = std::move(value); } /** *

The ID of the route table.

*/ inline GetNetworkRoutesRequest& WithRouteTableIdentifier(const RouteTableIdentifier& value) { SetRouteTableIdentifier(value); return *this;} /** *

The ID of the route table.

*/ inline GetNetworkRoutesRequest& WithRouteTableIdentifier(RouteTableIdentifier&& value) { SetRouteTableIdentifier(std::move(value)); return *this;} /** *

An exact CIDR block.

*/ inline const Aws::Vector& GetExactCidrMatches() const{ return m_exactCidrMatches; } /** *

An exact CIDR block.

*/ inline bool ExactCidrMatchesHasBeenSet() const { return m_exactCidrMatchesHasBeenSet; } /** *

An exact CIDR block.

*/ inline void SetExactCidrMatches(const Aws::Vector& value) { m_exactCidrMatchesHasBeenSet = true; m_exactCidrMatches = value; } /** *

An exact CIDR block.

*/ inline void SetExactCidrMatches(Aws::Vector&& value) { m_exactCidrMatchesHasBeenSet = true; m_exactCidrMatches = std::move(value); } /** *

An exact CIDR block.

*/ inline GetNetworkRoutesRequest& WithExactCidrMatches(const Aws::Vector& value) { SetExactCidrMatches(value); return *this;} /** *

An exact CIDR block.

*/ inline GetNetworkRoutesRequest& WithExactCidrMatches(Aws::Vector&& value) { SetExactCidrMatches(std::move(value)); return *this;} /** *

An exact CIDR block.

*/ inline GetNetworkRoutesRequest& AddExactCidrMatches(const Aws::String& value) { m_exactCidrMatchesHasBeenSet = true; m_exactCidrMatches.push_back(value); return *this; } /** *

An exact CIDR block.

*/ inline GetNetworkRoutesRequest& AddExactCidrMatches(Aws::String&& value) { m_exactCidrMatchesHasBeenSet = true; m_exactCidrMatches.push_back(std::move(value)); return *this; } /** *

An exact CIDR block.

*/ inline GetNetworkRoutesRequest& AddExactCidrMatches(const char* value) { m_exactCidrMatchesHasBeenSet = true; m_exactCidrMatches.push_back(value); return *this; } /** *

The most specific route that matches the traffic (longest prefix match).

*/ inline const Aws::Vector& GetLongestPrefixMatches() const{ return m_longestPrefixMatches; } /** *

The most specific route that matches the traffic (longest prefix match).

*/ inline bool LongestPrefixMatchesHasBeenSet() const { return m_longestPrefixMatchesHasBeenSet; } /** *

The most specific route that matches the traffic (longest prefix match).

*/ inline void SetLongestPrefixMatches(const Aws::Vector& value) { m_longestPrefixMatchesHasBeenSet = true; m_longestPrefixMatches = value; } /** *

The most specific route that matches the traffic (longest prefix match).

*/ inline void SetLongestPrefixMatches(Aws::Vector&& value) { m_longestPrefixMatchesHasBeenSet = true; m_longestPrefixMatches = std::move(value); } /** *

The most specific route that matches the traffic (longest prefix match).

*/ inline GetNetworkRoutesRequest& WithLongestPrefixMatches(const Aws::Vector& value) { SetLongestPrefixMatches(value); return *this;} /** *

The most specific route that matches the traffic (longest prefix match).

*/ inline GetNetworkRoutesRequest& WithLongestPrefixMatches(Aws::Vector&& value) { SetLongestPrefixMatches(std::move(value)); return *this;} /** *

The most specific route that matches the traffic (longest prefix match).

*/ inline GetNetworkRoutesRequest& AddLongestPrefixMatches(const Aws::String& value) { m_longestPrefixMatchesHasBeenSet = true; m_longestPrefixMatches.push_back(value); return *this; } /** *

The most specific route that matches the traffic (longest prefix match).

*/ inline GetNetworkRoutesRequest& AddLongestPrefixMatches(Aws::String&& value) { m_longestPrefixMatchesHasBeenSet = true; m_longestPrefixMatches.push_back(std::move(value)); return *this; } /** *

The most specific route that matches the traffic (longest prefix match).

*/ inline GetNetworkRoutesRequest& AddLongestPrefixMatches(const char* value) { m_longestPrefixMatchesHasBeenSet = true; m_longestPrefixMatches.push_back(value); return *this; } /** *

The routes with a subnet that match the specified CIDR filter.

*/ inline const Aws::Vector& GetSubnetOfMatches() const{ return m_subnetOfMatches; } /** *

The routes with a subnet that match the specified CIDR filter.

*/ inline bool SubnetOfMatchesHasBeenSet() const { return m_subnetOfMatchesHasBeenSet; } /** *

The routes with a subnet that match the specified CIDR filter.

*/ inline void SetSubnetOfMatches(const Aws::Vector& value) { m_subnetOfMatchesHasBeenSet = true; m_subnetOfMatches = value; } /** *

The routes with a subnet that match the specified CIDR filter.

*/ inline void SetSubnetOfMatches(Aws::Vector&& value) { m_subnetOfMatchesHasBeenSet = true; m_subnetOfMatches = std::move(value); } /** *

The routes with a subnet that match the specified CIDR filter.

*/ inline GetNetworkRoutesRequest& WithSubnetOfMatches(const Aws::Vector& value) { SetSubnetOfMatches(value); return *this;} /** *

The routes with a subnet that match the specified CIDR filter.

*/ inline GetNetworkRoutesRequest& WithSubnetOfMatches(Aws::Vector&& value) { SetSubnetOfMatches(std::move(value)); return *this;} /** *

The routes with a subnet that match the specified CIDR filter.

*/ inline GetNetworkRoutesRequest& AddSubnetOfMatches(const Aws::String& value) { m_subnetOfMatchesHasBeenSet = true; m_subnetOfMatches.push_back(value); return *this; } /** *

The routes with a subnet that match the specified CIDR filter.

*/ inline GetNetworkRoutesRequest& AddSubnetOfMatches(Aws::String&& value) { m_subnetOfMatchesHasBeenSet = true; m_subnetOfMatches.push_back(std::move(value)); return *this; } /** *

The routes with a subnet that match the specified CIDR filter.

*/ inline GetNetworkRoutesRequest& AddSubnetOfMatches(const char* value) { m_subnetOfMatchesHasBeenSet = true; m_subnetOfMatches.push_back(value); return *this; } /** *

The routes with a CIDR that encompasses the CIDR filter. Example: If you * specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

*/ inline const Aws::Vector& GetSupernetOfMatches() const{ return m_supernetOfMatches; } /** *

The routes with a CIDR that encompasses the CIDR filter. Example: If you * specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

*/ inline bool SupernetOfMatchesHasBeenSet() const { return m_supernetOfMatchesHasBeenSet; } /** *

The routes with a CIDR that encompasses the CIDR filter. Example: If you * specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

*/ inline void SetSupernetOfMatches(const Aws::Vector& value) { m_supernetOfMatchesHasBeenSet = true; m_supernetOfMatches = value; } /** *

The routes with a CIDR that encompasses the CIDR filter. Example: If you * specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

*/ inline void SetSupernetOfMatches(Aws::Vector&& value) { m_supernetOfMatchesHasBeenSet = true; m_supernetOfMatches = std::move(value); } /** *

The routes with a CIDR that encompasses the CIDR filter. Example: If you * specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

*/ inline GetNetworkRoutesRequest& WithSupernetOfMatches(const Aws::Vector& value) { SetSupernetOfMatches(value); return *this;} /** *

The routes with a CIDR that encompasses the CIDR filter. Example: If you * specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

*/ inline GetNetworkRoutesRequest& WithSupernetOfMatches(Aws::Vector&& value) { SetSupernetOfMatches(std::move(value)); return *this;} /** *

The routes with a CIDR that encompasses the CIDR filter. Example: If you * specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

*/ inline GetNetworkRoutesRequest& AddSupernetOfMatches(const Aws::String& value) { m_supernetOfMatchesHasBeenSet = true; m_supernetOfMatches.push_back(value); return *this; } /** *

The routes with a CIDR that encompasses the CIDR filter. Example: If you * specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

*/ inline GetNetworkRoutesRequest& AddSupernetOfMatches(Aws::String&& value) { m_supernetOfMatchesHasBeenSet = true; m_supernetOfMatches.push_back(std::move(value)); return *this; } /** *

The routes with a CIDR that encompasses the CIDR filter. Example: If you * specify 10.0.1.0/30, then the result returns 10.0.1.0/29.

*/ inline GetNetworkRoutesRequest& AddSupernetOfMatches(const char* value) { m_supernetOfMatchesHasBeenSet = true; m_supernetOfMatches.push_back(value); return *this; } /** *

The IDs of the prefix lists.

*/ inline const Aws::Vector& GetPrefixListIds() const{ return m_prefixListIds; } /** *

The IDs of the prefix lists.

*/ inline bool PrefixListIdsHasBeenSet() const { return m_prefixListIdsHasBeenSet; } /** *

The IDs of the prefix lists.

*/ inline void SetPrefixListIds(const Aws::Vector& value) { m_prefixListIdsHasBeenSet = true; m_prefixListIds = value; } /** *

The IDs of the prefix lists.

*/ inline void SetPrefixListIds(Aws::Vector&& value) { m_prefixListIdsHasBeenSet = true; m_prefixListIds = std::move(value); } /** *

The IDs of the prefix lists.

*/ inline GetNetworkRoutesRequest& WithPrefixListIds(const Aws::Vector& value) { SetPrefixListIds(value); return *this;} /** *

The IDs of the prefix lists.

*/ inline GetNetworkRoutesRequest& WithPrefixListIds(Aws::Vector&& value) { SetPrefixListIds(std::move(value)); return *this;} /** *

The IDs of the prefix lists.

*/ inline GetNetworkRoutesRequest& AddPrefixListIds(const Aws::String& value) { m_prefixListIdsHasBeenSet = true; m_prefixListIds.push_back(value); return *this; } /** *

The IDs of the prefix lists.

*/ inline GetNetworkRoutesRequest& AddPrefixListIds(Aws::String&& value) { m_prefixListIdsHasBeenSet = true; m_prefixListIds.push_back(std::move(value)); return *this; } /** *

The IDs of the prefix lists.

*/ inline GetNetworkRoutesRequest& AddPrefixListIds(const char* value) { m_prefixListIdsHasBeenSet = true; m_prefixListIds.push_back(value); return *this; } /** *

The route states.

*/ inline const Aws::Vector& GetStates() const{ return m_states; } /** *

The route states.

*/ inline bool StatesHasBeenSet() const { return m_statesHasBeenSet; } /** *

The route states.

*/ inline void SetStates(const Aws::Vector& value) { m_statesHasBeenSet = true; m_states = value; } /** *

The route states.

*/ inline void SetStates(Aws::Vector&& value) { m_statesHasBeenSet = true; m_states = std::move(value); } /** *

The route states.

*/ inline GetNetworkRoutesRequest& WithStates(const Aws::Vector& value) { SetStates(value); return *this;} /** *

The route states.

*/ inline GetNetworkRoutesRequest& WithStates(Aws::Vector&& value) { SetStates(std::move(value)); return *this;} /** *

The route states.

*/ inline GetNetworkRoutesRequest& AddStates(const RouteState& value) { m_statesHasBeenSet = true; m_states.push_back(value); return *this; } /** *

The route states.

*/ inline GetNetworkRoutesRequest& AddStates(RouteState&& value) { m_statesHasBeenSet = true; m_states.push_back(std::move(value)); return *this; } /** *

The route types.

*/ inline const Aws::Vector& GetTypes() const{ return m_types; } /** *

The route types.

*/ inline bool TypesHasBeenSet() const { return m_typesHasBeenSet; } /** *

The route types.

*/ inline void SetTypes(const Aws::Vector& value) { m_typesHasBeenSet = true; m_types = value; } /** *

The route types.

*/ inline void SetTypes(Aws::Vector&& value) { m_typesHasBeenSet = true; m_types = std::move(value); } /** *

The route types.

*/ inline GetNetworkRoutesRequest& WithTypes(const Aws::Vector& value) { SetTypes(value); return *this;} /** *

The route types.

*/ inline GetNetworkRoutesRequest& WithTypes(Aws::Vector&& value) { SetTypes(std::move(value)); return *this;} /** *

The route types.

*/ inline GetNetworkRoutesRequest& AddTypes(const RouteType& value) { m_typesHasBeenSet = true; m_types.push_back(value); return *this; } /** *

The route types.

*/ inline GetNetworkRoutesRequest& AddTypes(RouteType&& value) { m_typesHasBeenSet = true; m_types.push_back(std::move(value)); return *this; } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline const Aws::Map>& GetDestinationFilters() const{ return m_destinationFilters; } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline bool DestinationFiltersHasBeenSet() const { return m_destinationFiltersHasBeenSet; } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline void SetDestinationFilters(const Aws::Map>& value) { m_destinationFiltersHasBeenSet = true; m_destinationFilters = value; } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline void SetDestinationFilters(Aws::Map>&& value) { m_destinationFiltersHasBeenSet = true; m_destinationFilters = std::move(value); } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline GetNetworkRoutesRequest& WithDestinationFilters(const Aws::Map>& value) { SetDestinationFilters(value); return *this;} /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline GetNetworkRoutesRequest& WithDestinationFilters(Aws::Map>&& value) { SetDestinationFilters(std::move(value)); return *this;} /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline GetNetworkRoutesRequest& AddDestinationFilters(const Aws::String& key, const Aws::Vector& value) { m_destinationFiltersHasBeenSet = true; m_destinationFilters.emplace(key, value); return *this; } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline GetNetworkRoutesRequest& AddDestinationFilters(Aws::String&& key, const Aws::Vector& value) { m_destinationFiltersHasBeenSet = true; m_destinationFilters.emplace(std::move(key), value); return *this; } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline GetNetworkRoutesRequest& AddDestinationFilters(const Aws::String& key, Aws::Vector&& value) { m_destinationFiltersHasBeenSet = true; m_destinationFilters.emplace(key, std::move(value)); return *this; } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline GetNetworkRoutesRequest& AddDestinationFilters(Aws::String&& key, Aws::Vector&& value) { m_destinationFiltersHasBeenSet = true; m_destinationFilters.emplace(std::move(key), std::move(value)); return *this; } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline GetNetworkRoutesRequest& AddDestinationFilters(const char* key, Aws::Vector&& value) { m_destinationFiltersHasBeenSet = true; m_destinationFilters.emplace(key, std::move(value)); return *this; } /** *

Filter by route table destination. Possible Values: * TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.

*/ inline GetNetworkRoutesRequest& AddDestinationFilters(const char* key, const Aws::Vector& value) { m_destinationFiltersHasBeenSet = true; m_destinationFilters.emplace(key, value); return *this; } private: Aws::String m_globalNetworkId; bool m_globalNetworkIdHasBeenSet = false; RouteTableIdentifier m_routeTableIdentifier; bool m_routeTableIdentifierHasBeenSet = false; Aws::Vector m_exactCidrMatches; bool m_exactCidrMatchesHasBeenSet = false; Aws::Vector m_longestPrefixMatches; bool m_longestPrefixMatchesHasBeenSet = false; Aws::Vector m_subnetOfMatches; bool m_subnetOfMatchesHasBeenSet = false; Aws::Vector m_supernetOfMatches; bool m_supernetOfMatchesHasBeenSet = false; Aws::Vector m_prefixListIds; bool m_prefixListIdsHasBeenSet = false; Aws::Vector m_states; bool m_statesHasBeenSet = false; Aws::Vector m_types; bool m_typesHasBeenSet = false; Aws::Map> m_destinationFilters; bool m_destinationFiltersHasBeenSet = false; }; } // namespace Model } // namespace NetworkManager } // namespace Aws