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

The subnet and the security group that DataSync uses to access target EFS * file system. The subnet must have at least one mount target for that file * system. The security group that you provide needs to be able to communicate with * the security group on the mount target in the subnet specified.

See * Also:

AWS * API Reference

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

The ARN of the subnet and the security group that DataSync uses to access the * target EFS file system.

*/ inline const Aws::String& GetSubnetArn() const{ return m_subnetArn; } /** *

The ARN of the subnet and the security group that DataSync uses to access the * target EFS file system.

*/ inline bool SubnetArnHasBeenSet() const { return m_subnetArnHasBeenSet; } /** *

The ARN of the subnet and the security group that DataSync uses to access the * target EFS file system.

*/ inline void SetSubnetArn(const Aws::String& value) { m_subnetArnHasBeenSet = true; m_subnetArn = value; } /** *

The ARN of the subnet and the security group that DataSync uses to access the * target EFS file system.

*/ inline void SetSubnetArn(Aws::String&& value) { m_subnetArnHasBeenSet = true; m_subnetArn = std::move(value); } /** *

The ARN of the subnet and the security group that DataSync uses to access the * target EFS file system.

*/ inline void SetSubnetArn(const char* value) { m_subnetArnHasBeenSet = true; m_subnetArn.assign(value); } /** *

The ARN of the subnet and the security group that DataSync uses to access the * target EFS file system.

*/ inline Ec2Config& WithSubnetArn(const Aws::String& value) { SetSubnetArn(value); return *this;} /** *

The ARN of the subnet and the security group that DataSync uses to access the * target EFS file system.

*/ inline Ec2Config& WithSubnetArn(Aws::String&& value) { SetSubnetArn(std::move(value)); return *this;} /** *

The ARN of the subnet and the security group that DataSync uses to access the * target EFS file system.

*/ inline Ec2Config& WithSubnetArn(const char* value) { SetSubnetArn(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the security groups that are configured * for the Amazon EC2 resource.

*/ inline const Aws::Vector& GetSecurityGroupArns() const{ return m_securityGroupArns; } /** *

The Amazon Resource Names (ARNs) of the security groups that are configured * for the Amazon EC2 resource.

*/ inline bool SecurityGroupArnsHasBeenSet() const { return m_securityGroupArnsHasBeenSet; } /** *

The Amazon Resource Names (ARNs) of the security groups that are configured * for the Amazon EC2 resource.

*/ inline void SetSecurityGroupArns(const Aws::Vector& value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns = value; } /** *

The Amazon Resource Names (ARNs) of the security groups that are configured * for the Amazon EC2 resource.

*/ inline void SetSecurityGroupArns(Aws::Vector&& value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns = std::move(value); } /** *

The Amazon Resource Names (ARNs) of the security groups that are configured * for the Amazon EC2 resource.

*/ inline Ec2Config& WithSecurityGroupArns(const Aws::Vector& value) { SetSecurityGroupArns(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the security groups that are configured * for the Amazon EC2 resource.

*/ inline Ec2Config& WithSecurityGroupArns(Aws::Vector&& value) { SetSecurityGroupArns(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) of the security groups that are configured * for the Amazon EC2 resource.

*/ inline Ec2Config& AddSecurityGroupArns(const Aws::String& value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns.push_back(value); return *this; } /** *

The Amazon Resource Names (ARNs) of the security groups that are configured * for the Amazon EC2 resource.

*/ inline Ec2Config& AddSecurityGroupArns(Aws::String&& value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) of the security groups that are configured * for the Amazon EC2 resource.

*/ inline Ec2Config& AddSecurityGroupArns(const char* value) { m_securityGroupArnsHasBeenSet = true; m_securityGroupArns.push_back(value); return *this; } private: Aws::String m_subnetArn; bool m_subnetArnHasBeenSet; Aws::Vector m_securityGroupArns; bool m_securityGroupArnsHasBeenSet; }; } // namespace Model } // namespace DataSync } // namespace Aws