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/datasync/DataSync_EXPORTS.h> 8 #include <aws/datasync/DataSyncRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/datasync/model/TagListEntry.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace DataSync 17 { 18 namespace Model 19 { 20 21 /** 22 * <p>CreateAgentRequest</p><p><h3>See Also:</h3> <a 23 * href="http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateAgentRequest">AWS 24 * API Reference</a></p> 25 */ 26 class AWS_DATASYNC_API CreateAgentRequest : public DataSyncRequest 27 { 28 public: 29 CreateAgentRequest(); 30 31 // Service request name is the Operation name which will send this request out, 32 // each operation should has unique request name, so that we can get operation's name from this request. 33 // Note: this is not true for response, multiple operations may have the same response name, 34 // so we can not get operation's name from response. GetServiceRequestName()35 inline virtual const char* GetServiceRequestName() const override { return "CreateAgent"; } 36 37 Aws::String SerializePayload() const override; 38 39 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 40 41 42 /** 43 * <p>Your agent activation key. You can get the activation key either by sending 44 * an HTTP GET request with redirects that enable you to get the agent IP address 45 * (port 80). Alternatively, you can get it from the DataSync console.</p> <p>The 46 * redirect URL returned in the response provides you the activation key for your 47 * agent in the query string parameter <code>activationKey</code>. It might also 48 * include other activation-related parameters; however, these are merely defaults. 49 * The arguments you pass to this API call determine the actual configuration of 50 * your agent.</p> <p>For more information, see Activating an Agent in the 51 * <i>DataSync User Guide.</i> </p> 52 */ GetActivationKey()53 inline const Aws::String& GetActivationKey() const{ return m_activationKey; } 54 55 /** 56 * <p>Your agent activation key. You can get the activation key either by sending 57 * an HTTP GET request with redirects that enable you to get the agent IP address 58 * (port 80). Alternatively, you can get it from the DataSync console.</p> <p>The 59 * redirect URL returned in the response provides you the activation key for your 60 * agent in the query string parameter <code>activationKey</code>. It might also 61 * include other activation-related parameters; however, these are merely defaults. 62 * The arguments you pass to this API call determine the actual configuration of 63 * your agent.</p> <p>For more information, see Activating an Agent in the 64 * <i>DataSync User Guide.</i> </p> 65 */ ActivationKeyHasBeenSet()66 inline bool ActivationKeyHasBeenSet() const { return m_activationKeyHasBeenSet; } 67 68 /** 69 * <p>Your agent activation key. You can get the activation key either by sending 70 * an HTTP GET request with redirects that enable you to get the agent IP address 71 * (port 80). Alternatively, you can get it from the DataSync console.</p> <p>The 72 * redirect URL returned in the response provides you the activation key for your 73 * agent in the query string parameter <code>activationKey</code>. It might also 74 * include other activation-related parameters; however, these are merely defaults. 75 * The arguments you pass to this API call determine the actual configuration of 76 * your agent.</p> <p>For more information, see Activating an Agent in the 77 * <i>DataSync User Guide.</i> </p> 78 */ SetActivationKey(const Aws::String & value)79 inline void SetActivationKey(const Aws::String& value) { m_activationKeyHasBeenSet = true; m_activationKey = value; } 80 81 /** 82 * <p>Your agent activation key. You can get the activation key either by sending 83 * an HTTP GET request with redirects that enable you to get the agent IP address 84 * (port 80). Alternatively, you can get it from the DataSync console.</p> <p>The 85 * redirect URL returned in the response provides you the activation key for your 86 * agent in the query string parameter <code>activationKey</code>. It might also 87 * include other activation-related parameters; however, these are merely defaults. 88 * The arguments you pass to this API call determine the actual configuration of 89 * your agent.</p> <p>For more information, see Activating an Agent in the 90 * <i>DataSync User Guide.</i> </p> 91 */ SetActivationKey(Aws::String && value)92 inline void SetActivationKey(Aws::String&& value) { m_activationKeyHasBeenSet = true; m_activationKey = std::move(value); } 93 94 /** 95 * <p>Your agent activation key. You can get the activation key either by sending 96 * an HTTP GET request with redirects that enable you to get the agent IP address 97 * (port 80). Alternatively, you can get it from the DataSync console.</p> <p>The 98 * redirect URL returned in the response provides you the activation key for your 99 * agent in the query string parameter <code>activationKey</code>. It might also 100 * include other activation-related parameters; however, these are merely defaults. 101 * The arguments you pass to this API call determine the actual configuration of 102 * your agent.</p> <p>For more information, see Activating an Agent in the 103 * <i>DataSync User Guide.</i> </p> 104 */ SetActivationKey(const char * value)105 inline void SetActivationKey(const char* value) { m_activationKeyHasBeenSet = true; m_activationKey.assign(value); } 106 107 /** 108 * <p>Your agent activation key. You can get the activation key either by sending 109 * an HTTP GET request with redirects that enable you to get the agent IP address 110 * (port 80). Alternatively, you can get it from the DataSync console.</p> <p>The 111 * redirect URL returned in the response provides you the activation key for your 112 * agent in the query string parameter <code>activationKey</code>. It might also 113 * include other activation-related parameters; however, these are merely defaults. 114 * The arguments you pass to this API call determine the actual configuration of 115 * your agent.</p> <p>For more information, see Activating an Agent in the 116 * <i>DataSync User Guide.</i> </p> 117 */ WithActivationKey(const Aws::String & value)118 inline CreateAgentRequest& WithActivationKey(const Aws::String& value) { SetActivationKey(value); return *this;} 119 120 /** 121 * <p>Your agent activation key. You can get the activation key either by sending 122 * an HTTP GET request with redirects that enable you to get the agent IP address 123 * (port 80). Alternatively, you can get it from the DataSync console.</p> <p>The 124 * redirect URL returned in the response provides you the activation key for your 125 * agent in the query string parameter <code>activationKey</code>. It might also 126 * include other activation-related parameters; however, these are merely defaults. 127 * The arguments you pass to this API call determine the actual configuration of 128 * your agent.</p> <p>For more information, see Activating an Agent in the 129 * <i>DataSync User Guide.</i> </p> 130 */ WithActivationKey(Aws::String && value)131 inline CreateAgentRequest& WithActivationKey(Aws::String&& value) { SetActivationKey(std::move(value)); return *this;} 132 133 /** 134 * <p>Your agent activation key. You can get the activation key either by sending 135 * an HTTP GET request with redirects that enable you to get the agent IP address 136 * (port 80). Alternatively, you can get it from the DataSync console.</p> <p>The 137 * redirect URL returned in the response provides you the activation key for your 138 * agent in the query string parameter <code>activationKey</code>. It might also 139 * include other activation-related parameters; however, these are merely defaults. 140 * The arguments you pass to this API call determine the actual configuration of 141 * your agent.</p> <p>For more information, see Activating an Agent in the 142 * <i>DataSync User Guide.</i> </p> 143 */ WithActivationKey(const char * value)144 inline CreateAgentRequest& WithActivationKey(const char* value) { SetActivationKey(value); return *this;} 145 146 147 /** 148 * <p>The name you configured for your agent. This value is a text reference that 149 * is used to identify the agent in the console.</p> 150 */ GetAgentName()151 inline const Aws::String& GetAgentName() const{ return m_agentName; } 152 153 /** 154 * <p>The name you configured for your agent. This value is a text reference that 155 * is used to identify the agent in the console.</p> 156 */ AgentNameHasBeenSet()157 inline bool AgentNameHasBeenSet() const { return m_agentNameHasBeenSet; } 158 159 /** 160 * <p>The name you configured for your agent. This value is a text reference that 161 * is used to identify the agent in the console.</p> 162 */ SetAgentName(const Aws::String & value)163 inline void SetAgentName(const Aws::String& value) { m_agentNameHasBeenSet = true; m_agentName = value; } 164 165 /** 166 * <p>The name you configured for your agent. This value is a text reference that 167 * is used to identify the agent in the console.</p> 168 */ SetAgentName(Aws::String && value)169 inline void SetAgentName(Aws::String&& value) { m_agentNameHasBeenSet = true; m_agentName = std::move(value); } 170 171 /** 172 * <p>The name you configured for your agent. This value is a text reference that 173 * is used to identify the agent in the console.</p> 174 */ SetAgentName(const char * value)175 inline void SetAgentName(const char* value) { m_agentNameHasBeenSet = true; m_agentName.assign(value); } 176 177 /** 178 * <p>The name you configured for your agent. This value is a text reference that 179 * is used to identify the agent in the console.</p> 180 */ WithAgentName(const Aws::String & value)181 inline CreateAgentRequest& WithAgentName(const Aws::String& value) { SetAgentName(value); return *this;} 182 183 /** 184 * <p>The name you configured for your agent. This value is a text reference that 185 * is used to identify the agent in the console.</p> 186 */ WithAgentName(Aws::String && value)187 inline CreateAgentRequest& WithAgentName(Aws::String&& value) { SetAgentName(std::move(value)); return *this;} 188 189 /** 190 * <p>The name you configured for your agent. This value is a text reference that 191 * is used to identify the agent in the console.</p> 192 */ WithAgentName(const char * value)193 inline CreateAgentRequest& WithAgentName(const char* value) { SetAgentName(value); return *this;} 194 195 196 /** 197 * <p>The key-value pair that represents the tag that you want to associate with 198 * the agent. The value can be an empty string. This value helps you manage, 199 * filter, and search for your agents.</p> <p>Valid characters for key and 200 * value are letters, spaces, and numbers representable in UTF-8 format, and the 201 * following special characters: + - = . _ : / @. </p> 202 */ GetTags()203 inline const Aws::Vector<TagListEntry>& GetTags() const{ return m_tags; } 204 205 /** 206 * <p>The key-value pair that represents the tag that you want to associate with 207 * the agent. The value can be an empty string. This value helps you manage, 208 * filter, and search for your agents.</p> <p>Valid characters for key and 209 * value are letters, spaces, and numbers representable in UTF-8 format, and the 210 * following special characters: + - = . _ : / @. </p> 211 */ TagsHasBeenSet()212 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 213 214 /** 215 * <p>The key-value pair that represents the tag that you want to associate with 216 * the agent. The value can be an empty string. This value helps you manage, 217 * filter, and search for your agents.</p> <p>Valid characters for key and 218 * value are letters, spaces, and numbers representable in UTF-8 format, and the 219 * following special characters: + - = . _ : / @. </p> 220 */ SetTags(const Aws::Vector<TagListEntry> & value)221 inline void SetTags(const Aws::Vector<TagListEntry>& value) { m_tagsHasBeenSet = true; m_tags = value; } 222 223 /** 224 * <p>The key-value pair that represents the tag that you want to associate with 225 * the agent. The value can be an empty string. This value helps you manage, 226 * filter, and search for your agents.</p> <p>Valid characters for key and 227 * value are letters, spaces, and numbers representable in UTF-8 format, and the 228 * following special characters: + - = . _ : / @. </p> 229 */ SetTags(Aws::Vector<TagListEntry> && value)230 inline void SetTags(Aws::Vector<TagListEntry>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 231 232 /** 233 * <p>The key-value pair that represents the tag that you want to associate with 234 * the agent. The value can be an empty string. This value helps you manage, 235 * filter, and search for your agents.</p> <p>Valid characters for key and 236 * value are letters, spaces, and numbers representable in UTF-8 format, and the 237 * following special characters: + - = . _ : / @. </p> 238 */ WithTags(const Aws::Vector<TagListEntry> & value)239 inline CreateAgentRequest& WithTags(const Aws::Vector<TagListEntry>& value) { SetTags(value); return *this;} 240 241 /** 242 * <p>The key-value pair that represents the tag that you want to associate with 243 * the agent. The value can be an empty string. This value helps you manage, 244 * filter, and search for your agents.</p> <p>Valid characters for key and 245 * value are letters, spaces, and numbers representable in UTF-8 format, and the 246 * following special characters: + - = . _ : / @. </p> 247 */ WithTags(Aws::Vector<TagListEntry> && value)248 inline CreateAgentRequest& WithTags(Aws::Vector<TagListEntry>&& value) { SetTags(std::move(value)); return *this;} 249 250 /** 251 * <p>The key-value pair that represents the tag that you want to associate with 252 * the agent. The value can be an empty string. This value helps you manage, 253 * filter, and search for your agents.</p> <p>Valid characters for key and 254 * value are letters, spaces, and numbers representable in UTF-8 format, and the 255 * following special characters: + - = . _ : / @. </p> 256 */ AddTags(const TagListEntry & value)257 inline CreateAgentRequest& AddTags(const TagListEntry& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 258 259 /** 260 * <p>The key-value pair that represents the tag that you want to associate with 261 * the agent. The value can be an empty string. This value helps you manage, 262 * filter, and search for your agents.</p> <p>Valid characters for key and 263 * value are letters, spaces, and numbers representable in UTF-8 format, and the 264 * following special characters: + - = . _ : / @. </p> 265 */ AddTags(TagListEntry && value)266 inline CreateAgentRequest& AddTags(TagListEntry&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 267 268 269 /** 270 * <p>The ID of the VPC (virtual private cloud) endpoint that the agent has access 271 * to. This is the client-side VPC endpoint, also called a PrivateLink. If you 272 * don't have a PrivateLink VPC endpoint, see <a 273 * href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service">Creating 274 * a VPC Endpoint Service Configuration</a> in the Amazon VPC User Guide.</p> 275 * <p>VPC endpoint ID looks like this: <code>vpce-01234d5aff67890e1</code>.</p> 276 */ GetVpcEndpointId()277 inline const Aws::String& GetVpcEndpointId() const{ return m_vpcEndpointId; } 278 279 /** 280 * <p>The ID of the VPC (virtual private cloud) endpoint that the agent has access 281 * to. This is the client-side VPC endpoint, also called a PrivateLink. If you 282 * don't have a PrivateLink VPC endpoint, see <a 283 * href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service">Creating 284 * a VPC Endpoint Service Configuration</a> in the Amazon VPC User Guide.</p> 285 * <p>VPC endpoint ID looks like this: <code>vpce-01234d5aff67890e1</code>.</p> 286 */ VpcEndpointIdHasBeenSet()287 inline bool VpcEndpointIdHasBeenSet() const { return m_vpcEndpointIdHasBeenSet; } 288 289 /** 290 * <p>The ID of the VPC (virtual private cloud) endpoint that the agent has access 291 * to. This is the client-side VPC endpoint, also called a PrivateLink. If you 292 * don't have a PrivateLink VPC endpoint, see <a 293 * href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service">Creating 294 * a VPC Endpoint Service Configuration</a> in the Amazon VPC User Guide.</p> 295 * <p>VPC endpoint ID looks like this: <code>vpce-01234d5aff67890e1</code>.</p> 296 */ SetVpcEndpointId(const Aws::String & value)297 inline void SetVpcEndpointId(const Aws::String& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = value; } 298 299 /** 300 * <p>The ID of the VPC (virtual private cloud) endpoint that the agent has access 301 * to. This is the client-side VPC endpoint, also called a PrivateLink. If you 302 * don't have a PrivateLink VPC endpoint, see <a 303 * href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service">Creating 304 * a VPC Endpoint Service Configuration</a> in the Amazon VPC User Guide.</p> 305 * <p>VPC endpoint ID looks like this: <code>vpce-01234d5aff67890e1</code>.</p> 306 */ SetVpcEndpointId(Aws::String && value)307 inline void SetVpcEndpointId(Aws::String&& value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId = std::move(value); } 308 309 /** 310 * <p>The ID of the VPC (virtual private cloud) endpoint that the agent has access 311 * to. This is the client-side VPC endpoint, also called a PrivateLink. If you 312 * don't have a PrivateLink VPC endpoint, see <a 313 * href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service">Creating 314 * a VPC Endpoint Service Configuration</a> in the Amazon VPC User Guide.</p> 315 * <p>VPC endpoint ID looks like this: <code>vpce-01234d5aff67890e1</code>.</p> 316 */ SetVpcEndpointId(const char * value)317 inline void SetVpcEndpointId(const char* value) { m_vpcEndpointIdHasBeenSet = true; m_vpcEndpointId.assign(value); } 318 319 /** 320 * <p>The ID of the VPC (virtual private cloud) endpoint that the agent has access 321 * to. This is the client-side VPC endpoint, also called a PrivateLink. If you 322 * don't have a PrivateLink VPC endpoint, see <a 323 * href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service">Creating 324 * a VPC Endpoint Service Configuration</a> in the Amazon VPC User Guide.</p> 325 * <p>VPC endpoint ID looks like this: <code>vpce-01234d5aff67890e1</code>.</p> 326 */ WithVpcEndpointId(const Aws::String & value)327 inline CreateAgentRequest& WithVpcEndpointId(const Aws::String& value) { SetVpcEndpointId(value); return *this;} 328 329 /** 330 * <p>The ID of the VPC (virtual private cloud) endpoint that the agent has access 331 * to. This is the client-side VPC endpoint, also called a PrivateLink. If you 332 * don't have a PrivateLink VPC endpoint, see <a 333 * href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service">Creating 334 * a VPC Endpoint Service Configuration</a> in the Amazon VPC User Guide.</p> 335 * <p>VPC endpoint ID looks like this: <code>vpce-01234d5aff67890e1</code>.</p> 336 */ WithVpcEndpointId(Aws::String && value)337 inline CreateAgentRequest& WithVpcEndpointId(Aws::String&& value) { SetVpcEndpointId(std::move(value)); return *this;} 338 339 /** 340 * <p>The ID of the VPC (virtual private cloud) endpoint that the agent has access 341 * to. This is the client-side VPC endpoint, also called a PrivateLink. If you 342 * don't have a PrivateLink VPC endpoint, see <a 343 * href="https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service">Creating 344 * a VPC Endpoint Service Configuration</a> in the Amazon VPC User Guide.</p> 345 * <p>VPC endpoint ID looks like this: <code>vpce-01234d5aff67890e1</code>.</p> 346 */ WithVpcEndpointId(const char * value)347 inline CreateAgentRequest& WithVpcEndpointId(const char* value) { SetVpcEndpointId(value); return *this;} 348 349 350 /** 351 * <p>The Amazon Resource Names (ARNs) of the subnets in which DataSync will create 352 * elastic network interfaces for each data transfer task. The agent that runs a 353 * task must be private. When you start a task that is associated with an agent 354 * created in a VPC, or one that has access to an IP address in a VPC, then the 355 * task is also private. In this case, DataSync creates four network interfaces for 356 * each task in your subnet. For a data transfer to work, the agent must be able to 357 * route to all these four network interfaces.</p> 358 */ GetSubnetArns()359 inline const Aws::Vector<Aws::String>& GetSubnetArns() const{ return m_subnetArns; } 360 361 /** 362 * <p>The Amazon Resource Names (ARNs) of the subnets in which DataSync will create 363 * elastic network interfaces for each data transfer task. The agent that runs a 364 * task must be private. When you start a task that is associated with an agent 365 * created in a VPC, or one that has access to an IP address in a VPC, then the 366 * task is also private. In this case, DataSync creates four network interfaces for 367 * each task in your subnet. For a data transfer to work, the agent must be able to 368 * route to all these four network interfaces.</p> 369 */ SubnetArnsHasBeenSet()370 inline bool SubnetArnsHasBeenSet() const { return m_subnetArnsHasBeenSet; } 371 372 /** 373 * <p>The Amazon Resource Names (ARNs) of the subnets in which DataSync will create 374 * elastic network interfaces for each data transfer task. The agent that runs a 375 * task must be private. When you start a task that is associated with an agent 376 * created in a VPC, or one that has access to an IP address in a VPC, then the 377 * task is also private. In this case, DataSync creates four network interfaces for 378 * each task in your subnet. For a data transfer to work, the agent must be able to 379 * route to all these four network interfaces.</p> 380 */ SetSubnetArns(const Aws::Vector<Aws::String> & value)381 inline void SetSubnetArns(const Aws::Vector<Aws::String>& value) { m_subnetArnsHasBeenSet = true; m_subnetArns = value; } 382 383 /** 384 * <p>The Amazon Resource Names (ARNs) of the subnets in which DataSync will create 385 * elastic network interfaces for each data transfer task. The agent that runs a 386 * task must be private. When you start a task that is associated with an agent 387 * created in a VPC, or one that has access to an IP address in a VPC, then the 388 * task is also private. In this case, DataSync creates four network interfaces for 389 * each task in your subnet. For a data transfer to work, the agent must be able to 390 * route to all these four network interfaces.</p> 391 */ SetSubnetArns(Aws::Vector<Aws::String> && value)392 inline void SetSubnetArns(Aws::Vector<Aws::String>&& value) { m_subnetArnsHasBeenSet = true; m_subnetArns = std::move(value); } 393 394 /** 395 * <p>The Amazon Resource Names (ARNs) of the subnets in which DataSync will create 396 * elastic network interfaces for each data transfer task. The agent that runs a 397 * task must be private. When you start a task that is associated with an agent 398 * created in a VPC, or one that has access to an IP address in a VPC, then the 399 * task is also private. In this case, DataSync creates four network interfaces for 400 * each task in your subnet. For a data transfer to work, the agent must be able to 401 * route to all these four network interfaces.</p> 402 */ WithSubnetArns(const Aws::Vector<Aws::String> & value)403 inline CreateAgentRequest& WithSubnetArns(const Aws::Vector<Aws::String>& value) { SetSubnetArns(value); return *this;} 404 405 /** 406 * <p>The Amazon Resource Names (ARNs) of the subnets in which DataSync will create 407 * elastic network interfaces for each data transfer task. The agent that runs a 408 * task must be private. When you start a task that is associated with an agent 409 * created in a VPC, or one that has access to an IP address in a VPC, then the 410 * task is also private. In this case, DataSync creates four network interfaces for 411 * each task in your subnet. For a data transfer to work, the agent must be able to 412 * route to all these four network interfaces.</p> 413 */ WithSubnetArns(Aws::Vector<Aws::String> && value)414 inline CreateAgentRequest& WithSubnetArns(Aws::Vector<Aws::String>&& value) { SetSubnetArns(std::move(value)); return *this;} 415 416 /** 417 * <p>The Amazon Resource Names (ARNs) of the subnets in which DataSync will create 418 * elastic network interfaces for each data transfer task. The agent that runs a 419 * task must be private. When you start a task that is associated with an agent 420 * created in a VPC, or one that has access to an IP address in a VPC, then the 421 * task is also private. In this case, DataSync creates four network interfaces for 422 * each task in your subnet. For a data transfer to work, the agent must be able to 423 * route to all these four network interfaces.</p> 424 */ AddSubnetArns(const Aws::String & value)425 inline CreateAgentRequest& AddSubnetArns(const Aws::String& value) { m_subnetArnsHasBeenSet = true; m_subnetArns.push_back(value); return *this; } 426 427 /** 428 * <p>The Amazon Resource Names (ARNs) of the subnets in which DataSync will create 429 * elastic network interfaces for each data transfer task. The agent that runs a 430 * task must be private. When you start a task that is associated with an agent 431 * created in a VPC, or one that has access to an IP address in a VPC, then the 432 * task is also private. In this case, DataSync creates four network interfaces for 433 * each task in your subnet. For a data transfer to work, the agent must be able to 434 * route to all these four network interfaces.</p> 435 */ AddSubnetArns(Aws::String && value)436 inline CreateAgentRequest& AddSubnetArns(Aws::String&& value) { m_subnetArnsHasBeenSet = true; m_subnetArns.push_back(std::move(value)); return *this; } 437 438 /** 439 * <p>The Amazon Resource Names (ARNs) of the subnets in which DataSync will create 440 * elastic network interfaces for each data transfer task. The agent that runs a 441 * task must be private. When you start a task that is associated with an agent 442 * created in a VPC, or one that has access to an IP address in a VPC, then the 443 * task is also private. In this case, DataSync creates four network interfaces for 444 * each task in your subnet. For a data transfer to work, the agent must be able to 445 * route to all these four network interfaces.</p> 446 */ AddSubnetArns(const char * value)447 inline CreateAgentRequest& AddSubnetArns(const char* value) { m_subnetArnsHasBeenSet = true; m_subnetArns.push_back(value); return *this; } 448 449 450 /** 451 * <p>The ARNs of the security groups used to protect your data transfer task 452 * subnets. See <a 453 * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.</p> 454 */ GetSecurityGroupArns()455 inline const Aws::Vector<Aws::String>& GetSecurityGroupArns() const{ return m_securityGroupArns; } 456 457 /** 458 * <p>The ARNs of the security groups used to protect your data transfer task 459 * subnets. See <a 460 * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.</p> 461 */ SecurityGroupArnsHasBeenSet()462 inline bool SecurityGroupArnsHasBeenSet() const { return m_securityGroupArnsHasBeenSet; } 463 464 /** 465 * <p>The ARNs of the security groups used to protect your data transfer task 466 * subnets. See <a 467 * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.</p> 468 */ SetSecurityGroupArns(const Aws::Vector<Aws::String> & value)469 inline void SetSecurityGroupArns(const Aws::Vector<Aws::String>& value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns = value; } 470 471 /** 472 * <p>The ARNs of the security groups used to protect your data transfer task 473 * subnets. See <a 474 * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.</p> 475 */ SetSecurityGroupArns(Aws::Vector<Aws::String> && value)476 inline void SetSecurityGroupArns(Aws::Vector<Aws::String>&& value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns = std::move(value); } 477 478 /** 479 * <p>The ARNs of the security groups used to protect your data transfer task 480 * subnets. See <a 481 * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.</p> 482 */ WithSecurityGroupArns(const Aws::Vector<Aws::String> & value)483 inline CreateAgentRequest& WithSecurityGroupArns(const Aws::Vector<Aws::String>& value) { SetSecurityGroupArns(value); return *this;} 484 485 /** 486 * <p>The ARNs of the security groups used to protect your data transfer task 487 * subnets. See <a 488 * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.</p> 489 */ WithSecurityGroupArns(Aws::Vector<Aws::String> && value)490 inline CreateAgentRequest& WithSecurityGroupArns(Aws::Vector<Aws::String>&& value) { SetSecurityGroupArns(std::move(value)); return *this;} 491 492 /** 493 * <p>The ARNs of the security groups used to protect your data transfer task 494 * subnets. See <a 495 * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.</p> 496 */ AddSecurityGroupArns(const Aws::String & value)497 inline CreateAgentRequest& AddSecurityGroupArns(const Aws::String& value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns.push_back(value); return *this; } 498 499 /** 500 * <p>The ARNs of the security groups used to protect your data transfer task 501 * subnets. See <a 502 * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.</p> 503 */ AddSecurityGroupArns(Aws::String && value)504 inline CreateAgentRequest& AddSecurityGroupArns(Aws::String&& value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns.push_back(std::move(value)); return *this; } 505 506 /** 507 * <p>The ARNs of the security groups used to protect your data transfer task 508 * subnets. See <a 509 * href="https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns">SecurityGroupArns</a>.</p> 510 */ AddSecurityGroupArns(const char * value)511 inline CreateAgentRequest& AddSecurityGroupArns(const char* value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns.push_back(value); return *this; } 512 513 private: 514 515 Aws::String m_activationKey; 516 bool m_activationKeyHasBeenSet; 517 518 Aws::String m_agentName; 519 bool m_agentNameHasBeenSet; 520 521 Aws::Vector<TagListEntry> m_tags; 522 bool m_tagsHasBeenSet; 523 524 Aws::String m_vpcEndpointId; 525 bool m_vpcEndpointIdHasBeenSet; 526 527 Aws::Vector<Aws::String> m_subnetArns; 528 bool m_subnetArnsHasBeenSet; 529 530 Aws::Vector<Aws::String> m_securityGroupArns; 531 bool m_securityGroupArnsHasBeenSet; 532 }; 533 534 } // namespace Model 535 } // namespace DataSync 536 } // namespace Aws 537