/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Provides details about a route table for the specified VPC.

See * Also:

AWS * API Reference

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

The associations between a route table and one or more subnets or a gateway. *

*/ inline const Aws::Vector& GetAssociationSet() const{ return m_associationSet; } /** *

The associations between a route table and one or more subnets or a gateway. *

*/ inline bool AssociationSetHasBeenSet() const { return m_associationSetHasBeenSet; } /** *

The associations between a route table and one or more subnets or a gateway. *

*/ inline void SetAssociationSet(const Aws::Vector& value) { m_associationSetHasBeenSet = true; m_associationSet = value; } /** *

The associations between a route table and one or more subnets or a gateway. *

*/ inline void SetAssociationSet(Aws::Vector&& value) { m_associationSetHasBeenSet = true; m_associationSet = std::move(value); } /** *

The associations between a route table and one or more subnets or a gateway. *

*/ inline AwsEc2RouteTableDetails& WithAssociationSet(const Aws::Vector& value) { SetAssociationSet(value); return *this;} /** *

The associations between a route table and one or more subnets or a gateway. *

*/ inline AwsEc2RouteTableDetails& WithAssociationSet(Aws::Vector&& value) { SetAssociationSet(std::move(value)); return *this;} /** *

The associations between a route table and one or more subnets or a gateway. *

*/ inline AwsEc2RouteTableDetails& AddAssociationSet(const AssociationSetDetails& value) { m_associationSetHasBeenSet = true; m_associationSet.push_back(value); return *this; } /** *

The associations between a route table and one or more subnets or a gateway. *

*/ inline AwsEc2RouteTableDetails& AddAssociationSet(AssociationSetDetails&& value) { m_associationSetHasBeenSet = true; m_associationSet.push_back(std::move(value)); return *this; } /** *

The ID of the Amazon Web Services account that owns the route table.

*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *

The ID of the Amazon Web Services account that owns the route table.

*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *

The ID of the Amazon Web Services account that owns the route table.

*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *

The ID of the Amazon Web Services account that owns the route table.

*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *

The ID of the Amazon Web Services account that owns the route table.

*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *

The ID of the Amazon Web Services account that owns the route table.

*/ inline AwsEc2RouteTableDetails& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *

The ID of the Amazon Web Services account that owns the route table.

*/ inline AwsEc2RouteTableDetails& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *

The ID of the Amazon Web Services account that owns the route table.

*/ inline AwsEc2RouteTableDetails& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *

Describes a virtual private gateway propagating route.

*/ inline const Aws::Vector& GetPropagatingVgwSet() const{ return m_propagatingVgwSet; } /** *

Describes a virtual private gateway propagating route.

*/ inline bool PropagatingVgwSetHasBeenSet() const { return m_propagatingVgwSetHasBeenSet; } /** *

Describes a virtual private gateway propagating route.

*/ inline void SetPropagatingVgwSet(const Aws::Vector& value) { m_propagatingVgwSetHasBeenSet = true; m_propagatingVgwSet = value; } /** *

Describes a virtual private gateway propagating route.

*/ inline void SetPropagatingVgwSet(Aws::Vector&& value) { m_propagatingVgwSetHasBeenSet = true; m_propagatingVgwSet = std::move(value); } /** *

Describes a virtual private gateway propagating route.

*/ inline AwsEc2RouteTableDetails& WithPropagatingVgwSet(const Aws::Vector& value) { SetPropagatingVgwSet(value); return *this;} /** *

Describes a virtual private gateway propagating route.

*/ inline AwsEc2RouteTableDetails& WithPropagatingVgwSet(Aws::Vector&& value) { SetPropagatingVgwSet(std::move(value)); return *this;} /** *

Describes a virtual private gateway propagating route.

*/ inline AwsEc2RouteTableDetails& AddPropagatingVgwSet(const PropagatingVgwSetDetails& value) { m_propagatingVgwSetHasBeenSet = true; m_propagatingVgwSet.push_back(value); return *this; } /** *

Describes a virtual private gateway propagating route.

*/ inline AwsEc2RouteTableDetails& AddPropagatingVgwSet(PropagatingVgwSetDetails&& value) { m_propagatingVgwSetHasBeenSet = true; m_propagatingVgwSet.push_back(std::move(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 AwsEc2RouteTableDetails& WithRouteTableId(const Aws::String& value) { SetRouteTableId(value); return *this;} /** *

The ID of the route table.

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

The ID of the route table.

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

The routes in the route table.

*/ inline const Aws::Vector& GetRouteSet() const{ return m_routeSet; } /** *

The routes in the route table.

*/ inline bool RouteSetHasBeenSet() const { return m_routeSetHasBeenSet; } /** *

The routes in the route table.

*/ inline void SetRouteSet(const Aws::Vector& value) { m_routeSetHasBeenSet = true; m_routeSet = value; } /** *

The routes in the route table.

*/ inline void SetRouteSet(Aws::Vector&& value) { m_routeSetHasBeenSet = true; m_routeSet = std::move(value); } /** *

The routes in the route table.

*/ inline AwsEc2RouteTableDetails& WithRouteSet(const Aws::Vector& value) { SetRouteSet(value); return *this;} /** *

The routes in the route table.

*/ inline AwsEc2RouteTableDetails& WithRouteSet(Aws::Vector&& value) { SetRouteSet(std::move(value)); return *this;} /** *

The routes in the route table.

*/ inline AwsEc2RouteTableDetails& AddRouteSet(const RouteSetDetails& value) { m_routeSetHasBeenSet = true; m_routeSet.push_back(value); return *this; } /** *

The routes in the route table.

*/ inline AwsEc2RouteTableDetails& AddRouteSet(RouteSetDetails&& value) { m_routeSetHasBeenSet = true; m_routeSet.push_back(std::move(value)); return *this; } /** *

The ID of the virtual private cloud (VPC).

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

The ID of the virtual private cloud (VPC).

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

The ID of the virtual private cloud (VPC).

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

The ID of the virtual private cloud (VPC).

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

The ID of the virtual private cloud (VPC).

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

The ID of the virtual private cloud (VPC).

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

The ID of the virtual private cloud (VPC).

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

The ID of the virtual private cloud (VPC).

*/ inline AwsEc2RouteTableDetails& WithVpcId(const char* value) { SetVpcId(value); return *this;} private: Aws::Vector m_associationSet; bool m_associationSetHasBeenSet = false; Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; Aws::Vector m_propagatingVgwSet; bool m_propagatingVgwSetHasBeenSet = false; Aws::String m_routeTableId; bool m_routeTableIdHasBeenSet = false; Aws::Vector m_routeSet; bool m_routeSetHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws