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/GatewayType.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 the associated gateway.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociatedGateway">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_DIRECTCONNECT_API AssociatedGateway 33 { 34 public: 35 AssociatedGateway(); 36 AssociatedGateway(Aws::Utils::Json::JsonView jsonValue); 37 AssociatedGateway& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The ID of the associated gateway.</p> 43 */ GetId()44 inline const Aws::String& GetId() const{ return m_id; } 45 46 /** 47 * <p>The ID of the associated gateway.</p> 48 */ IdHasBeenSet()49 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 50 51 /** 52 * <p>The ID of the associated gateway.</p> 53 */ SetId(const Aws::String & value)54 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } 55 56 /** 57 * <p>The ID of the associated gateway.</p> 58 */ SetId(Aws::String && value)59 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } 60 61 /** 62 * <p>The ID of the associated gateway.</p> 63 */ SetId(const char * value)64 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } 65 66 /** 67 * <p>The ID of the associated gateway.</p> 68 */ WithId(const Aws::String & value)69 inline AssociatedGateway& WithId(const Aws::String& value) { SetId(value); return *this;} 70 71 /** 72 * <p>The ID of the associated gateway.</p> 73 */ WithId(Aws::String && value)74 inline AssociatedGateway& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 75 76 /** 77 * <p>The ID of the associated gateway.</p> 78 */ WithId(const char * value)79 inline AssociatedGateway& WithId(const char* value) { SetId(value); return *this;} 80 81 82 /** 83 * <p>The type of associated gateway.</p> 84 */ GetType()85 inline const GatewayType& GetType() const{ return m_type; } 86 87 /** 88 * <p>The type of associated gateway.</p> 89 */ TypeHasBeenSet()90 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 91 92 /** 93 * <p>The type of associated gateway.</p> 94 */ SetType(const GatewayType & value)95 inline void SetType(const GatewayType& value) { m_typeHasBeenSet = true; m_type = value; } 96 97 /** 98 * <p>The type of associated gateway.</p> 99 */ SetType(GatewayType && value)100 inline void SetType(GatewayType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 101 102 /** 103 * <p>The type of associated gateway.</p> 104 */ WithType(const GatewayType & value)105 inline AssociatedGateway& WithType(const GatewayType& value) { SetType(value); return *this;} 106 107 /** 108 * <p>The type of associated gateway.</p> 109 */ WithType(GatewayType && value)110 inline AssociatedGateway& WithType(GatewayType&& value) { SetType(std::move(value)); return *this;} 111 112 113 /** 114 * <p>The ID of the Amazon Web Services account that owns the associated virtual 115 * private gateway or transit gateway.</p> 116 */ GetOwnerAccount()117 inline const Aws::String& GetOwnerAccount() const{ return m_ownerAccount; } 118 119 /** 120 * <p>The ID of the Amazon Web Services account that owns the associated virtual 121 * private gateway or transit gateway.</p> 122 */ OwnerAccountHasBeenSet()123 inline bool OwnerAccountHasBeenSet() const { return m_ownerAccountHasBeenSet; } 124 125 /** 126 * <p>The ID of the Amazon Web Services account that owns the associated virtual 127 * private gateway or transit gateway.</p> 128 */ SetOwnerAccount(const Aws::String & value)129 inline void SetOwnerAccount(const Aws::String& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = value; } 130 131 /** 132 * <p>The ID of the Amazon Web Services account that owns the associated virtual 133 * private gateway or transit gateway.</p> 134 */ SetOwnerAccount(Aws::String && value)135 inline void SetOwnerAccount(Aws::String&& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = std::move(value); } 136 137 /** 138 * <p>The ID of the Amazon Web Services account that owns the associated virtual 139 * private gateway or transit gateway.</p> 140 */ SetOwnerAccount(const char * value)141 inline void SetOwnerAccount(const char* value) { m_ownerAccountHasBeenSet = true; m_ownerAccount.assign(value); } 142 143 /** 144 * <p>The ID of the Amazon Web Services account that owns the associated virtual 145 * private gateway or transit gateway.</p> 146 */ WithOwnerAccount(const Aws::String & value)147 inline AssociatedGateway& WithOwnerAccount(const Aws::String& value) { SetOwnerAccount(value); return *this;} 148 149 /** 150 * <p>The ID of the Amazon Web Services account that owns the associated virtual 151 * private gateway or transit gateway.</p> 152 */ WithOwnerAccount(Aws::String && value)153 inline AssociatedGateway& WithOwnerAccount(Aws::String&& value) { SetOwnerAccount(std::move(value)); return *this;} 154 155 /** 156 * <p>The ID of the Amazon Web Services account that owns the associated virtual 157 * private gateway or transit gateway.</p> 158 */ WithOwnerAccount(const char * value)159 inline AssociatedGateway& WithOwnerAccount(const char* value) { SetOwnerAccount(value); return *this;} 160 161 162 /** 163 * <p>The Region where the associated gateway is located.</p> 164 */ GetRegion()165 inline const Aws::String& GetRegion() const{ return m_region; } 166 167 /** 168 * <p>The Region where the associated gateway is located.</p> 169 */ RegionHasBeenSet()170 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } 171 172 /** 173 * <p>The Region where the associated gateway is located.</p> 174 */ SetRegion(const Aws::String & value)175 inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } 176 177 /** 178 * <p>The Region where the associated gateway is located.</p> 179 */ SetRegion(Aws::String && value)180 inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } 181 182 /** 183 * <p>The Region where the associated gateway is located.</p> 184 */ SetRegion(const char * value)185 inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } 186 187 /** 188 * <p>The Region where the associated gateway is located.</p> 189 */ WithRegion(const Aws::String & value)190 inline AssociatedGateway& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} 191 192 /** 193 * <p>The Region where the associated gateway is located.</p> 194 */ WithRegion(Aws::String && value)195 inline AssociatedGateway& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} 196 197 /** 198 * <p>The Region where the associated gateway is located.</p> 199 */ WithRegion(const char * value)200 inline AssociatedGateway& WithRegion(const char* value) { SetRegion(value); return *this;} 201 202 private: 203 204 Aws::String m_id; 205 bool m_idHasBeenSet; 206 207 GatewayType m_type; 208 bool m_typeHasBeenSet; 209 210 Aws::String m_ownerAccount; 211 bool m_ownerAccountHasBeenSet; 212 213 Aws::String m_region; 214 bool m_regionHasBeenSet; 215 }; 216 217 } // namespace Model 218 } // namespace DirectConnect 219 } // namespace Aws 220