/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Identifying information for a traffic source.See Also:
AWS
* API Reference
Identifies the traffic source.
For Application Load Balancers, Gateway * Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon * Resource Name (ARN) for a target group in this account and Region. For Classic * Load Balancers, this will be the name of the Classic Load Balancer in this * account and Region.
For example:
Application Load
* Balancer ARN:
* arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456
*
Classic Load Balancer name:
* my-classic-load-balancer
VPC Lattice ARN:
* arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456
*
To get the ARN of a target group for a Application Load * Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a * Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups * and DescribeLoadBalancers * API operations.
To get the ARN of a target group for VPC Lattice, use the * VPC Lattice GetTargetGroup * API operation.
*/ inline const Aws::String& GetIdentifier() const{ return m_identifier; } /** *Identifies the traffic source.
For Application Load Balancers, Gateway * Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon * Resource Name (ARN) for a target group in this account and Region. For Classic * Load Balancers, this will be the name of the Classic Load Balancer in this * account and Region.
For example:
Application Load
* Balancer ARN:
* arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456
*
Classic Load Balancer name:
* my-classic-load-balancer
VPC Lattice ARN:
* arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456
*
To get the ARN of a target group for a Application Load * Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a * Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups * and DescribeLoadBalancers * API operations.
To get the ARN of a target group for VPC Lattice, use the * VPC Lattice GetTargetGroup * API operation.
*/ inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } /** *Identifies the traffic source.
For Application Load Balancers, Gateway * Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon * Resource Name (ARN) for a target group in this account and Region. For Classic * Load Balancers, this will be the name of the Classic Load Balancer in this * account and Region.
For example:
Application Load
* Balancer ARN:
* arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456
*
Classic Load Balancer name:
* my-classic-load-balancer
VPC Lattice ARN:
* arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456
*
To get the ARN of a target group for a Application Load * Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a * Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups * and DescribeLoadBalancers * API operations.
To get the ARN of a target group for VPC Lattice, use the * VPC Lattice GetTargetGroup * API operation.
*/ inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; } /** *Identifies the traffic source.
For Application Load Balancers, Gateway * Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon * Resource Name (ARN) for a target group in this account and Region. For Classic * Load Balancers, this will be the name of the Classic Load Balancer in this * account and Region.
For example:
Application Load
* Balancer ARN:
* arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456
*
Classic Load Balancer name:
* my-classic-load-balancer
VPC Lattice ARN:
* arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456
*
To get the ARN of a target group for a Application Load * Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a * Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups * and DescribeLoadBalancers * API operations.
To get the ARN of a target group for VPC Lattice, use the * VPC Lattice GetTargetGroup * API operation.
*/ inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } /** *Identifies the traffic source.
For Application Load Balancers, Gateway * Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon * Resource Name (ARN) for a target group in this account and Region. For Classic * Load Balancers, this will be the name of the Classic Load Balancer in this * account and Region.
For example:
Application Load
* Balancer ARN:
* arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456
*
Classic Load Balancer name:
* my-classic-load-balancer
VPC Lattice ARN:
* arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456
*
To get the ARN of a target group for a Application Load * Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a * Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups * and DescribeLoadBalancers * API operations.
To get the ARN of a target group for VPC Lattice, use the * VPC Lattice GetTargetGroup * API operation.
*/ inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); } /** *Identifies the traffic source.
For Application Load Balancers, Gateway * Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon * Resource Name (ARN) for a target group in this account and Region. For Classic * Load Balancers, this will be the name of the Classic Load Balancer in this * account and Region.
For example:
Application Load
* Balancer ARN:
* arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456
*
Classic Load Balancer name:
* my-classic-load-balancer
VPC Lattice ARN:
* arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456
*
To get the ARN of a target group for a Application Load * Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a * Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups * and DescribeLoadBalancers * API operations.
To get the ARN of a target group for VPC Lattice, use the * VPC Lattice GetTargetGroup * API operation.
*/ inline TrafficSourceIdentifier& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} /** *Identifies the traffic source.
For Application Load Balancers, Gateway * Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon * Resource Name (ARN) for a target group in this account and Region. For Classic * Load Balancers, this will be the name of the Classic Load Balancer in this * account and Region.
For example:
Application Load
* Balancer ARN:
* arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456
*
Classic Load Balancer name:
* my-classic-load-balancer
VPC Lattice ARN:
* arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456
*
To get the ARN of a target group for a Application Load * Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a * Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups * and DescribeLoadBalancers * API operations.
To get the ARN of a target group for VPC Lattice, use the * VPC Lattice GetTargetGroup * API operation.
*/ inline TrafficSourceIdentifier& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} /** *Identifies the traffic source.
For Application Load Balancers, Gateway * Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon * Resource Name (ARN) for a target group in this account and Region. For Classic * Load Balancers, this will be the name of the Classic Load Balancer in this * account and Region.
For example:
Application Load
* Balancer ARN:
* arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456
*
Classic Load Balancer name:
* my-classic-load-balancer
VPC Lattice ARN:
* arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456
*
To get the ARN of a target group for a Application Load * Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a * Classic Load Balancer, use the Elastic Load Balancing DescribeTargetGroups * and DescribeLoadBalancers * API operations.
To get the ARN of a target group for VPC Lattice, use the * VPC Lattice GetTargetGroup * API operation.
*/ inline TrafficSourceIdentifier& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} /** *Provides additional context for the value of Identifier
.
The following lists the valid values:
elb
if
* Identifier
is the name of a Classic Load Balancer.
elbv2
if Identifier
is the ARN of an Application
* Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
vpc-lattice
if Identifier
is the ARN of
* a VPC Lattice target group.
Required if the identifier is the * name of a Classic Load Balancer.
*/ inline const Aws::String& GetType() const{ return m_type; } /** *Provides additional context for the value of Identifier
.
The following lists the valid values:
elb
if
* Identifier
is the name of a Classic Load Balancer.
elbv2
if Identifier
is the ARN of an Application
* Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
vpc-lattice
if Identifier
is the ARN of
* a VPC Lattice target group.
Required if the identifier is the * name of a Classic Load Balancer.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *Provides additional context for the value of Identifier
.
The following lists the valid values:
elb
if
* Identifier
is the name of a Classic Load Balancer.
elbv2
if Identifier
is the ARN of an Application
* Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
vpc-lattice
if Identifier
is the ARN of
* a VPC Lattice target group.
Required if the identifier is the * name of a Classic Load Balancer.
*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *Provides additional context for the value of Identifier
.
The following lists the valid values:
elb
if
* Identifier
is the name of a Classic Load Balancer.
elbv2
if Identifier
is the ARN of an Application
* Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
vpc-lattice
if Identifier
is the ARN of
* a VPC Lattice target group.
Required if the identifier is the * name of a Classic Load Balancer.
*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *Provides additional context for the value of Identifier
.
The following lists the valid values:
elb
if
* Identifier
is the name of a Classic Load Balancer.
elbv2
if Identifier
is the ARN of an Application
* Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
vpc-lattice
if Identifier
is the ARN of
* a VPC Lattice target group.
Required if the identifier is the * name of a Classic Load Balancer.
*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *Provides additional context for the value of Identifier
.
The following lists the valid values:
elb
if
* Identifier
is the name of a Classic Load Balancer.
elbv2
if Identifier
is the ARN of an Application
* Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
vpc-lattice
if Identifier
is the ARN of
* a VPC Lattice target group.
Required if the identifier is the * name of a Classic Load Balancer.
*/ inline TrafficSourceIdentifier& WithType(const Aws::String& value) { SetType(value); return *this;} /** *Provides additional context for the value of Identifier
.
The following lists the valid values:
elb
if
* Identifier
is the name of a Classic Load Balancer.
elbv2
if Identifier
is the ARN of an Application
* Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
vpc-lattice
if Identifier
is the ARN of
* a VPC Lattice target group.
Required if the identifier is the * name of a Classic Load Balancer.
*/ inline TrafficSourceIdentifier& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *Provides additional context for the value of Identifier
.
The following lists the valid values:
elb
if
* Identifier
is the name of a Classic Load Balancer.
elbv2
if Identifier
is the ARN of an Application
* Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
vpc-lattice
if Identifier
is the ARN of
* a VPC Lattice target group.
Required if the identifier is the * name of a Classic Load Balancer.
*/ inline TrafficSourceIdentifier& WithType(const char* value) { SetType(value); return *this;} private: Aws::String m_identifier; bool m_identifierHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace AutoScaling } // namespace Aws