1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ec2/EC2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/ec2/model/TransitGatewayAttachmentResourceType.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Xml 18 { 19 class XmlNode; 20 } // namespace Xml 21 } // namespace Utils 22 namespace EC2 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Describes a route attachment.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayRouteAttachment">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_EC2_API TransitGatewayRouteAttachment 33 { 34 public: 35 TransitGatewayRouteAttachment(); 36 TransitGatewayRouteAttachment(const Aws::Utils::Xml::XmlNode& xmlNode); 37 TransitGatewayRouteAttachment& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 38 39 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 40 void OutputToStream(Aws::OStream& oStream, const char* location) const; 41 42 43 /** 44 * <p>The ID of the resource.</p> 45 */ GetResourceId()46 inline const Aws::String& GetResourceId() const{ return m_resourceId; } 47 48 /** 49 * <p>The ID of the resource.</p> 50 */ ResourceIdHasBeenSet()51 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } 52 53 /** 54 * <p>The ID of the resource.</p> 55 */ SetResourceId(const Aws::String & value)56 inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } 57 58 /** 59 * <p>The ID of the resource.</p> 60 */ SetResourceId(Aws::String && value)61 inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } 62 63 /** 64 * <p>The ID of the resource.</p> 65 */ SetResourceId(const char * value)66 inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } 67 68 /** 69 * <p>The ID of the resource.</p> 70 */ WithResourceId(const Aws::String & value)71 inline TransitGatewayRouteAttachment& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} 72 73 /** 74 * <p>The ID of the resource.</p> 75 */ WithResourceId(Aws::String && value)76 inline TransitGatewayRouteAttachment& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} 77 78 /** 79 * <p>The ID of the resource.</p> 80 */ WithResourceId(const char * value)81 inline TransitGatewayRouteAttachment& WithResourceId(const char* value) { SetResourceId(value); return *this;} 82 83 84 /** 85 * <p>The ID of the attachment.</p> 86 */ GetTransitGatewayAttachmentId()87 inline const Aws::String& GetTransitGatewayAttachmentId() const{ return m_transitGatewayAttachmentId; } 88 89 /** 90 * <p>The ID of the attachment.</p> 91 */ TransitGatewayAttachmentIdHasBeenSet()92 inline bool TransitGatewayAttachmentIdHasBeenSet() const { return m_transitGatewayAttachmentIdHasBeenSet; } 93 94 /** 95 * <p>The ID of the attachment.</p> 96 */ SetTransitGatewayAttachmentId(const Aws::String & value)97 inline void SetTransitGatewayAttachmentId(const Aws::String& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = value; } 98 99 /** 100 * <p>The ID of the attachment.</p> 101 */ SetTransitGatewayAttachmentId(Aws::String && value)102 inline void SetTransitGatewayAttachmentId(Aws::String&& value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId = std::move(value); } 103 104 /** 105 * <p>The ID of the attachment.</p> 106 */ SetTransitGatewayAttachmentId(const char * value)107 inline void SetTransitGatewayAttachmentId(const char* value) { m_transitGatewayAttachmentIdHasBeenSet = true; m_transitGatewayAttachmentId.assign(value); } 108 109 /** 110 * <p>The ID of the attachment.</p> 111 */ WithTransitGatewayAttachmentId(const Aws::String & value)112 inline TransitGatewayRouteAttachment& WithTransitGatewayAttachmentId(const Aws::String& value) { SetTransitGatewayAttachmentId(value); return *this;} 113 114 /** 115 * <p>The ID of the attachment.</p> 116 */ WithTransitGatewayAttachmentId(Aws::String && value)117 inline TransitGatewayRouteAttachment& WithTransitGatewayAttachmentId(Aws::String&& value) { SetTransitGatewayAttachmentId(std::move(value)); return *this;} 118 119 /** 120 * <p>The ID of the attachment.</p> 121 */ WithTransitGatewayAttachmentId(const char * value)122 inline TransitGatewayRouteAttachment& WithTransitGatewayAttachmentId(const char* value) { SetTransitGatewayAttachmentId(value); return *this;} 123 124 125 /** 126 * <p>The resource type. Note that the <code>tgw-peering</code> resource type has 127 * been deprecated. </p> 128 */ GetResourceType()129 inline const TransitGatewayAttachmentResourceType& GetResourceType() const{ return m_resourceType; } 130 131 /** 132 * <p>The resource type. Note that the <code>tgw-peering</code> resource type has 133 * been deprecated. </p> 134 */ ResourceTypeHasBeenSet()135 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } 136 137 /** 138 * <p>The resource type. Note that the <code>tgw-peering</code> resource type has 139 * been deprecated. </p> 140 */ SetResourceType(const TransitGatewayAttachmentResourceType & value)141 inline void SetResourceType(const TransitGatewayAttachmentResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } 142 143 /** 144 * <p>The resource type. Note that the <code>tgw-peering</code> resource type has 145 * been deprecated. </p> 146 */ SetResourceType(TransitGatewayAttachmentResourceType && value)147 inline void SetResourceType(TransitGatewayAttachmentResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } 148 149 /** 150 * <p>The resource type. Note that the <code>tgw-peering</code> resource type has 151 * been deprecated. </p> 152 */ WithResourceType(const TransitGatewayAttachmentResourceType & value)153 inline TransitGatewayRouteAttachment& WithResourceType(const TransitGatewayAttachmentResourceType& value) { SetResourceType(value); return *this;} 154 155 /** 156 * <p>The resource type. Note that the <code>tgw-peering</code> resource type has 157 * been deprecated. </p> 158 */ WithResourceType(TransitGatewayAttachmentResourceType && value)159 inline TransitGatewayRouteAttachment& WithResourceType(TransitGatewayAttachmentResourceType&& value) { SetResourceType(std::move(value)); return *this;} 160 161 private: 162 163 Aws::String m_resourceId; 164 bool m_resourceIdHasBeenSet; 165 166 Aws::String m_transitGatewayAttachmentId; 167 bool m_transitGatewayAttachmentIdHasBeenSet; 168 169 TransitGatewayAttachmentResourceType m_resourceType; 170 bool m_resourceTypeHasBeenSet; 171 }; 172 173 } // namespace Model 174 } // namespace EC2 175 } // namespace Aws 176