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/networkmanager/NetworkManager_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/networkmanager/model/CustomerGatewayAssociationState.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 NetworkManager 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Describes the association between a customer gateway, a device, and a 29 * link.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/networkmanager-2019-07-05/CustomerGatewayAssociation">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_NETWORKMANAGER_API CustomerGatewayAssociation 34 { 35 public: 36 CustomerGatewayAssociation(); 37 CustomerGatewayAssociation(Aws::Utils::Json::JsonView jsonValue); 38 CustomerGatewayAssociation& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The Amazon Resource Name (ARN) of the customer gateway.</p> 44 */ GetCustomerGatewayArn()45 inline const Aws::String& GetCustomerGatewayArn() const{ return m_customerGatewayArn; } 46 47 /** 48 * <p>The Amazon Resource Name (ARN) of the customer gateway.</p> 49 */ CustomerGatewayArnHasBeenSet()50 inline bool CustomerGatewayArnHasBeenSet() const { return m_customerGatewayArnHasBeenSet; } 51 52 /** 53 * <p>The Amazon Resource Name (ARN) of the customer gateway.</p> 54 */ SetCustomerGatewayArn(const Aws::String & value)55 inline void SetCustomerGatewayArn(const Aws::String& value) { m_customerGatewayArnHasBeenSet = true; m_customerGatewayArn = value; } 56 57 /** 58 * <p>The Amazon Resource Name (ARN) of the customer gateway.</p> 59 */ SetCustomerGatewayArn(Aws::String && value)60 inline void SetCustomerGatewayArn(Aws::String&& value) { m_customerGatewayArnHasBeenSet = true; m_customerGatewayArn = std::move(value); } 61 62 /** 63 * <p>The Amazon Resource Name (ARN) of the customer gateway.</p> 64 */ SetCustomerGatewayArn(const char * value)65 inline void SetCustomerGatewayArn(const char* value) { m_customerGatewayArnHasBeenSet = true; m_customerGatewayArn.assign(value); } 66 67 /** 68 * <p>The Amazon Resource Name (ARN) of the customer gateway.</p> 69 */ WithCustomerGatewayArn(const Aws::String & value)70 inline CustomerGatewayAssociation& WithCustomerGatewayArn(const Aws::String& value) { SetCustomerGatewayArn(value); return *this;} 71 72 /** 73 * <p>The Amazon Resource Name (ARN) of the customer gateway.</p> 74 */ WithCustomerGatewayArn(Aws::String && value)75 inline CustomerGatewayAssociation& WithCustomerGatewayArn(Aws::String&& value) { SetCustomerGatewayArn(std::move(value)); return *this;} 76 77 /** 78 * <p>The Amazon Resource Name (ARN) of the customer gateway.</p> 79 */ WithCustomerGatewayArn(const char * value)80 inline CustomerGatewayAssociation& WithCustomerGatewayArn(const char* value) { SetCustomerGatewayArn(value); return *this;} 81 82 83 /** 84 * <p>The ID of the global network.</p> 85 */ GetGlobalNetworkId()86 inline const Aws::String& GetGlobalNetworkId() const{ return m_globalNetworkId; } 87 88 /** 89 * <p>The ID of the global network.</p> 90 */ GlobalNetworkIdHasBeenSet()91 inline bool GlobalNetworkIdHasBeenSet() const { return m_globalNetworkIdHasBeenSet; } 92 93 /** 94 * <p>The ID of the global network.</p> 95 */ SetGlobalNetworkId(const Aws::String & value)96 inline void SetGlobalNetworkId(const Aws::String& value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId = value; } 97 98 /** 99 * <p>The ID of the global network.</p> 100 */ SetGlobalNetworkId(Aws::String && value)101 inline void SetGlobalNetworkId(Aws::String&& value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId = std::move(value); } 102 103 /** 104 * <p>The ID of the global network.</p> 105 */ SetGlobalNetworkId(const char * value)106 inline void SetGlobalNetworkId(const char* value) { m_globalNetworkIdHasBeenSet = true; m_globalNetworkId.assign(value); } 107 108 /** 109 * <p>The ID of the global network.</p> 110 */ WithGlobalNetworkId(const Aws::String & value)111 inline CustomerGatewayAssociation& WithGlobalNetworkId(const Aws::String& value) { SetGlobalNetworkId(value); return *this;} 112 113 /** 114 * <p>The ID of the global network.</p> 115 */ WithGlobalNetworkId(Aws::String && value)116 inline CustomerGatewayAssociation& WithGlobalNetworkId(Aws::String&& value) { SetGlobalNetworkId(std::move(value)); return *this;} 117 118 /** 119 * <p>The ID of the global network.</p> 120 */ WithGlobalNetworkId(const char * value)121 inline CustomerGatewayAssociation& WithGlobalNetworkId(const char* value) { SetGlobalNetworkId(value); return *this;} 122 123 124 /** 125 * <p>The ID of the device.</p> 126 */ GetDeviceId()127 inline const Aws::String& GetDeviceId() const{ return m_deviceId; } 128 129 /** 130 * <p>The ID of the device.</p> 131 */ DeviceIdHasBeenSet()132 inline bool DeviceIdHasBeenSet() const { return m_deviceIdHasBeenSet; } 133 134 /** 135 * <p>The ID of the device.</p> 136 */ SetDeviceId(const Aws::String & value)137 inline void SetDeviceId(const Aws::String& value) { m_deviceIdHasBeenSet = true; m_deviceId = value; } 138 139 /** 140 * <p>The ID of the device.</p> 141 */ SetDeviceId(Aws::String && value)142 inline void SetDeviceId(Aws::String&& value) { m_deviceIdHasBeenSet = true; m_deviceId = std::move(value); } 143 144 /** 145 * <p>The ID of the device.</p> 146 */ SetDeviceId(const char * value)147 inline void SetDeviceId(const char* value) { m_deviceIdHasBeenSet = true; m_deviceId.assign(value); } 148 149 /** 150 * <p>The ID of the device.</p> 151 */ WithDeviceId(const Aws::String & value)152 inline CustomerGatewayAssociation& WithDeviceId(const Aws::String& value) { SetDeviceId(value); return *this;} 153 154 /** 155 * <p>The ID of the device.</p> 156 */ WithDeviceId(Aws::String && value)157 inline CustomerGatewayAssociation& WithDeviceId(Aws::String&& value) { SetDeviceId(std::move(value)); return *this;} 158 159 /** 160 * <p>The ID of the device.</p> 161 */ WithDeviceId(const char * value)162 inline CustomerGatewayAssociation& WithDeviceId(const char* value) { SetDeviceId(value); return *this;} 163 164 165 /** 166 * <p>The ID of the link.</p> 167 */ GetLinkId()168 inline const Aws::String& GetLinkId() const{ return m_linkId; } 169 170 /** 171 * <p>The ID of the link.</p> 172 */ LinkIdHasBeenSet()173 inline bool LinkIdHasBeenSet() const { return m_linkIdHasBeenSet; } 174 175 /** 176 * <p>The ID of the link.</p> 177 */ SetLinkId(const Aws::String & value)178 inline void SetLinkId(const Aws::String& value) { m_linkIdHasBeenSet = true; m_linkId = value; } 179 180 /** 181 * <p>The ID of the link.</p> 182 */ SetLinkId(Aws::String && value)183 inline void SetLinkId(Aws::String&& value) { m_linkIdHasBeenSet = true; m_linkId = std::move(value); } 184 185 /** 186 * <p>The ID of the link.</p> 187 */ SetLinkId(const char * value)188 inline void SetLinkId(const char* value) { m_linkIdHasBeenSet = true; m_linkId.assign(value); } 189 190 /** 191 * <p>The ID of the link.</p> 192 */ WithLinkId(const Aws::String & value)193 inline CustomerGatewayAssociation& WithLinkId(const Aws::String& value) { SetLinkId(value); return *this;} 194 195 /** 196 * <p>The ID of the link.</p> 197 */ WithLinkId(Aws::String && value)198 inline CustomerGatewayAssociation& WithLinkId(Aws::String&& value) { SetLinkId(std::move(value)); return *this;} 199 200 /** 201 * <p>The ID of the link.</p> 202 */ WithLinkId(const char * value)203 inline CustomerGatewayAssociation& WithLinkId(const char* value) { SetLinkId(value); return *this;} 204 205 206 /** 207 * <p>The association state.</p> 208 */ GetState()209 inline const CustomerGatewayAssociationState& GetState() const{ return m_state; } 210 211 /** 212 * <p>The association state.</p> 213 */ StateHasBeenSet()214 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } 215 216 /** 217 * <p>The association state.</p> 218 */ SetState(const CustomerGatewayAssociationState & value)219 inline void SetState(const CustomerGatewayAssociationState& value) { m_stateHasBeenSet = true; m_state = value; } 220 221 /** 222 * <p>The association state.</p> 223 */ SetState(CustomerGatewayAssociationState && value)224 inline void SetState(CustomerGatewayAssociationState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } 225 226 /** 227 * <p>The association state.</p> 228 */ WithState(const CustomerGatewayAssociationState & value)229 inline CustomerGatewayAssociation& WithState(const CustomerGatewayAssociationState& value) { SetState(value); return *this;} 230 231 /** 232 * <p>The association state.</p> 233 */ WithState(CustomerGatewayAssociationState && value)234 inline CustomerGatewayAssociation& WithState(CustomerGatewayAssociationState&& value) { SetState(std::move(value)); return *this;} 235 236 private: 237 238 Aws::String m_customerGatewayArn; 239 bool m_customerGatewayArnHasBeenSet; 240 241 Aws::String m_globalNetworkId; 242 bool m_globalNetworkIdHasBeenSet; 243 244 Aws::String m_deviceId; 245 bool m_deviceIdHasBeenSet; 246 247 Aws::String m_linkId; 248 bool m_linkIdHasBeenSet; 249 250 CustomerGatewayAssociationState m_state; 251 bool m_stateHasBeenSet; 252 }; 253 254 } // namespace Model 255 } // namespace NetworkManager 256 } // namespace Aws 257