/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The structure of a VPC connection.See Also:
AWS
* API Reference
The ID of the VPC connection that you're creating. This ID is a unique * identifier for each Amazon Web Services Region in an Amazon Web Services * account.
*/ inline const Aws::String& GetVPCConnectionId() const{ return m_vPCConnectionId; } /** *The ID of the VPC connection that you're creating. This ID is a unique * identifier for each Amazon Web Services Region in an Amazon Web Services * account.
*/ inline bool VPCConnectionIdHasBeenSet() const { return m_vPCConnectionIdHasBeenSet; } /** *The ID of the VPC connection that you're creating. This ID is a unique * identifier for each Amazon Web Services Region in an Amazon Web Services * account.
*/ inline void SetVPCConnectionId(const Aws::String& value) { m_vPCConnectionIdHasBeenSet = true; m_vPCConnectionId = value; } /** *The ID of the VPC connection that you're creating. This ID is a unique * identifier for each Amazon Web Services Region in an Amazon Web Services * account.
*/ inline void SetVPCConnectionId(Aws::String&& value) { m_vPCConnectionIdHasBeenSet = true; m_vPCConnectionId = std::move(value); } /** *The ID of the VPC connection that you're creating. This ID is a unique * identifier for each Amazon Web Services Region in an Amazon Web Services * account.
*/ inline void SetVPCConnectionId(const char* value) { m_vPCConnectionIdHasBeenSet = true; m_vPCConnectionId.assign(value); } /** *The ID of the VPC connection that you're creating. This ID is a unique * identifier for each Amazon Web Services Region in an Amazon Web Services * account.
*/ inline VPCConnection& WithVPCConnectionId(const Aws::String& value) { SetVPCConnectionId(value); return *this;} /** *The ID of the VPC connection that you're creating. This ID is a unique * identifier for each Amazon Web Services Region in an Amazon Web Services * account.
*/ inline VPCConnection& WithVPCConnectionId(Aws::String&& value) { SetVPCConnectionId(std::move(value)); return *this;} /** *The ID of the VPC connection that you're creating. This ID is a unique * identifier for each Amazon Web Services Region in an Amazon Web Services * account.
*/ inline VPCConnection& WithVPCConnectionId(const char* value) { SetVPCConnectionId(value); return *this;} /** *The Amazon Resource Name (ARN) of the VPC connection.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The Amazon Resource Name (ARN) of the VPC connection.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the VPC connection.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The Amazon Resource Name (ARN) of the VPC connection.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The Amazon Resource Name (ARN) of the VPC connection.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The Amazon Resource Name (ARN) of the VPC connection.
*/ inline VPCConnection& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the VPC connection.
*/ inline VPCConnection& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the VPC connection.
*/ inline VPCConnection& WithArn(const char* value) { SetArn(value); return *this;} /** *The display name for the VPC connection.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The display name for the VPC connection.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The display name for the VPC connection.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The display name for the VPC connection.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The display name for the VPC connection.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The display name for the VPC connection.
*/ inline VPCConnection& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The display name for the VPC connection.
*/ inline VPCConnection& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The display name for the VPC connection.
*/ inline VPCConnection& WithName(const char* value) { SetName(value); return *this;} /** *The Amazon EC2 VPC ID associated with the VPC connection.
*/ inline const Aws::String& GetVPCId() const{ return m_vPCId; } /** *The Amazon EC2 VPC ID associated with the VPC connection.
*/ inline bool VPCIdHasBeenSet() const { return m_vPCIdHasBeenSet; } /** *The Amazon EC2 VPC ID associated with the VPC connection.
*/ inline void SetVPCId(const Aws::String& value) { m_vPCIdHasBeenSet = true; m_vPCId = value; } /** *The Amazon EC2 VPC ID associated with the VPC connection.
*/ inline void SetVPCId(Aws::String&& value) { m_vPCIdHasBeenSet = true; m_vPCId = std::move(value); } /** *The Amazon EC2 VPC ID associated with the VPC connection.
*/ inline void SetVPCId(const char* value) { m_vPCIdHasBeenSet = true; m_vPCId.assign(value); } /** *The Amazon EC2 VPC ID associated with the VPC connection.
*/ inline VPCConnection& WithVPCId(const Aws::String& value) { SetVPCId(value); return *this;} /** *The Amazon EC2 VPC ID associated with the VPC connection.
*/ inline VPCConnection& WithVPCId(Aws::String&& value) { SetVPCId(std::move(value)); return *this;} /** *The Amazon EC2 VPC ID associated with the VPC connection.
*/ inline VPCConnection& WithVPCId(const char* value) { SetVPCId(value); return *this;} /** *The Amazon EC2 security group IDs associated with the VPC connection.
*/ inline const Aws::VectorThe Amazon EC2 security group IDs associated with the VPC connection.
*/ inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } /** *The Amazon EC2 security group IDs associated with the VPC connection.
*/ inline void SetSecurityGroupIds(const Aws::VectorThe Amazon EC2 security group IDs associated with the VPC connection.
*/ inline void SetSecurityGroupIds(Aws::VectorThe Amazon EC2 security group IDs associated with the VPC connection.
*/ inline VPCConnection& WithSecurityGroupIds(const Aws::VectorThe Amazon EC2 security group IDs associated with the VPC connection.
*/ inline VPCConnection& WithSecurityGroupIds(Aws::VectorThe Amazon EC2 security group IDs associated with the VPC connection.
*/ inline VPCConnection& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *The Amazon EC2 security group IDs associated with the VPC connection.
*/ inline VPCConnection& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } /** *The Amazon EC2 security group IDs associated with the VPC connection.
*/ inline VPCConnection& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *A list of IP addresses of DNS resolver endpoints for the VPC connection.
*/ inline const Aws::VectorA list of IP addresses of DNS resolver endpoints for the VPC connection.
*/ inline bool DnsResolversHasBeenSet() const { return m_dnsResolversHasBeenSet; } /** *A list of IP addresses of DNS resolver endpoints for the VPC connection.
*/ inline void SetDnsResolvers(const Aws::VectorA list of IP addresses of DNS resolver endpoints for the VPC connection.
*/ inline void SetDnsResolvers(Aws::VectorA list of IP addresses of DNS resolver endpoints for the VPC connection.
*/ inline VPCConnection& WithDnsResolvers(const Aws::VectorA list of IP addresses of DNS resolver endpoints for the VPC connection.
*/ inline VPCConnection& WithDnsResolvers(Aws::VectorA list of IP addresses of DNS resolver endpoints for the VPC connection.
*/ inline VPCConnection& AddDnsResolvers(const Aws::String& value) { m_dnsResolversHasBeenSet = true; m_dnsResolvers.push_back(value); return *this; } /** *A list of IP addresses of DNS resolver endpoints for the VPC connection.
*/ inline VPCConnection& AddDnsResolvers(Aws::String&& value) { m_dnsResolversHasBeenSet = true; m_dnsResolvers.push_back(std::move(value)); return *this; } /** *A list of IP addresses of DNS resolver endpoints for the VPC connection.
*/ inline VPCConnection& AddDnsResolvers(const char* value) { m_dnsResolversHasBeenSet = true; m_dnsResolvers.push_back(value); return *this; } /** *The status of the VPC connection.
*/ inline const VPCConnectionResourceStatus& GetStatus() const{ return m_status; } /** *The status of the VPC connection.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the VPC connection.
*/ inline void SetStatus(const VPCConnectionResourceStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the VPC connection.
*/ inline void SetStatus(VPCConnectionResourceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the VPC connection.
*/ inline VPCConnection& WithStatus(const VPCConnectionResourceStatus& value) { SetStatus(value); return *this;} /** *The status of the VPC connection.
*/ inline VPCConnection& WithStatus(VPCConnectionResourceStatus&& value) { SetStatus(std::move(value)); return *this;} /** *The availability status of the VPC connection.
*/ inline const VPCConnectionAvailabilityStatus& GetAvailabilityStatus() const{ return m_availabilityStatus; } /** *The availability status of the VPC connection.
*/ inline bool AvailabilityStatusHasBeenSet() const { return m_availabilityStatusHasBeenSet; } /** *The availability status of the VPC connection.
*/ inline void SetAvailabilityStatus(const VPCConnectionAvailabilityStatus& value) { m_availabilityStatusHasBeenSet = true; m_availabilityStatus = value; } /** *The availability status of the VPC connection.
*/ inline void SetAvailabilityStatus(VPCConnectionAvailabilityStatus&& value) { m_availabilityStatusHasBeenSet = true; m_availabilityStatus = std::move(value); } /** *The availability status of the VPC connection.
*/ inline VPCConnection& WithAvailabilityStatus(const VPCConnectionAvailabilityStatus& value) { SetAvailabilityStatus(value); return *this;} /** *The availability status of the VPC connection.
*/ inline VPCConnection& WithAvailabilityStatus(VPCConnectionAvailabilityStatus&& value) { SetAvailabilityStatus(std::move(value)); return *this;} /** *A list of network interfaces.
*/ inline const Aws::VectorA list of network interfaces.
*/ inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; } /** *A list of network interfaces.
*/ inline void SetNetworkInterfaces(const Aws::VectorA list of network interfaces.
*/ inline void SetNetworkInterfaces(Aws::VectorA list of network interfaces.
*/ inline VPCConnection& WithNetworkInterfaces(const Aws::VectorA list of network interfaces.
*/ inline VPCConnection& WithNetworkInterfaces(Aws::VectorA list of network interfaces.
*/ inline VPCConnection& AddNetworkInterfaces(const NetworkInterface& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; } /** *A list of network interfaces.
*/ inline VPCConnection& AddNetworkInterfaces(NetworkInterface&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(std::move(value)); return *this; } /** *The ARN of the IAM role associated with the VPC connection.
*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *The ARN of the IAM role associated with the VPC connection.
*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *The ARN of the IAM role associated with the VPC connection.
*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *The ARN of the IAM role associated with the VPC connection.
*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *The ARN of the IAM role associated with the VPC connection.
*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *The ARN of the IAM role associated with the VPC connection.
*/ inline VPCConnection& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *The ARN of the IAM role associated with the VPC connection.
*/ inline VPCConnection& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *The ARN of the IAM role associated with the VPC connection.
*/ inline VPCConnection& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *The time that the VPC connection was created.
*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *The time that the VPC connection was created.
*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *The time that the VPC connection was created.
*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *The time that the VPC connection was created.
*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *The time that the VPC connection was created.
*/ inline VPCConnection& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *The time that the VPC connection was created.
*/ inline VPCConnection& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *The time that the VPC connection was last updated.
*/ inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; } /** *The time that the VPC connection was last updated.
*/ inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; } /** *The time that the VPC connection was last updated.
*/ inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; } /** *The time that the VPC connection was last updated.
*/ inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); } /** *The time that the VPC connection was last updated.
*/ inline VPCConnection& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;} /** *The time that the VPC connection was last updated.
*/ inline VPCConnection& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(std::move(value)); return *this;} private: Aws::String m_vPCConnectionId; bool m_vPCConnectionIdHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_vPCId; bool m_vPCIdHasBeenSet = false; Aws::Vector