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

Contains details about the route endpoint that violates the policy * scope.

See Also:

AWS * API Reference

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

The ID of the subnet associated with the route that violates the policy * scope.

*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *

The ID of the subnet associated with the route that violates the policy * scope.

*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *

The ID of the subnet associated with the route that violates the policy * scope.

*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *

The ID of the subnet associated with the route that violates the policy * scope.

*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *

The ID of the subnet associated with the route that violates the policy * scope.

*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *

The ID of the subnet associated with the route that violates the policy * scope.

*/ inline RouteHasOutOfScopeEndpointViolation& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *

The ID of the subnet associated with the route that violates the policy * scope.

*/ inline RouteHasOutOfScopeEndpointViolation& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *

The ID of the subnet associated with the route that violates the policy * scope.

*/ inline RouteHasOutOfScopeEndpointViolation& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *

The VPC ID of the route that violates the policy scope.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

The VPC ID of the route that violates the policy scope.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

The VPC ID of the route that violates the policy scope.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

The VPC ID of the route that violates the policy scope.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

The VPC ID of the route that violates the policy scope.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

The VPC ID of the route that violates the policy scope.

*/ inline RouteHasOutOfScopeEndpointViolation& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The VPC ID of the route that violates the policy scope.

*/ inline RouteHasOutOfScopeEndpointViolation& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

The VPC ID of the route that violates the policy scope.

*/ inline RouteHasOutOfScopeEndpointViolation& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

The ID of the route table.

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

The ID of the route table.

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

The ID of the route table.

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

The ID of the route table.

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

The ID of the route table.

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

The ID of the route table.

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

The ID of the route table.

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

The ID of the route table.

*/ inline RouteHasOutOfScopeEndpointViolation& WithRouteTableId(const char* value) { SetRouteTableId(value); return *this;} /** *

The list of routes that violate the route table.

*/ inline const Aws::Vector& GetViolatingRoutes() const{ return m_violatingRoutes; } /** *

The list of routes that violate the route table.

*/ inline bool ViolatingRoutesHasBeenSet() const { return m_violatingRoutesHasBeenSet; } /** *

The list of routes that violate the route table.

*/ inline void SetViolatingRoutes(const Aws::Vector& value) { m_violatingRoutesHasBeenSet = true; m_violatingRoutes = value; } /** *

The list of routes that violate the route table.

*/ inline void SetViolatingRoutes(Aws::Vector&& value) { m_violatingRoutesHasBeenSet = true; m_violatingRoutes = std::move(value); } /** *

The list of routes that violate the route table.

*/ inline RouteHasOutOfScopeEndpointViolation& WithViolatingRoutes(const Aws::Vector& value) { SetViolatingRoutes(value); return *this;} /** *

The list of routes that violate the route table.

*/ inline RouteHasOutOfScopeEndpointViolation& WithViolatingRoutes(Aws::Vector&& value) { SetViolatingRoutes(std::move(value)); return *this;} /** *

The list of routes that violate the route table.

*/ inline RouteHasOutOfScopeEndpointViolation& AddViolatingRoutes(const Route& value) { m_violatingRoutesHasBeenSet = true; m_violatingRoutes.push_back(value); return *this; } /** *

The list of routes that violate the route table.

*/ inline RouteHasOutOfScopeEndpointViolation& AddViolatingRoutes(Route&& value) { m_violatingRoutesHasBeenSet = true; m_violatingRoutes.push_back(std::move(value)); return *this; } /** *

The subnet's Availability Zone.

*/ inline const Aws::String& GetSubnetAvailabilityZone() const{ return m_subnetAvailabilityZone; } /** *

The subnet's Availability Zone.

*/ inline bool SubnetAvailabilityZoneHasBeenSet() const { return m_subnetAvailabilityZoneHasBeenSet; } /** *

The subnet's Availability Zone.

*/ inline void SetSubnetAvailabilityZone(const Aws::String& value) { m_subnetAvailabilityZoneHasBeenSet = true; m_subnetAvailabilityZone = value; } /** *

The subnet's Availability Zone.

*/ inline void SetSubnetAvailabilityZone(Aws::String&& value) { m_subnetAvailabilityZoneHasBeenSet = true; m_subnetAvailabilityZone = std::move(value); } /** *

The subnet's Availability Zone.

*/ inline void SetSubnetAvailabilityZone(const char* value) { m_subnetAvailabilityZoneHasBeenSet = true; m_subnetAvailabilityZone.assign(value); } /** *

The subnet's Availability Zone.

*/ inline RouteHasOutOfScopeEndpointViolation& WithSubnetAvailabilityZone(const Aws::String& value) { SetSubnetAvailabilityZone(value); return *this;} /** *

The subnet's Availability Zone.

*/ inline RouteHasOutOfScopeEndpointViolation& WithSubnetAvailabilityZone(Aws::String&& value) { SetSubnetAvailabilityZone(std::move(value)); return *this;} /** *

The subnet's Availability Zone.

*/ inline RouteHasOutOfScopeEndpointViolation& WithSubnetAvailabilityZone(const char* value) { SetSubnetAvailabilityZone(value); return *this;} /** *

The ID of the subnet's Availability Zone.

*/ inline const Aws::String& GetSubnetAvailabilityZoneId() const{ return m_subnetAvailabilityZoneId; } /** *

The ID of the subnet's Availability Zone.

*/ inline bool SubnetAvailabilityZoneIdHasBeenSet() const { return m_subnetAvailabilityZoneIdHasBeenSet; } /** *

The ID of the subnet's Availability Zone.

*/ inline void SetSubnetAvailabilityZoneId(const Aws::String& value) { m_subnetAvailabilityZoneIdHasBeenSet = true; m_subnetAvailabilityZoneId = value; } /** *

The ID of the subnet's Availability Zone.

*/ inline void SetSubnetAvailabilityZoneId(Aws::String&& value) { m_subnetAvailabilityZoneIdHasBeenSet = true; m_subnetAvailabilityZoneId = std::move(value); } /** *

The ID of the subnet's Availability Zone.

*/ inline void SetSubnetAvailabilityZoneId(const char* value) { m_subnetAvailabilityZoneIdHasBeenSet = true; m_subnetAvailabilityZoneId.assign(value); } /** *

The ID of the subnet's Availability Zone.

*/ inline RouteHasOutOfScopeEndpointViolation& WithSubnetAvailabilityZoneId(const Aws::String& value) { SetSubnetAvailabilityZoneId(value); return *this;} /** *

The ID of the subnet's Availability Zone.

*/ inline RouteHasOutOfScopeEndpointViolation& WithSubnetAvailabilityZoneId(Aws::String&& value) { SetSubnetAvailabilityZoneId(std::move(value)); return *this;} /** *

The ID of the subnet's Availability Zone.

*/ inline RouteHasOutOfScopeEndpointViolation& WithSubnetAvailabilityZoneId(const char* value) { SetSubnetAvailabilityZoneId(value); return *this;} /** *

The route table associated with the current firewall subnet.

*/ inline const Aws::String& GetCurrentFirewallSubnetRouteTable() const{ return m_currentFirewallSubnetRouteTable; } /** *

The route table associated with the current firewall subnet.

*/ inline bool CurrentFirewallSubnetRouteTableHasBeenSet() const { return m_currentFirewallSubnetRouteTableHasBeenSet; } /** *

The route table associated with the current firewall subnet.

*/ inline void SetCurrentFirewallSubnetRouteTable(const Aws::String& value) { m_currentFirewallSubnetRouteTableHasBeenSet = true; m_currentFirewallSubnetRouteTable = value; } /** *

The route table associated with the current firewall subnet.

*/ inline void SetCurrentFirewallSubnetRouteTable(Aws::String&& value) { m_currentFirewallSubnetRouteTableHasBeenSet = true; m_currentFirewallSubnetRouteTable = std::move(value); } /** *

The route table associated with the current firewall subnet.

*/ inline void SetCurrentFirewallSubnetRouteTable(const char* value) { m_currentFirewallSubnetRouteTableHasBeenSet = true; m_currentFirewallSubnetRouteTable.assign(value); } /** *

The route table associated with the current firewall subnet.

*/ inline RouteHasOutOfScopeEndpointViolation& WithCurrentFirewallSubnetRouteTable(const Aws::String& value) { SetCurrentFirewallSubnetRouteTable(value); return *this;} /** *

The route table associated with the current firewall subnet.

*/ inline RouteHasOutOfScopeEndpointViolation& WithCurrentFirewallSubnetRouteTable(Aws::String&& value) { SetCurrentFirewallSubnetRouteTable(std::move(value)); return *this;} /** *

The route table associated with the current firewall subnet.

*/ inline RouteHasOutOfScopeEndpointViolation& WithCurrentFirewallSubnetRouteTable(const char* value) { SetCurrentFirewallSubnetRouteTable(value); return *this;} /** *

The ID of the firewall subnet.

*/ inline const Aws::String& GetFirewallSubnetId() const{ return m_firewallSubnetId; } /** *

The ID of the firewall subnet.

*/ inline bool FirewallSubnetIdHasBeenSet() const { return m_firewallSubnetIdHasBeenSet; } /** *

The ID of the firewall subnet.

*/ inline void SetFirewallSubnetId(const Aws::String& value) { m_firewallSubnetIdHasBeenSet = true; m_firewallSubnetId = value; } /** *

The ID of the firewall subnet.

*/ inline void SetFirewallSubnetId(Aws::String&& value) { m_firewallSubnetIdHasBeenSet = true; m_firewallSubnetId = std::move(value); } /** *

The ID of the firewall subnet.

*/ inline void SetFirewallSubnetId(const char* value) { m_firewallSubnetIdHasBeenSet = true; m_firewallSubnetId.assign(value); } /** *

The ID of the firewall subnet.

*/ inline RouteHasOutOfScopeEndpointViolation& WithFirewallSubnetId(const Aws::String& value) { SetFirewallSubnetId(value); return *this;} /** *

The ID of the firewall subnet.

*/ inline RouteHasOutOfScopeEndpointViolation& WithFirewallSubnetId(Aws::String&& value) { SetFirewallSubnetId(std::move(value)); return *this;} /** *

The ID of the firewall subnet.

*/ inline RouteHasOutOfScopeEndpointViolation& WithFirewallSubnetId(const char* value) { SetFirewallSubnetId(value); return *this;} /** *

The list of firewall subnet routes.

*/ inline const Aws::Vector& GetFirewallSubnetRoutes() const{ return m_firewallSubnetRoutes; } /** *

The list of firewall subnet routes.

*/ inline bool FirewallSubnetRoutesHasBeenSet() const { return m_firewallSubnetRoutesHasBeenSet; } /** *

The list of firewall subnet routes.

*/ inline void SetFirewallSubnetRoutes(const Aws::Vector& value) { m_firewallSubnetRoutesHasBeenSet = true; m_firewallSubnetRoutes = value; } /** *

The list of firewall subnet routes.

*/ inline void SetFirewallSubnetRoutes(Aws::Vector&& value) { m_firewallSubnetRoutesHasBeenSet = true; m_firewallSubnetRoutes = std::move(value); } /** *

The list of firewall subnet routes.

*/ inline RouteHasOutOfScopeEndpointViolation& WithFirewallSubnetRoutes(const Aws::Vector& value) { SetFirewallSubnetRoutes(value); return *this;} /** *

The list of firewall subnet routes.

*/ inline RouteHasOutOfScopeEndpointViolation& WithFirewallSubnetRoutes(Aws::Vector&& value) { SetFirewallSubnetRoutes(std::move(value)); return *this;} /** *

The list of firewall subnet routes.

*/ inline RouteHasOutOfScopeEndpointViolation& AddFirewallSubnetRoutes(const Route& value) { m_firewallSubnetRoutesHasBeenSet = true; m_firewallSubnetRoutes.push_back(value); return *this; } /** *

The list of firewall subnet routes.

*/ inline RouteHasOutOfScopeEndpointViolation& AddFirewallSubnetRoutes(Route&& value) { m_firewallSubnetRoutesHasBeenSet = true; m_firewallSubnetRoutes.push_back(std::move(value)); return *this; } /** *

The ID of the Internet Gateway.

*/ inline const Aws::String& GetInternetGatewayId() const{ return m_internetGatewayId; } /** *

The ID of the Internet Gateway.

*/ inline bool InternetGatewayIdHasBeenSet() const { return m_internetGatewayIdHasBeenSet; } /** *

The ID of the Internet Gateway.

*/ inline void SetInternetGatewayId(const Aws::String& value) { m_internetGatewayIdHasBeenSet = true; m_internetGatewayId = value; } /** *

The ID of the Internet Gateway.

*/ inline void SetInternetGatewayId(Aws::String&& value) { m_internetGatewayIdHasBeenSet = true; m_internetGatewayId = std::move(value); } /** *

The ID of the Internet Gateway.

*/ inline void SetInternetGatewayId(const char* value) { m_internetGatewayIdHasBeenSet = true; m_internetGatewayId.assign(value); } /** *

The ID of the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& WithInternetGatewayId(const Aws::String& value) { SetInternetGatewayId(value); return *this;} /** *

The ID of the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& WithInternetGatewayId(Aws::String&& value) { SetInternetGatewayId(std::move(value)); return *this;} /** *

The ID of the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& WithInternetGatewayId(const char* value) { SetInternetGatewayId(value); return *this;} /** *

The current route table associated with the Internet Gateway.

*/ inline const Aws::String& GetCurrentInternetGatewayRouteTable() const{ return m_currentInternetGatewayRouteTable; } /** *

The current route table associated with the Internet Gateway.

*/ inline bool CurrentInternetGatewayRouteTableHasBeenSet() const { return m_currentInternetGatewayRouteTableHasBeenSet; } /** *

The current route table associated with the Internet Gateway.

*/ inline void SetCurrentInternetGatewayRouteTable(const Aws::String& value) { m_currentInternetGatewayRouteTableHasBeenSet = true; m_currentInternetGatewayRouteTable = value; } /** *

The current route table associated with the Internet Gateway.

*/ inline void SetCurrentInternetGatewayRouteTable(Aws::String&& value) { m_currentInternetGatewayRouteTableHasBeenSet = true; m_currentInternetGatewayRouteTable = std::move(value); } /** *

The current route table associated with the Internet Gateway.

*/ inline void SetCurrentInternetGatewayRouteTable(const char* value) { m_currentInternetGatewayRouteTableHasBeenSet = true; m_currentInternetGatewayRouteTable.assign(value); } /** *

The current route table associated with the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& WithCurrentInternetGatewayRouteTable(const Aws::String& value) { SetCurrentInternetGatewayRouteTable(value); return *this;} /** *

The current route table associated with the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& WithCurrentInternetGatewayRouteTable(Aws::String&& value) { SetCurrentInternetGatewayRouteTable(std::move(value)); return *this;} /** *

The current route table associated with the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& WithCurrentInternetGatewayRouteTable(const char* value) { SetCurrentInternetGatewayRouteTable(value); return *this;} /** *

The routes in the route table associated with the Internet Gateway.

*/ inline const Aws::Vector& GetInternetGatewayRoutes() const{ return m_internetGatewayRoutes; } /** *

The routes in the route table associated with the Internet Gateway.

*/ inline bool InternetGatewayRoutesHasBeenSet() const { return m_internetGatewayRoutesHasBeenSet; } /** *

The routes in the route table associated with the Internet Gateway.

*/ inline void SetInternetGatewayRoutes(const Aws::Vector& value) { m_internetGatewayRoutesHasBeenSet = true; m_internetGatewayRoutes = value; } /** *

The routes in the route table associated with the Internet Gateway.

*/ inline void SetInternetGatewayRoutes(Aws::Vector&& value) { m_internetGatewayRoutesHasBeenSet = true; m_internetGatewayRoutes = std::move(value); } /** *

The routes in the route table associated with the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& WithInternetGatewayRoutes(const Aws::Vector& value) { SetInternetGatewayRoutes(value); return *this;} /** *

The routes in the route table associated with the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& WithInternetGatewayRoutes(Aws::Vector&& value) { SetInternetGatewayRoutes(std::move(value)); return *this;} /** *

The routes in the route table associated with the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& AddInternetGatewayRoutes(const Route& value) { m_internetGatewayRoutesHasBeenSet = true; m_internetGatewayRoutes.push_back(value); return *this; } /** *

The routes in the route table associated with the Internet Gateway.

*/ inline RouteHasOutOfScopeEndpointViolation& AddInternetGatewayRoutes(Route&& value) { m_internetGatewayRoutesHasBeenSet = true; m_internetGatewayRoutes.push_back(std::move(value)); return *this; } private: Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::String m_routeTableId; bool m_routeTableIdHasBeenSet = false; Aws::Vector m_violatingRoutes; bool m_violatingRoutesHasBeenSet = false; Aws::String m_subnetAvailabilityZone; bool m_subnetAvailabilityZoneHasBeenSet = false; Aws::String m_subnetAvailabilityZoneId; bool m_subnetAvailabilityZoneIdHasBeenSet = false; Aws::String m_currentFirewallSubnetRouteTable; bool m_currentFirewallSubnetRouteTableHasBeenSet = false; Aws::String m_firewallSubnetId; bool m_firewallSubnetIdHasBeenSet = false; Aws::Vector m_firewallSubnetRoutes; bool m_firewallSubnetRoutesHasBeenSet = false; Aws::String m_internetGatewayId; bool m_internetGatewayIdHasBeenSet = false; Aws::String m_currentInternetGatewayRouteTable; bool m_currentInternetGatewayRouteTableHasBeenSet = false; Aws::Vector m_internetGatewayRoutes; bool m_internetGatewayRoutesHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws