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

The VPC endpoint object.

See Also:

AWS * API Reference

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

The DNS address of the VPC endpoint.

*/ inline const Aws::String& GetAddress() const{ return m_address; } /** *

The DNS address of the VPC endpoint.

*/ inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } /** *

The DNS address of the VPC endpoint.

*/ inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } /** *

The DNS address of the VPC endpoint.

*/ inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } /** *

The DNS address of the VPC endpoint.

*/ inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } /** *

The DNS address of the VPC endpoint.

*/ inline Endpoint& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} /** *

The DNS address of the VPC endpoint.

*/ inline Endpoint& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} /** *

The DNS address of the VPC endpoint.

*/ inline Endpoint& WithAddress(const char* value) { SetAddress(value); return *this;} /** *

The port that Amazon Redshift Serverless listens on.

*/ inline int GetPort() const{ return m_port; } /** *

The port that Amazon Redshift Serverless listens on.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The port that Amazon Redshift Serverless listens on.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

The port that Amazon Redshift Serverless listens on.

*/ inline Endpoint& WithPort(int value) { SetPort(value); return *this;} /** *

An array of VpcEndpoint objects.

*/ inline const Aws::Vector& GetVpcEndpoints() const{ return m_vpcEndpoints; } /** *

An array of VpcEndpoint objects.

*/ inline bool VpcEndpointsHasBeenSet() const { return m_vpcEndpointsHasBeenSet; } /** *

An array of VpcEndpoint objects.

*/ inline void SetVpcEndpoints(const Aws::Vector& value) { m_vpcEndpointsHasBeenSet = true; m_vpcEndpoints = value; } /** *

An array of VpcEndpoint objects.

*/ inline void SetVpcEndpoints(Aws::Vector&& value) { m_vpcEndpointsHasBeenSet = true; m_vpcEndpoints = std::move(value); } /** *

An array of VpcEndpoint objects.

*/ inline Endpoint& WithVpcEndpoints(const Aws::Vector& value) { SetVpcEndpoints(value); return *this;} /** *

An array of VpcEndpoint objects.

*/ inline Endpoint& WithVpcEndpoints(Aws::Vector&& value) { SetVpcEndpoints(std::move(value)); return *this;} /** *

An array of VpcEndpoint objects.

*/ inline Endpoint& AddVpcEndpoints(const VpcEndpoint& value) { m_vpcEndpointsHasBeenSet = true; m_vpcEndpoints.push_back(value); return *this; } /** *

An array of VpcEndpoint objects.

*/ inline Endpoint& AddVpcEndpoints(VpcEndpoint&& value) { m_vpcEndpointsHasBeenSet = true; m_vpcEndpoints.push_back(std::move(value)); return *this; } private: Aws::String m_address; bool m_addressHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::Vector m_vpcEndpoints; bool m_vpcEndpointsHasBeenSet = false; }; } // namespace Model } // namespace RedshiftServerless } // namespace Aws