/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include This structure specifies the VPC subnets and security groups for the task,
* and whether a public IP address is to be used. This structure is relevant only
* for ECS tasks that use the awsvpc
network mode.See
* Also:
AWS
* API Reference
Specifies whether the task's elastic network interface receives a public IP
* address. You can specify ENABLED
only when LaunchType
* in EcsParameters
is set to FARGATE
.
Specifies whether the task's elastic network interface receives a public IP
* address. You can specify ENABLED
only when LaunchType
* in EcsParameters
is set to FARGATE
.
Specifies whether the task's elastic network interface receives a public IP
* address. You can specify ENABLED
only when LaunchType
* in EcsParameters
is set to FARGATE
.
Specifies whether the task's elastic network interface receives a public IP
* address. You can specify ENABLED
only when LaunchType
* in EcsParameters
is set to FARGATE
.
Specifies whether the task's elastic network interface receives a public IP
* address. You can specify ENABLED
only when LaunchType
* in EcsParameters
is set to FARGATE
.
Specifies whether the task's elastic network interface receives a public IP
* address. You can specify ENABLED
only when LaunchType
* in EcsParameters
is set to FARGATE
.
Specifies the security groups associated with the task. These security groups * must all be in the same VPC. You can specify as many as five security groups. If * you do not specify a security group, the default security group for the VPC is * used.
*/ inline const Aws::VectorSpecifies the security groups associated with the task. These security groups * must all be in the same VPC. You can specify as many as five security groups. If * you do not specify a security group, the default security group for the VPC is * used.
*/ inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } /** *Specifies the security groups associated with the task. These security groups * must all be in the same VPC. You can specify as many as five security groups. If * you do not specify a security group, the default security group for the VPC is * used.
*/ inline void SetSecurityGroups(const Aws::VectorSpecifies the security groups associated with the task. These security groups * must all be in the same VPC. You can specify as many as five security groups. If * you do not specify a security group, the default security group for the VPC is * used.
*/ inline void SetSecurityGroups(Aws::VectorSpecifies the security groups associated with the task. These security groups * must all be in the same VPC. You can specify as many as five security groups. If * you do not specify a security group, the default security group for the VPC is * used.
*/ inline AwsVpcConfiguration& WithSecurityGroups(const Aws::VectorSpecifies the security groups associated with the task. These security groups * must all be in the same VPC. You can specify as many as five security groups. If * you do not specify a security group, the default security group for the VPC is * used.
*/ inline AwsVpcConfiguration& WithSecurityGroups(Aws::VectorSpecifies the security groups associated with the task. These security groups * must all be in the same VPC. You can specify as many as five security groups. If * you do not specify a security group, the default security group for the VPC is * used.
*/ inline AwsVpcConfiguration& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *Specifies the security groups associated with the task. These security groups * must all be in the same VPC. You can specify as many as five security groups. If * you do not specify a security group, the default security group for the VPC is * used.
*/ inline AwsVpcConfiguration& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } /** *Specifies the security groups associated with the task. These security groups * must all be in the same VPC. You can specify as many as five security groups. If * you do not specify a security group, the default security group for the VPC is * used.
*/ inline AwsVpcConfiguration& AddSecurityGroups(const char* value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *Specifies the subnets associated with the task. These subnets must all be in * the same VPC. You can specify as many as 16 subnets.
*/ inline const Aws::VectorSpecifies the subnets associated with the task. These subnets must all be in * the same VPC. You can specify as many as 16 subnets.
*/ inline bool SubnetsHasBeenSet() const { return m_subnetsHasBeenSet; } /** *Specifies the subnets associated with the task. These subnets must all be in * the same VPC. You can specify as many as 16 subnets.
*/ inline void SetSubnets(const Aws::VectorSpecifies the subnets associated with the task. These subnets must all be in * the same VPC. You can specify as many as 16 subnets.
*/ inline void SetSubnets(Aws::VectorSpecifies the subnets associated with the task. These subnets must all be in * the same VPC. You can specify as many as 16 subnets.
*/ inline AwsVpcConfiguration& WithSubnets(const Aws::VectorSpecifies the subnets associated with the task. These subnets must all be in * the same VPC. You can specify as many as 16 subnets.
*/ inline AwsVpcConfiguration& WithSubnets(Aws::VectorSpecifies the subnets associated with the task. These subnets must all be in * the same VPC. You can specify as many as 16 subnets.
*/ inline AwsVpcConfiguration& AddSubnets(const Aws::String& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; } /** *Specifies the subnets associated with the task. These subnets must all be in * the same VPC. You can specify as many as 16 subnets.
*/ inline AwsVpcConfiguration& AddSubnets(Aws::String&& value) { m_subnetsHasBeenSet = true; m_subnets.push_back(std::move(value)); return *this; } /** *Specifies the subnets associated with the task. These subnets must all be in * the same VPC. You can specify as many as 16 subnets.
*/ inline AwsVpcConfiguration& AddSubnets(const char* value) { m_subnetsHasBeenSet = true; m_subnets.push_back(value); return *this; } private: AssignPublicIp m_assignPublicIp; bool m_assignPublicIpHasBeenSet = false; Aws::Vector