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/directconnect/DirectConnect_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/directconnect/model/DirectConnectGatewayState.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace DirectConnect 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Information about a Direct Connect gateway, which enables you to connect 29 * virtual interfaces and virtual private gateway or transit 30 * gateways.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DirectConnectGateway">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_DIRECTCONNECT_API DirectConnectGateway 35 { 36 public: 37 DirectConnectGateway(); 38 DirectConnectGateway(Aws::Utils::Json::JsonView jsonValue); 39 DirectConnectGateway& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The ID of the Direct Connect gateway.</p> 45 */ GetDirectConnectGatewayId()46 inline const Aws::String& GetDirectConnectGatewayId() const{ return m_directConnectGatewayId; } 47 48 /** 49 * <p>The ID of the Direct Connect gateway.</p> 50 */ DirectConnectGatewayIdHasBeenSet()51 inline bool DirectConnectGatewayIdHasBeenSet() const { return m_directConnectGatewayIdHasBeenSet; } 52 53 /** 54 * <p>The ID of the Direct Connect gateway.</p> 55 */ SetDirectConnectGatewayId(const Aws::String & value)56 inline void SetDirectConnectGatewayId(const Aws::String& value) { m_directConnectGatewayIdHasBeenSet = true; m_directConnectGatewayId = value; } 57 58 /** 59 * <p>The ID of the Direct Connect gateway.</p> 60 */ SetDirectConnectGatewayId(Aws::String && value)61 inline void SetDirectConnectGatewayId(Aws::String&& value) { m_directConnectGatewayIdHasBeenSet = true; m_directConnectGatewayId = std::move(value); } 62 63 /** 64 * <p>The ID of the Direct Connect gateway.</p> 65 */ SetDirectConnectGatewayId(const char * value)66 inline void SetDirectConnectGatewayId(const char* value) { m_directConnectGatewayIdHasBeenSet = true; m_directConnectGatewayId.assign(value); } 67 68 /** 69 * <p>The ID of the Direct Connect gateway.</p> 70 */ WithDirectConnectGatewayId(const Aws::String & value)71 inline DirectConnectGateway& WithDirectConnectGatewayId(const Aws::String& value) { SetDirectConnectGatewayId(value); return *this;} 72 73 /** 74 * <p>The ID of the Direct Connect gateway.</p> 75 */ WithDirectConnectGatewayId(Aws::String && value)76 inline DirectConnectGateway& WithDirectConnectGatewayId(Aws::String&& value) { SetDirectConnectGatewayId(std::move(value)); return *this;} 77 78 /** 79 * <p>The ID of the Direct Connect gateway.</p> 80 */ WithDirectConnectGatewayId(const char * value)81 inline DirectConnectGateway& WithDirectConnectGatewayId(const char* value) { SetDirectConnectGatewayId(value); return *this;} 82 83 84 /** 85 * <p>The name of the Direct Connect gateway.</p> 86 */ GetDirectConnectGatewayName()87 inline const Aws::String& GetDirectConnectGatewayName() const{ return m_directConnectGatewayName; } 88 89 /** 90 * <p>The name of the Direct Connect gateway.</p> 91 */ DirectConnectGatewayNameHasBeenSet()92 inline bool DirectConnectGatewayNameHasBeenSet() const { return m_directConnectGatewayNameHasBeenSet; } 93 94 /** 95 * <p>The name of the Direct Connect gateway.</p> 96 */ SetDirectConnectGatewayName(const Aws::String & value)97 inline void SetDirectConnectGatewayName(const Aws::String& value) { m_directConnectGatewayNameHasBeenSet = true; m_directConnectGatewayName = value; } 98 99 /** 100 * <p>The name of the Direct Connect gateway.</p> 101 */ SetDirectConnectGatewayName(Aws::String && value)102 inline void SetDirectConnectGatewayName(Aws::String&& value) { m_directConnectGatewayNameHasBeenSet = true; m_directConnectGatewayName = std::move(value); } 103 104 /** 105 * <p>The name of the Direct Connect gateway.</p> 106 */ SetDirectConnectGatewayName(const char * value)107 inline void SetDirectConnectGatewayName(const char* value) { m_directConnectGatewayNameHasBeenSet = true; m_directConnectGatewayName.assign(value); } 108 109 /** 110 * <p>The name of the Direct Connect gateway.</p> 111 */ WithDirectConnectGatewayName(const Aws::String & value)112 inline DirectConnectGateway& WithDirectConnectGatewayName(const Aws::String& value) { SetDirectConnectGatewayName(value); return *this;} 113 114 /** 115 * <p>The name of the Direct Connect gateway.</p> 116 */ WithDirectConnectGatewayName(Aws::String && value)117 inline DirectConnectGateway& WithDirectConnectGatewayName(Aws::String&& value) { SetDirectConnectGatewayName(std::move(value)); return *this;} 118 119 /** 120 * <p>The name of the Direct Connect gateway.</p> 121 */ WithDirectConnectGatewayName(const char * value)122 inline DirectConnectGateway& WithDirectConnectGatewayName(const char* value) { SetDirectConnectGatewayName(value); return *this;} 123 124 125 /** 126 * <p>The autonomous system number (ASN) for the Amazon side of the connection.</p> 127 */ GetAmazonSideAsn()128 inline long long GetAmazonSideAsn() const{ return m_amazonSideAsn; } 129 130 /** 131 * <p>The autonomous system number (ASN) for the Amazon side of the connection.</p> 132 */ AmazonSideAsnHasBeenSet()133 inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; } 134 135 /** 136 * <p>The autonomous system number (ASN) for the Amazon side of the connection.</p> 137 */ SetAmazonSideAsn(long long value)138 inline void SetAmazonSideAsn(long long value) { m_amazonSideAsnHasBeenSet = true; m_amazonSideAsn = value; } 139 140 /** 141 * <p>The autonomous system number (ASN) for the Amazon side of the connection.</p> 142 */ WithAmazonSideAsn(long long value)143 inline DirectConnectGateway& WithAmazonSideAsn(long long value) { SetAmazonSideAsn(value); return *this;} 144 145 146 /** 147 * <p>The ID of the Amazon Web Services account that owns the Direct Connect 148 * gateway.</p> 149 */ GetOwnerAccount()150 inline const Aws::String& GetOwnerAccount() const{ return m_ownerAccount; } 151 152 /** 153 * <p>The ID of the Amazon Web Services account that owns the Direct Connect 154 * gateway.</p> 155 */ OwnerAccountHasBeenSet()156 inline bool OwnerAccountHasBeenSet() const { return m_ownerAccountHasBeenSet; } 157 158 /** 159 * <p>The ID of the Amazon Web Services account that owns the Direct Connect 160 * gateway.</p> 161 */ SetOwnerAccount(const Aws::String & value)162 inline void SetOwnerAccount(const Aws::String& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = value; } 163 164 /** 165 * <p>The ID of the Amazon Web Services account that owns the Direct Connect 166 * gateway.</p> 167 */ SetOwnerAccount(Aws::String && value)168 inline void SetOwnerAccount(Aws::String&& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = std::move(value); } 169 170 /** 171 * <p>The ID of the Amazon Web Services account that owns the Direct Connect 172 * gateway.</p> 173 */ SetOwnerAccount(const char * value)174 inline void SetOwnerAccount(const char* value) { m_ownerAccountHasBeenSet = true; m_ownerAccount.assign(value); } 175 176 /** 177 * <p>The ID of the Amazon Web Services account that owns the Direct Connect 178 * gateway.</p> 179 */ WithOwnerAccount(const Aws::String & value)180 inline DirectConnectGateway& WithOwnerAccount(const Aws::String& value) { SetOwnerAccount(value); return *this;} 181 182 /** 183 * <p>The ID of the Amazon Web Services account that owns the Direct Connect 184 * gateway.</p> 185 */ WithOwnerAccount(Aws::String && value)186 inline DirectConnectGateway& WithOwnerAccount(Aws::String&& value) { SetOwnerAccount(std::move(value)); return *this;} 187 188 /** 189 * <p>The ID of the Amazon Web Services account that owns the Direct Connect 190 * gateway.</p> 191 */ WithOwnerAccount(const char * value)192 inline DirectConnectGateway& WithOwnerAccount(const char* value) { SetOwnerAccount(value); return *this;} 193 194 195 /** 196 * <p>The state of the Direct Connect gateway. The following are the possible 197 * values:</p> <ul> <li> <p> <code>pending</code>: The initial state after calling 198 * <a>CreateDirectConnectGateway</a>.</p> </li> <li> <p> <code>available</code>: 199 * The Direct Connect gateway is ready for use.</p> </li> <li> <p> 200 * <code>deleting</code>: The initial state after calling 201 * <a>DeleteDirectConnectGateway</a>.</p> </li> <li> <p> <code>deleted</code>: The 202 * Direct Connect gateway is deleted and cannot pass traffic.</p> </li> </ul> 203 */ GetDirectConnectGatewayState()204 inline const DirectConnectGatewayState& GetDirectConnectGatewayState() const{ return m_directConnectGatewayState; } 205 206 /** 207 * <p>The state of the Direct Connect gateway. The following are the possible 208 * values:</p> <ul> <li> <p> <code>pending</code>: The initial state after calling 209 * <a>CreateDirectConnectGateway</a>.</p> </li> <li> <p> <code>available</code>: 210 * The Direct Connect gateway is ready for use.</p> </li> <li> <p> 211 * <code>deleting</code>: The initial state after calling 212 * <a>DeleteDirectConnectGateway</a>.</p> </li> <li> <p> <code>deleted</code>: The 213 * Direct Connect gateway is deleted and cannot pass traffic.</p> </li> </ul> 214 */ DirectConnectGatewayStateHasBeenSet()215 inline bool DirectConnectGatewayStateHasBeenSet() const { return m_directConnectGatewayStateHasBeenSet; } 216 217 /** 218 * <p>The state of the Direct Connect gateway. The following are the possible 219 * values:</p> <ul> <li> <p> <code>pending</code>: The initial state after calling 220 * <a>CreateDirectConnectGateway</a>.</p> </li> <li> <p> <code>available</code>: 221 * The Direct Connect gateway is ready for use.</p> </li> <li> <p> 222 * <code>deleting</code>: The initial state after calling 223 * <a>DeleteDirectConnectGateway</a>.</p> </li> <li> <p> <code>deleted</code>: The 224 * Direct Connect gateway is deleted and cannot pass traffic.</p> </li> </ul> 225 */ SetDirectConnectGatewayState(const DirectConnectGatewayState & value)226 inline void SetDirectConnectGatewayState(const DirectConnectGatewayState& value) { m_directConnectGatewayStateHasBeenSet = true; m_directConnectGatewayState = value; } 227 228 /** 229 * <p>The state of the Direct Connect gateway. The following are the possible 230 * values:</p> <ul> <li> <p> <code>pending</code>: The initial state after calling 231 * <a>CreateDirectConnectGateway</a>.</p> </li> <li> <p> <code>available</code>: 232 * The Direct Connect gateway is ready for use.</p> </li> <li> <p> 233 * <code>deleting</code>: The initial state after calling 234 * <a>DeleteDirectConnectGateway</a>.</p> </li> <li> <p> <code>deleted</code>: The 235 * Direct Connect gateway is deleted and cannot pass traffic.</p> </li> </ul> 236 */ SetDirectConnectGatewayState(DirectConnectGatewayState && value)237 inline void SetDirectConnectGatewayState(DirectConnectGatewayState&& value) { m_directConnectGatewayStateHasBeenSet = true; m_directConnectGatewayState = std::move(value); } 238 239 /** 240 * <p>The state of the Direct Connect gateway. The following are the possible 241 * values:</p> <ul> <li> <p> <code>pending</code>: The initial state after calling 242 * <a>CreateDirectConnectGateway</a>.</p> </li> <li> <p> <code>available</code>: 243 * The Direct Connect gateway is ready for use.</p> </li> <li> <p> 244 * <code>deleting</code>: The initial state after calling 245 * <a>DeleteDirectConnectGateway</a>.</p> </li> <li> <p> <code>deleted</code>: The 246 * Direct Connect gateway is deleted and cannot pass traffic.</p> </li> </ul> 247 */ WithDirectConnectGatewayState(const DirectConnectGatewayState & value)248 inline DirectConnectGateway& WithDirectConnectGatewayState(const DirectConnectGatewayState& value) { SetDirectConnectGatewayState(value); return *this;} 249 250 /** 251 * <p>The state of the Direct Connect gateway. The following are the possible 252 * values:</p> <ul> <li> <p> <code>pending</code>: The initial state after calling 253 * <a>CreateDirectConnectGateway</a>.</p> </li> <li> <p> <code>available</code>: 254 * The Direct Connect gateway is ready for use.</p> </li> <li> <p> 255 * <code>deleting</code>: The initial state after calling 256 * <a>DeleteDirectConnectGateway</a>.</p> </li> <li> <p> <code>deleted</code>: The 257 * Direct Connect gateway is deleted and cannot pass traffic.</p> </li> </ul> 258 */ WithDirectConnectGatewayState(DirectConnectGatewayState && value)259 inline DirectConnectGateway& WithDirectConnectGatewayState(DirectConnectGatewayState&& value) { SetDirectConnectGatewayState(std::move(value)); return *this;} 260 261 262 /** 263 * <p>The error message if the state of an object failed to advance.</p> 264 */ GetStateChangeError()265 inline const Aws::String& GetStateChangeError() const{ return m_stateChangeError; } 266 267 /** 268 * <p>The error message if the state of an object failed to advance.</p> 269 */ StateChangeErrorHasBeenSet()270 inline bool StateChangeErrorHasBeenSet() const { return m_stateChangeErrorHasBeenSet; } 271 272 /** 273 * <p>The error message if the state of an object failed to advance.</p> 274 */ SetStateChangeError(const Aws::String & value)275 inline void SetStateChangeError(const Aws::String& value) { m_stateChangeErrorHasBeenSet = true; m_stateChangeError = value; } 276 277 /** 278 * <p>The error message if the state of an object failed to advance.</p> 279 */ SetStateChangeError(Aws::String && value)280 inline void SetStateChangeError(Aws::String&& value) { m_stateChangeErrorHasBeenSet = true; m_stateChangeError = std::move(value); } 281 282 /** 283 * <p>The error message if the state of an object failed to advance.</p> 284 */ SetStateChangeError(const char * value)285 inline void SetStateChangeError(const char* value) { m_stateChangeErrorHasBeenSet = true; m_stateChangeError.assign(value); } 286 287 /** 288 * <p>The error message if the state of an object failed to advance.</p> 289 */ WithStateChangeError(const Aws::String & value)290 inline DirectConnectGateway& WithStateChangeError(const Aws::String& value) { SetStateChangeError(value); return *this;} 291 292 /** 293 * <p>The error message if the state of an object failed to advance.</p> 294 */ WithStateChangeError(Aws::String && value)295 inline DirectConnectGateway& WithStateChangeError(Aws::String&& value) { SetStateChangeError(std::move(value)); return *this;} 296 297 /** 298 * <p>The error message if the state of an object failed to advance.</p> 299 */ WithStateChangeError(const char * value)300 inline DirectConnectGateway& WithStateChangeError(const char* value) { SetStateChangeError(value); return *this;} 301 302 private: 303 304 Aws::String m_directConnectGatewayId; 305 bool m_directConnectGatewayIdHasBeenSet; 306 307 Aws::String m_directConnectGatewayName; 308 bool m_directConnectGatewayNameHasBeenSet; 309 310 long long m_amazonSideAsn; 311 bool m_amazonSideAsnHasBeenSet; 312 313 Aws::String m_ownerAccount; 314 bool m_ownerAccountHasBeenSet; 315 316 DirectConnectGatewayState m_directConnectGatewayState; 317 bool m_directConnectGatewayStateHasBeenSet; 318 319 Aws::String m_stateChangeError; 320 bool m_stateChangeErrorHasBeenSet; 321 }; 322 323 } // namespace Model 324 } // namespace DirectConnect 325 } // namespace Aws 326