/** * 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 Glue { namespace Model { /** *

Specifies the physical requirements for a connection.

See * Also:

AWS * API Reference

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

The subnet ID used by the connection.

*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *

The subnet ID used by the connection.

*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *

The subnet ID used by the connection.

*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *

The subnet ID used by the connection.

*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *

The subnet ID used by the connection.

*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *

The subnet ID used by the connection.

*/ inline PhysicalConnectionRequirements& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *

The subnet ID used by the connection.

*/ inline PhysicalConnectionRequirements& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *

The subnet ID used by the connection.

*/ inline PhysicalConnectionRequirements& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *

The security group ID list used by the connection.

*/ inline const Aws::Vector& GetSecurityGroupIdList() const{ return m_securityGroupIdList; } /** *

The security group ID list used by the connection.

*/ inline bool SecurityGroupIdListHasBeenSet() const { return m_securityGroupIdListHasBeenSet; } /** *

The security group ID list used by the connection.

*/ inline void SetSecurityGroupIdList(const Aws::Vector& value) { m_securityGroupIdListHasBeenSet = true; m_securityGroupIdList = value; } /** *

The security group ID list used by the connection.

*/ inline void SetSecurityGroupIdList(Aws::Vector&& value) { m_securityGroupIdListHasBeenSet = true; m_securityGroupIdList = std::move(value); } /** *

The security group ID list used by the connection.

*/ inline PhysicalConnectionRequirements& WithSecurityGroupIdList(const Aws::Vector& value) { SetSecurityGroupIdList(value); return *this;} /** *

The security group ID list used by the connection.

*/ inline PhysicalConnectionRequirements& WithSecurityGroupIdList(Aws::Vector&& value) { SetSecurityGroupIdList(std::move(value)); return *this;} /** *

The security group ID list used by the connection.

*/ inline PhysicalConnectionRequirements& AddSecurityGroupIdList(const Aws::String& value) { m_securityGroupIdListHasBeenSet = true; m_securityGroupIdList.push_back(value); return *this; } /** *

The security group ID list used by the connection.

*/ inline PhysicalConnectionRequirements& AddSecurityGroupIdList(Aws::String&& value) { m_securityGroupIdListHasBeenSet = true; m_securityGroupIdList.push_back(std::move(value)); return *this; } /** *

The security group ID list used by the connection.

*/ inline PhysicalConnectionRequirements& AddSecurityGroupIdList(const char* value) { m_securityGroupIdListHasBeenSet = true; m_securityGroupIdList.push_back(value); return *this; } /** *

The connection's Availability Zone. This field is redundant because the * specified subnet implies the Availability Zone to be used. Currently the field * must be populated, but it will be deprecated in the future.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The connection's Availability Zone. This field is redundant because the * specified subnet implies the Availability Zone to be used. Currently the field * must be populated, but it will be deprecated in the future.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The connection's Availability Zone. This field is redundant because the * specified subnet implies the Availability Zone to be used. Currently the field * must be populated, but it will be deprecated in the future.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The connection's Availability Zone. This field is redundant because the * specified subnet implies the Availability Zone to be used. Currently the field * must be populated, but it will be deprecated in the future.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The connection's Availability Zone. This field is redundant because the * specified subnet implies the Availability Zone to be used. Currently the field * must be populated, but it will be deprecated in the future.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The connection's Availability Zone. This field is redundant because the * specified subnet implies the Availability Zone to be used. Currently the field * must be populated, but it will be deprecated in the future.

*/ inline PhysicalConnectionRequirements& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The connection's Availability Zone. This field is redundant because the * specified subnet implies the Availability Zone to be used. Currently the field * must be populated, but it will be deprecated in the future.

*/ inline PhysicalConnectionRequirements& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The connection's Availability Zone. This field is redundant because the * specified subnet implies the Availability Zone to be used. Currently the field * must be populated, but it will be deprecated in the future.

*/ inline PhysicalConnectionRequirements& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} private: Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; Aws::Vector m_securityGroupIdList; bool m_securityGroupIdListHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws