/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Batch { namespace Model { /** *

The network configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this * parameter.

See Also:

AWS * API Reference

*/ class NetworkConfiguration { public: AWS_BATCH_API NetworkConfiguration(); AWS_BATCH_API NetworkConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API NetworkConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Indicates whether the job has a public IP address. For a job that's running * on Fargate resources in a private subnet to send outbound traffic to the * internet (for example, to pull container images), the private subnet requires a * NAT gateway be attached to route requests to the internet. For more information, * see Amazon * ECS task networking in the Amazon Elastic Container Service Developer * Guide. The default value is "DISABLED".

*/ inline const AssignPublicIp& GetAssignPublicIp() const{ return m_assignPublicIp; } /** *

Indicates whether the job has a public IP address. For a job that's running * on Fargate resources in a private subnet to send outbound traffic to the * internet (for example, to pull container images), the private subnet requires a * NAT gateway be attached to route requests to the internet. For more information, * see Amazon * ECS task networking in the Amazon Elastic Container Service Developer * Guide. The default value is "DISABLED".

*/ inline bool AssignPublicIpHasBeenSet() const { return m_assignPublicIpHasBeenSet; } /** *

Indicates whether the job has a public IP address. For a job that's running * on Fargate resources in a private subnet to send outbound traffic to the * internet (for example, to pull container images), the private subnet requires a * NAT gateway be attached to route requests to the internet. For more information, * see Amazon * ECS task networking in the Amazon Elastic Container Service Developer * Guide. The default value is "DISABLED".

*/ inline void SetAssignPublicIp(const AssignPublicIp& value) { m_assignPublicIpHasBeenSet = true; m_assignPublicIp = value; } /** *

Indicates whether the job has a public IP address. For a job that's running * on Fargate resources in a private subnet to send outbound traffic to the * internet (for example, to pull container images), the private subnet requires a * NAT gateway be attached to route requests to the internet. For more information, * see Amazon * ECS task networking in the Amazon Elastic Container Service Developer * Guide. The default value is "DISABLED".

*/ inline void SetAssignPublicIp(AssignPublicIp&& value) { m_assignPublicIpHasBeenSet = true; m_assignPublicIp = std::move(value); } /** *

Indicates whether the job has a public IP address. For a job that's running * on Fargate resources in a private subnet to send outbound traffic to the * internet (for example, to pull container images), the private subnet requires a * NAT gateway be attached to route requests to the internet. For more information, * see Amazon * ECS task networking in the Amazon Elastic Container Service Developer * Guide. The default value is "DISABLED".

*/ inline NetworkConfiguration& WithAssignPublicIp(const AssignPublicIp& value) { SetAssignPublicIp(value); return *this;} /** *

Indicates whether the job has a public IP address. For a job that's running * on Fargate resources in a private subnet to send outbound traffic to the * internet (for example, to pull container images), the private subnet requires a * NAT gateway be attached to route requests to the internet. For more information, * see Amazon * ECS task networking in the Amazon Elastic Container Service Developer * Guide. The default value is "DISABLED".

*/ inline NetworkConfiguration& WithAssignPublicIp(AssignPublicIp&& value) { SetAssignPublicIp(std::move(value)); return *this;} private: AssignPublicIp m_assignPublicIp; bool m_assignPublicIpHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws