/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes a transit gateway policy table entry

See Also:

AWS * API Reference

*/ class TransitGatewayPolicyTableEntry { public: AWS_EC2_API TransitGatewayPolicyTableEntry(); AWS_EC2_API TransitGatewayPolicyTableEntry(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API TransitGatewayPolicyTableEntry& 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 rule number for the transit gateway policy table entry.

*/ inline const Aws::String& GetPolicyRuleNumber() const{ return m_policyRuleNumber; } /** *

The rule number for the transit gateway policy table entry.

*/ inline bool PolicyRuleNumberHasBeenSet() const { return m_policyRuleNumberHasBeenSet; } /** *

The rule number for the transit gateway policy table entry.

*/ inline void SetPolicyRuleNumber(const Aws::String& value) { m_policyRuleNumberHasBeenSet = true; m_policyRuleNumber = value; } /** *

The rule number for the transit gateway policy table entry.

*/ inline void SetPolicyRuleNumber(Aws::String&& value) { m_policyRuleNumberHasBeenSet = true; m_policyRuleNumber = std::move(value); } /** *

The rule number for the transit gateway policy table entry.

*/ inline void SetPolicyRuleNumber(const char* value) { m_policyRuleNumberHasBeenSet = true; m_policyRuleNumber.assign(value); } /** *

The rule number for the transit gateway policy table entry.

*/ inline TransitGatewayPolicyTableEntry& WithPolicyRuleNumber(const Aws::String& value) { SetPolicyRuleNumber(value); return *this;} /** *

The rule number for the transit gateway policy table entry.

*/ inline TransitGatewayPolicyTableEntry& WithPolicyRuleNumber(Aws::String&& value) { SetPolicyRuleNumber(std::move(value)); return *this;} /** *

The rule number for the transit gateway policy table entry.

*/ inline TransitGatewayPolicyTableEntry& WithPolicyRuleNumber(const char* value) { SetPolicyRuleNumber(value); return *this;} /** *

The policy rule associated with the transit gateway policy table.

*/ inline const TransitGatewayPolicyRule& GetPolicyRule() const{ return m_policyRule; } /** *

The policy rule associated with the transit gateway policy table.

*/ inline bool PolicyRuleHasBeenSet() const { return m_policyRuleHasBeenSet; } /** *

The policy rule associated with the transit gateway policy table.

*/ inline void SetPolicyRule(const TransitGatewayPolicyRule& value) { m_policyRuleHasBeenSet = true; m_policyRule = value; } /** *

The policy rule associated with the transit gateway policy table.

*/ inline void SetPolicyRule(TransitGatewayPolicyRule&& value) { m_policyRuleHasBeenSet = true; m_policyRule = std::move(value); } /** *

The policy rule associated with the transit gateway policy table.

*/ inline TransitGatewayPolicyTableEntry& WithPolicyRule(const TransitGatewayPolicyRule& value) { SetPolicyRule(value); return *this;} /** *

The policy rule associated with the transit gateway policy table.

*/ inline TransitGatewayPolicyTableEntry& WithPolicyRule(TransitGatewayPolicyRule&& value) { SetPolicyRule(std::move(value)); return *this;} /** *

The ID of the target route table.

*/ inline const Aws::String& GetTargetRouteTableId() const{ return m_targetRouteTableId; } /** *

The ID of the target route table.

*/ inline bool TargetRouteTableIdHasBeenSet() const { return m_targetRouteTableIdHasBeenSet; } /** *

The ID of the target route table.

*/ inline void SetTargetRouteTableId(const Aws::String& value) { m_targetRouteTableIdHasBeenSet = true; m_targetRouteTableId = value; } /** *

The ID of the target route table.

*/ inline void SetTargetRouteTableId(Aws::String&& value) { m_targetRouteTableIdHasBeenSet = true; m_targetRouteTableId = std::move(value); } /** *

The ID of the target route table.

*/ inline void SetTargetRouteTableId(const char* value) { m_targetRouteTableIdHasBeenSet = true; m_targetRouteTableId.assign(value); } /** *

The ID of the target route table.

*/ inline TransitGatewayPolicyTableEntry& WithTargetRouteTableId(const Aws::String& value) { SetTargetRouteTableId(value); return *this;} /** *

The ID of the target route table.

*/ inline TransitGatewayPolicyTableEntry& WithTargetRouteTableId(Aws::String&& value) { SetTargetRouteTableId(std::move(value)); return *this;} /** *

The ID of the target route table.

*/ inline TransitGatewayPolicyTableEntry& WithTargetRouteTableId(const char* value) { SetTargetRouteTableId(value); return *this;} private: Aws::String m_policyRuleNumber; bool m_policyRuleNumberHasBeenSet = false; TransitGatewayPolicyRule m_policyRule; bool m_policyRuleHasBeenSet = false; Aws::String m_targetRouteTableId; bool m_targetRouteTableIdHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws