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

Information about the expected route in the route table.

See * Also:

AWS * API Reference

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

Information about the IPv4 CIDR block.

*/ inline const Aws::String& GetIpV4Cidr() const{ return m_ipV4Cidr; } /** *

Information about the IPv4 CIDR block.

*/ inline bool IpV4CidrHasBeenSet() const { return m_ipV4CidrHasBeenSet; } /** *

Information about the IPv4 CIDR block.

*/ inline void SetIpV4Cidr(const Aws::String& value) { m_ipV4CidrHasBeenSet = true; m_ipV4Cidr = value; } /** *

Information about the IPv4 CIDR block.

*/ inline void SetIpV4Cidr(Aws::String&& value) { m_ipV4CidrHasBeenSet = true; m_ipV4Cidr = std::move(value); } /** *

Information about the IPv4 CIDR block.

*/ inline void SetIpV4Cidr(const char* value) { m_ipV4CidrHasBeenSet = true; m_ipV4Cidr.assign(value); } /** *

Information about the IPv4 CIDR block.

*/ inline ExpectedRoute& WithIpV4Cidr(const Aws::String& value) { SetIpV4Cidr(value); return *this;} /** *

Information about the IPv4 CIDR block.

*/ inline ExpectedRoute& WithIpV4Cidr(Aws::String&& value) { SetIpV4Cidr(std::move(value)); return *this;} /** *

Information about the IPv4 CIDR block.

*/ inline ExpectedRoute& WithIpV4Cidr(const char* value) { SetIpV4Cidr(value); return *this;} /** *

Information about the ID of the prefix list for the route.

*/ inline const Aws::String& GetPrefixListId() const{ return m_prefixListId; } /** *

Information about the ID of the prefix list for the route.

*/ inline bool PrefixListIdHasBeenSet() const { return m_prefixListIdHasBeenSet; } /** *

Information about the ID of the prefix list for the route.

*/ inline void SetPrefixListId(const Aws::String& value) { m_prefixListIdHasBeenSet = true; m_prefixListId = value; } /** *

Information about the ID of the prefix list for the route.

*/ inline void SetPrefixListId(Aws::String&& value) { m_prefixListIdHasBeenSet = true; m_prefixListId = std::move(value); } /** *

Information about the ID of the prefix list for the route.

*/ inline void SetPrefixListId(const char* value) { m_prefixListIdHasBeenSet = true; m_prefixListId.assign(value); } /** *

Information about the ID of the prefix list for the route.

*/ inline ExpectedRoute& WithPrefixListId(const Aws::String& value) { SetPrefixListId(value); return *this;} /** *

Information about the ID of the prefix list for the route.

*/ inline ExpectedRoute& WithPrefixListId(Aws::String&& value) { SetPrefixListId(std::move(value)); return *this;} /** *

Information about the ID of the prefix list for the route.

*/ inline ExpectedRoute& WithPrefixListId(const char* value) { SetPrefixListId(value); return *this;} /** *

Information about the IPv6 CIDR block.

*/ inline const Aws::String& GetIpV6Cidr() const{ return m_ipV6Cidr; } /** *

Information about the IPv6 CIDR block.

*/ inline bool IpV6CidrHasBeenSet() const { return m_ipV6CidrHasBeenSet; } /** *

Information about the IPv6 CIDR block.

*/ inline void SetIpV6Cidr(const Aws::String& value) { m_ipV6CidrHasBeenSet = true; m_ipV6Cidr = value; } /** *

Information about the IPv6 CIDR block.

*/ inline void SetIpV6Cidr(Aws::String&& value) { m_ipV6CidrHasBeenSet = true; m_ipV6Cidr = std::move(value); } /** *

Information about the IPv6 CIDR block.

*/ inline void SetIpV6Cidr(const char* value) { m_ipV6CidrHasBeenSet = true; m_ipV6Cidr.assign(value); } /** *

Information about the IPv6 CIDR block.

*/ inline ExpectedRoute& WithIpV6Cidr(const Aws::String& value) { SetIpV6Cidr(value); return *this;} /** *

Information about the IPv6 CIDR block.

*/ inline ExpectedRoute& WithIpV6Cidr(Aws::String&& value) { SetIpV6Cidr(std::move(value)); return *this;} /** *

Information about the IPv6 CIDR block.

*/ inline ExpectedRoute& WithIpV6Cidr(const char* value) { SetIpV6Cidr(value); return *this;} /** *

Information about the contributing subnets.

*/ inline const Aws::Vector& GetContributingSubnets() const{ return m_contributingSubnets; } /** *

Information about the contributing subnets.

*/ inline bool ContributingSubnetsHasBeenSet() const { return m_contributingSubnetsHasBeenSet; } /** *

Information about the contributing subnets.

*/ inline void SetContributingSubnets(const Aws::Vector& value) { m_contributingSubnetsHasBeenSet = true; m_contributingSubnets = value; } /** *

Information about the contributing subnets.

*/ inline void SetContributingSubnets(Aws::Vector&& value) { m_contributingSubnetsHasBeenSet = true; m_contributingSubnets = std::move(value); } /** *

Information about the contributing subnets.

*/ inline ExpectedRoute& WithContributingSubnets(const Aws::Vector& value) { SetContributingSubnets(value); return *this;} /** *

Information about the contributing subnets.

*/ inline ExpectedRoute& WithContributingSubnets(Aws::Vector&& value) { SetContributingSubnets(std::move(value)); return *this;} /** *

Information about the contributing subnets.

*/ inline ExpectedRoute& AddContributingSubnets(const Aws::String& value) { m_contributingSubnetsHasBeenSet = true; m_contributingSubnets.push_back(value); return *this; } /** *

Information about the contributing subnets.

*/ inline ExpectedRoute& AddContributingSubnets(Aws::String&& value) { m_contributingSubnetsHasBeenSet = true; m_contributingSubnets.push_back(std::move(value)); return *this; } /** *

Information about the contributing subnets.

*/ inline ExpectedRoute& AddContributingSubnets(const char* value) { m_contributingSubnetsHasBeenSet = true; m_contributingSubnets.push_back(value); return *this; } /** *

Information about the allowed targets.

*/ inline const Aws::Vector& GetAllowedTargets() const{ return m_allowedTargets; } /** *

Information about the allowed targets.

*/ inline bool AllowedTargetsHasBeenSet() const { return m_allowedTargetsHasBeenSet; } /** *

Information about the allowed targets.

*/ inline void SetAllowedTargets(const Aws::Vector& value) { m_allowedTargetsHasBeenSet = true; m_allowedTargets = value; } /** *

Information about the allowed targets.

*/ inline void SetAllowedTargets(Aws::Vector&& value) { m_allowedTargetsHasBeenSet = true; m_allowedTargets = std::move(value); } /** *

Information about the allowed targets.

*/ inline ExpectedRoute& WithAllowedTargets(const Aws::Vector& value) { SetAllowedTargets(value); return *this;} /** *

Information about the allowed targets.

*/ inline ExpectedRoute& WithAllowedTargets(Aws::Vector&& value) { SetAllowedTargets(std::move(value)); return *this;} /** *

Information about the allowed targets.

*/ inline ExpectedRoute& AddAllowedTargets(const Aws::String& value) { m_allowedTargetsHasBeenSet = true; m_allowedTargets.push_back(value); return *this; } /** *

Information about the allowed targets.

*/ inline ExpectedRoute& AddAllowedTargets(Aws::String&& value) { m_allowedTargetsHasBeenSet = true; m_allowedTargets.push_back(std::move(value)); return *this; } /** *

Information about the allowed targets.

*/ inline ExpectedRoute& AddAllowedTargets(const char* value) { m_allowedTargetsHasBeenSet = true; m_allowedTargets.push_back(value); return *this; } /** *

Information about the route table ID.

*/ inline const Aws::String& GetRouteTableId() const{ return m_routeTableId; } /** *

Information about the route table ID.

*/ inline bool RouteTableIdHasBeenSet() const { return m_routeTableIdHasBeenSet; } /** *

Information about the route table ID.

*/ inline void SetRouteTableId(const Aws::String& value) { m_routeTableIdHasBeenSet = true; m_routeTableId = value; } /** *

Information about the route table ID.

*/ inline void SetRouteTableId(Aws::String&& value) { m_routeTableIdHasBeenSet = true; m_routeTableId = std::move(value); } /** *

Information about the route table ID.

*/ inline void SetRouteTableId(const char* value) { m_routeTableIdHasBeenSet = true; m_routeTableId.assign(value); } /** *

Information about the route table ID.

*/ inline ExpectedRoute& WithRouteTableId(const Aws::String& value) { SetRouteTableId(value); return *this;} /** *

Information about the route table ID.

*/ inline ExpectedRoute& WithRouteTableId(Aws::String&& value) { SetRouteTableId(std::move(value)); return *this;} /** *

Information about the route table ID.

*/ inline ExpectedRoute& WithRouteTableId(const char* value) { SetRouteTableId(value); return *this;} private: Aws::String m_ipV4Cidr; bool m_ipV4CidrHasBeenSet = false; Aws::String m_prefixListId; bool m_prefixListIdHasBeenSet = false; Aws::String m_ipV6Cidr; bool m_ipV6CidrHasBeenSet = false; Aws::Vector m_contributingSubnets; bool m_contributingSubnetsHasBeenSet = false; Aws::Vector m_allowedTargets; bool m_allowedTargetsHasBeenSet = false; Aws::String m_routeTableId; bool m_routeTableIdHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws