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

A complex type for an endpoint. Specifies information about the endpoint to * remove from the endpoint group.

See Also:

AWS * API Reference

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

An ID for the endpoint. If the endpoint is a Network Load Balancer or * Application Load Balancer, this is the Amazon Resource Name (ARN) of the * resource. If the endpoint is an Elastic IP address, this is the Elastic IP * address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. *

An Application Load Balancer can be either internal or * internet-facing.

*/ inline const Aws::String& GetEndpointId() const{ return m_endpointId; } /** *

An ID for the endpoint. If the endpoint is a Network Load Balancer or * Application Load Balancer, this is the Amazon Resource Name (ARN) of the * resource. If the endpoint is an Elastic IP address, this is the Elastic IP * address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. *

An Application Load Balancer can be either internal or * internet-facing.

*/ inline bool EndpointIdHasBeenSet() const { return m_endpointIdHasBeenSet; } /** *

An ID for the endpoint. If the endpoint is a Network Load Balancer or * Application Load Balancer, this is the Amazon Resource Name (ARN) of the * resource. If the endpoint is an Elastic IP address, this is the Elastic IP * address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. *

An Application Load Balancer can be either internal or * internet-facing.

*/ inline void SetEndpointId(const Aws::String& value) { m_endpointIdHasBeenSet = true; m_endpointId = value; } /** *

An ID for the endpoint. If the endpoint is a Network Load Balancer or * Application Load Balancer, this is the Amazon Resource Name (ARN) of the * resource. If the endpoint is an Elastic IP address, this is the Elastic IP * address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. *

An Application Load Balancer can be either internal or * internet-facing.

*/ inline void SetEndpointId(Aws::String&& value) { m_endpointIdHasBeenSet = true; m_endpointId = std::move(value); } /** *

An ID for the endpoint. If the endpoint is a Network Load Balancer or * Application Load Balancer, this is the Amazon Resource Name (ARN) of the * resource. If the endpoint is an Elastic IP address, this is the Elastic IP * address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. *

An Application Load Balancer can be either internal or * internet-facing.

*/ inline void SetEndpointId(const char* value) { m_endpointIdHasBeenSet = true; m_endpointId.assign(value); } /** *

An ID for the endpoint. If the endpoint is a Network Load Balancer or * Application Load Balancer, this is the Amazon Resource Name (ARN) of the * resource. If the endpoint is an Elastic IP address, this is the Elastic IP * address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. *

An Application Load Balancer can be either internal or * internet-facing.

*/ inline EndpointIdentifier& WithEndpointId(const Aws::String& value) { SetEndpointId(value); return *this;} /** *

An ID for the endpoint. If the endpoint is a Network Load Balancer or * Application Load Balancer, this is the Amazon Resource Name (ARN) of the * resource. If the endpoint is an Elastic IP address, this is the Elastic IP * address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. *

An Application Load Balancer can be either internal or * internet-facing.

*/ inline EndpointIdentifier& WithEndpointId(Aws::String&& value) { SetEndpointId(std::move(value)); return *this;} /** *

An ID for the endpoint. If the endpoint is a Network Load Balancer or * Application Load Balancer, this is the Amazon Resource Name (ARN) of the * resource. If the endpoint is an Elastic IP address, this is the Elastic IP * address allocation ID. For Amazon EC2 instances, this is the EC2 instance ID. *

An Application Load Balancer can be either internal or * internet-facing.

*/ inline EndpointIdentifier& WithEndpointId(const char* value) { SetEndpointId(value); return *this;} /** *

Indicates whether client IP address preservation is enabled for an endpoint. * The value is true or false.

If the value is set to true, the client's IP * address is preserved in the X-Forwarded-For request header as * traffic travels to applications on the endpoint fronted by the accelerator.

*/ inline bool GetClientIPPreservationEnabled() const{ return m_clientIPPreservationEnabled; } /** *

Indicates whether client IP address preservation is enabled for an endpoint. * The value is true or false.

If the value is set to true, the client's IP * address is preserved in the X-Forwarded-For request header as * traffic travels to applications on the endpoint fronted by the accelerator.

*/ inline bool ClientIPPreservationEnabledHasBeenSet() const { return m_clientIPPreservationEnabledHasBeenSet; } /** *

Indicates whether client IP address preservation is enabled for an endpoint. * The value is true or false.

If the value is set to true, the client's IP * address is preserved in the X-Forwarded-For request header as * traffic travels to applications on the endpoint fronted by the accelerator.

*/ inline void SetClientIPPreservationEnabled(bool value) { m_clientIPPreservationEnabledHasBeenSet = true; m_clientIPPreservationEnabled = value; } /** *

Indicates whether client IP address preservation is enabled for an endpoint. * The value is true or false.

If the value is set to true, the client's IP * address is preserved in the X-Forwarded-For request header as * traffic travels to applications on the endpoint fronted by the accelerator.

*/ inline EndpointIdentifier& WithClientIPPreservationEnabled(bool value) { SetClientIPPreservationEnabled(value); return *this;} private: Aws::String m_endpointId; bool m_endpointIdHasBeenSet = false; bool m_clientIPPreservationEnabled; bool m_clientIPPreservationEnabledHasBeenSet = false; }; } // namespace Model } // namespace GlobalAccelerator } // namespace Aws