/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace ElasticLoadBalancingv2 { namespace Model { /** */ class AWS_ELASTICLOADBALANCINGV2_API CreateTargetGroupRequest : public ElasticLoadBalancingv2Request { public: CreateTargetGroupRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateTargetGroup"; } Aws::String SerializePayload() const override; protected: void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The name of the target group.

This name must be unique per region per * account, can have a maximum of 32 characters, must contain only alphanumeric * characters or hyphens, and must not begin or end with a hyphen.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the target group.

This name must be unique per region per * account, can have a maximum of 32 characters, must contain only alphanumeric * characters or hyphens, and must not begin or end with a hyphen.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the target group.

This name must be unique per region per * account, can have a maximum of 32 characters, must contain only alphanumeric * characters or hyphens, and must not begin or end with a hyphen.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the target group.

This name must be unique per region per * account, can have a maximum of 32 characters, must contain only alphanumeric * characters or hyphens, and must not begin or end with a hyphen.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the target group.

This name must be unique per region per * account, can have a maximum of 32 characters, must contain only alphanumeric * characters or hyphens, and must not begin or end with a hyphen.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the target group.

This name must be unique per region per * account, can have a maximum of 32 characters, must contain only alphanumeric * characters or hyphens, and must not begin or end with a hyphen.

*/ inline CreateTargetGroupRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the target group.

This name must be unique per region per * account, can have a maximum of 32 characters, must contain only alphanumeric * characters or hyphens, and must not begin or end with a hyphen.

*/ inline CreateTargetGroupRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the target group.

This name must be unique per region per * account, can have a maximum of 32 characters, must contain only alphanumeric * characters or hyphens, and must not begin or end with a hyphen.

*/ inline CreateTargetGroupRequest& WithName(const char* value) { SetName(value); return *this;} /** *

The protocol to use for routing traffic to the targets. For Application Load * Balancers, the supported protocols are HTTP and HTTPS. For Network Load * Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP * listener must be associated with a TCP_UDP target group. If the target is a * Lambda function, this parameter does not apply.

*/ inline const ProtocolEnum& GetProtocol() const{ return m_protocol; } /** *

The protocol to use for routing traffic to the targets. For Application Load * Balancers, the supported protocols are HTTP and HTTPS. For Network Load * Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP * listener must be associated with a TCP_UDP target group. If the target is a * Lambda function, this parameter does not apply.

*/ inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } /** *

The protocol to use for routing traffic to the targets. For Application Load * Balancers, the supported protocols are HTTP and HTTPS. For Network Load * Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP * listener must be associated with a TCP_UDP target group. If the target is a * Lambda function, this parameter does not apply.

*/ inline void SetProtocol(const ProtocolEnum& value) { m_protocolHasBeenSet = true; m_protocol = value; } /** *

The protocol to use for routing traffic to the targets. For Application Load * Balancers, the supported protocols are HTTP and HTTPS. For Network Load * Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP * listener must be associated with a TCP_UDP target group. If the target is a * Lambda function, this parameter does not apply.

*/ inline void SetProtocol(ProtocolEnum&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } /** *

The protocol to use for routing traffic to the targets. For Application Load * Balancers, the supported protocols are HTTP and HTTPS. For Network Load * Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP * listener must be associated with a TCP_UDP target group. If the target is a * Lambda function, this parameter does not apply.

*/ inline CreateTargetGroupRequest& WithProtocol(const ProtocolEnum& value) { SetProtocol(value); return *this;} /** *

The protocol to use for routing traffic to the targets. For Application Load * Balancers, the supported protocols are HTTP and HTTPS. For Network Load * Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP * listener must be associated with a TCP_UDP target group. If the target is a * Lambda function, this parameter does not apply.

*/ inline CreateTargetGroupRequest& WithProtocol(ProtocolEnum&& value) { SetProtocol(std::move(value)); return *this;} /** *

The port on which the targets receive traffic. This port is used unless you * specify a port override when registering the target. If the target is a Lambda * function, this parameter does not apply.

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

The port on which the targets receive traffic. This port is used unless you * specify a port override when registering the target. If the target is a Lambda * function, this parameter does not apply.

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

The port on which the targets receive traffic. This port is used unless you * specify a port override when registering the target. If the target is a Lambda * function, this parameter does not apply.

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

The port on which the targets receive traffic. This port is used unless you * specify a port override when registering the target. If the target is a Lambda * function, this parameter does not apply.

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

The identifier of the virtual private cloud (VPC). If the target is a Lambda * function, this parameter does not apply. Otherwise, this parameter is * required.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

The identifier of the virtual private cloud (VPC). If the target is a Lambda * function, this parameter does not apply. Otherwise, this parameter is * required.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

The identifier of the virtual private cloud (VPC). If the target is a Lambda * function, this parameter does not apply. Otherwise, this parameter is * required.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

The identifier of the virtual private cloud (VPC). If the target is a Lambda * function, this parameter does not apply. Otherwise, this parameter is * required.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

The identifier of the virtual private cloud (VPC). If the target is a Lambda * function, this parameter does not apply. Otherwise, this parameter is * required.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

The identifier of the virtual private cloud (VPC). If the target is a Lambda * function, this parameter does not apply. Otherwise, this parameter is * required.

*/ inline CreateTargetGroupRequest& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The identifier of the virtual private cloud (VPC). If the target is a Lambda * function, this parameter does not apply. Otherwise, this parameter is * required.

*/ inline CreateTargetGroupRequest& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

The identifier of the virtual private cloud (VPC). If the target is a Lambda * function, this parameter does not apply. Otherwise, this parameter is * required.

*/ inline CreateTargetGroupRequest& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

The protocol the load balancer uses when performing health checks on targets. * For Application Load Balancers, the default is HTTP. For Network Load Balancers, * the default is TCP. The TCP protocol is supported for health checks only if the * protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and * TCP_UDP protocols are not supported for health checks.

*/ inline const ProtocolEnum& GetHealthCheckProtocol() const{ return m_healthCheckProtocol; } /** *

The protocol the load balancer uses when performing health checks on targets. * For Application Load Balancers, the default is HTTP. For Network Load Balancers, * the default is TCP. The TCP protocol is supported for health checks only if the * protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and * TCP_UDP protocols are not supported for health checks.

*/ inline bool HealthCheckProtocolHasBeenSet() const { return m_healthCheckProtocolHasBeenSet; } /** *

The protocol the load balancer uses when performing health checks on targets. * For Application Load Balancers, the default is HTTP. For Network Load Balancers, * the default is TCP. The TCP protocol is supported for health checks only if the * protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and * TCP_UDP protocols are not supported for health checks.

*/ inline void SetHealthCheckProtocol(const ProtocolEnum& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = value; } /** *

The protocol the load balancer uses when performing health checks on targets. * For Application Load Balancers, the default is HTTP. For Network Load Balancers, * the default is TCP. The TCP protocol is supported for health checks only if the * protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and * TCP_UDP protocols are not supported for health checks.

*/ inline void SetHealthCheckProtocol(ProtocolEnum&& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = std::move(value); } /** *

The protocol the load balancer uses when performing health checks on targets. * For Application Load Balancers, the default is HTTP. For Network Load Balancers, * the default is TCP. The TCP protocol is supported for health checks only if the * protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and * TCP_UDP protocols are not supported for health checks.

*/ inline CreateTargetGroupRequest& WithHealthCheckProtocol(const ProtocolEnum& value) { SetHealthCheckProtocol(value); return *this;} /** *

The protocol the load balancer uses when performing health checks on targets. * For Application Load Balancers, the default is HTTP. For Network Load Balancers, * the default is TCP. The TCP protocol is supported for health checks only if the * protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and * TCP_UDP protocols are not supported for health checks.

*/ inline CreateTargetGroupRequest& WithHealthCheckProtocol(ProtocolEnum&& value) { SetHealthCheckProtocol(std::move(value)); return *this;} /** *

The port the load balancer uses when performing health checks on targets. The * default is traffic-port, which is the port on which each target * receives traffic from the load balancer.

*/ inline const Aws::String& GetHealthCheckPort() const{ return m_healthCheckPort; } /** *

The port the load balancer uses when performing health checks on targets. The * default is traffic-port, which is the port on which each target * receives traffic from the load balancer.

*/ inline bool HealthCheckPortHasBeenSet() const { return m_healthCheckPortHasBeenSet; } /** *

The port the load balancer uses when performing health checks on targets. The * default is traffic-port, which is the port on which each target * receives traffic from the load balancer.

*/ inline void SetHealthCheckPort(const Aws::String& value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort = value; } /** *

The port the load balancer uses when performing health checks on targets. The * default is traffic-port, which is the port on which each target * receives traffic from the load balancer.

*/ inline void SetHealthCheckPort(Aws::String&& value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort = std::move(value); } /** *

The port the load balancer uses when performing health checks on targets. The * default is traffic-port, which is the port on which each target * receives traffic from the load balancer.

*/ inline void SetHealthCheckPort(const char* value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort.assign(value); } /** *

The port the load balancer uses when performing health checks on targets. The * default is traffic-port, which is the port on which each target * receives traffic from the load balancer.

*/ inline CreateTargetGroupRequest& WithHealthCheckPort(const Aws::String& value) { SetHealthCheckPort(value); return *this;} /** *

The port the load balancer uses when performing health checks on targets. The * default is traffic-port, which is the port on which each target * receives traffic from the load balancer.

*/ inline CreateTargetGroupRequest& WithHealthCheckPort(Aws::String&& value) { SetHealthCheckPort(std::move(value)); return *this;} /** *

The port the load balancer uses when performing health checks on targets. The * default is traffic-port, which is the port on which each target * receives traffic from the load balancer.

*/ inline CreateTargetGroupRequest& WithHealthCheckPort(const char* value) { SetHealthCheckPort(value); return *this;} /** *

Indicates whether health checks are enabled. If the target type is * lambda, health checks are disabled by default but can be enabled. * If the target type is instance or ip, health checks * are always enabled and cannot be disabled.

*/ inline bool GetHealthCheckEnabled() const{ return m_healthCheckEnabled; } /** *

Indicates whether health checks are enabled. If the target type is * lambda, health checks are disabled by default but can be enabled. * If the target type is instance or ip, health checks * are always enabled and cannot be disabled.

*/ inline bool HealthCheckEnabledHasBeenSet() const { return m_healthCheckEnabledHasBeenSet; } /** *

Indicates whether health checks are enabled. If the target type is * lambda, health checks are disabled by default but can be enabled. * If the target type is instance or ip, health checks * are always enabled and cannot be disabled.

*/ inline void SetHealthCheckEnabled(bool value) { m_healthCheckEnabledHasBeenSet = true; m_healthCheckEnabled = value; } /** *

Indicates whether health checks are enabled. If the target type is * lambda, health checks are disabled by default but can be enabled. * If the target type is instance or ip, health checks * are always enabled and cannot be disabled.

*/ inline CreateTargetGroupRequest& WithHealthCheckEnabled(bool value) { SetHealthCheckEnabled(value); return *this;} /** *

[HTTP/HTTPS health checks] The ping path that is the destination on the * targets for health checks. The default is /.

*/ inline const Aws::String& GetHealthCheckPath() const{ return m_healthCheckPath; } /** *

[HTTP/HTTPS health checks] The ping path that is the destination on the * targets for health checks. The default is /.

*/ inline bool HealthCheckPathHasBeenSet() const { return m_healthCheckPathHasBeenSet; } /** *

[HTTP/HTTPS health checks] The ping path that is the destination on the * targets for health checks. The default is /.

*/ inline void SetHealthCheckPath(const Aws::String& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = value; } /** *

[HTTP/HTTPS health checks] The ping path that is the destination on the * targets for health checks. The default is /.

*/ inline void SetHealthCheckPath(Aws::String&& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = std::move(value); } /** *

[HTTP/HTTPS health checks] The ping path that is the destination on the * targets for health checks. The default is /.

*/ inline void SetHealthCheckPath(const char* value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath.assign(value); } /** *

[HTTP/HTTPS health checks] The ping path that is the destination on the * targets for health checks. The default is /.

*/ inline CreateTargetGroupRequest& WithHealthCheckPath(const Aws::String& value) { SetHealthCheckPath(value); return *this;} /** *

[HTTP/HTTPS health checks] The ping path that is the destination on the * targets for health checks. The default is /.

*/ inline CreateTargetGroupRequest& WithHealthCheckPath(Aws::String&& value) { SetHealthCheckPath(std::move(value)); return *this;} /** *

[HTTP/HTTPS health checks] The ping path that is the destination on the * targets for health checks. The default is /.

*/ inline CreateTargetGroupRequest& WithHealthCheckPath(const char* value) { SetHealthCheckPath(value); return *this;} /** *

The approximate amount of time, in seconds, between health checks of an * individual target. For HTTP and HTTPS health checks, the range is 5–300 seconds. * For TCP health checks, the supported values are 10 and 30 seconds. If the target * type is instance or ip, the default is 30 seconds. If * the target type is lambda, the default is 35 seconds.

*/ inline int GetHealthCheckIntervalSeconds() const{ return m_healthCheckIntervalSeconds; } /** *

The approximate amount of time, in seconds, between health checks of an * individual target. For HTTP and HTTPS health checks, the range is 5–300 seconds. * For TCP health checks, the supported values are 10 and 30 seconds. If the target * type is instance or ip, the default is 30 seconds. If * the target type is lambda, the default is 35 seconds.

*/ inline bool HealthCheckIntervalSecondsHasBeenSet() const { return m_healthCheckIntervalSecondsHasBeenSet; } /** *

The approximate amount of time, in seconds, between health checks of an * individual target. For HTTP and HTTPS health checks, the range is 5–300 seconds. * For TCP health checks, the supported values are 10 and 30 seconds. If the target * type is instance or ip, the default is 30 seconds. If * the target type is lambda, the default is 35 seconds.

*/ inline void SetHealthCheckIntervalSeconds(int value) { m_healthCheckIntervalSecondsHasBeenSet = true; m_healthCheckIntervalSeconds = value; } /** *

The approximate amount of time, in seconds, between health checks of an * individual target. For HTTP and HTTPS health checks, the range is 5–300 seconds. * For TCP health checks, the supported values are 10 and 30 seconds. If the target * type is instance or ip, the default is 30 seconds. If * the target type is lambda, the default is 35 seconds.

*/ inline CreateTargetGroupRequest& WithHealthCheckIntervalSeconds(int value) { SetHealthCheckIntervalSeconds(value); return *this;} /** *

The amount of time, in seconds, during which no response from a target means * a failed health check. For target groups with a protocol of HTTP or HTTPS, the * default is 5 seconds. For target groups with a protocol of TCP or TLS, this * value must be 6 seconds for HTTP health checks and 10 seconds for TCP and HTTPS * health checks. If the target type is lambda, the default is 30 * seconds.

*/ inline int GetHealthCheckTimeoutSeconds() const{ return m_healthCheckTimeoutSeconds; } /** *

The amount of time, in seconds, during which no response from a target means * a failed health check. For target groups with a protocol of HTTP or HTTPS, the * default is 5 seconds. For target groups with a protocol of TCP or TLS, this * value must be 6 seconds for HTTP health checks and 10 seconds for TCP and HTTPS * health checks. If the target type is lambda, the default is 30 * seconds.

*/ inline bool HealthCheckTimeoutSecondsHasBeenSet() const { return m_healthCheckTimeoutSecondsHasBeenSet; } /** *

The amount of time, in seconds, during which no response from a target means * a failed health check. For target groups with a protocol of HTTP or HTTPS, the * default is 5 seconds. For target groups with a protocol of TCP or TLS, this * value must be 6 seconds for HTTP health checks and 10 seconds for TCP and HTTPS * health checks. If the target type is lambda, the default is 30 * seconds.

*/ inline void SetHealthCheckTimeoutSeconds(int value) { m_healthCheckTimeoutSecondsHasBeenSet = true; m_healthCheckTimeoutSeconds = value; } /** *

The amount of time, in seconds, during which no response from a target means * a failed health check. For target groups with a protocol of HTTP or HTTPS, the * default is 5 seconds. For target groups with a protocol of TCP or TLS, this * value must be 6 seconds for HTTP health checks and 10 seconds for TCP and HTTPS * health checks. If the target type is lambda, the default is 30 * seconds.

*/ inline CreateTargetGroupRequest& WithHealthCheckTimeoutSeconds(int value) { SetHealthCheckTimeoutSeconds(value); return *this;} /** *

The number of consecutive health checks successes required before considering * an unhealthy target healthy. For target groups with a protocol of HTTP or HTTPS, * the default is 5. For target groups with a protocol of TCP or TLS, the default * is 3. If the target type is lambda, the default is 5.

*/ inline int GetHealthyThresholdCount() const{ return m_healthyThresholdCount; } /** *

The number of consecutive health checks successes required before considering * an unhealthy target healthy. For target groups with a protocol of HTTP or HTTPS, * the default is 5. For target groups with a protocol of TCP or TLS, the default * is 3. If the target type is lambda, the default is 5.

*/ inline bool HealthyThresholdCountHasBeenSet() const { return m_healthyThresholdCountHasBeenSet; } /** *

The number of consecutive health checks successes required before considering * an unhealthy target healthy. For target groups with a protocol of HTTP or HTTPS, * the default is 5. For target groups with a protocol of TCP or TLS, the default * is 3. If the target type is lambda, the default is 5.

*/ inline void SetHealthyThresholdCount(int value) { m_healthyThresholdCountHasBeenSet = true; m_healthyThresholdCount = value; } /** *

The number of consecutive health checks successes required before considering * an unhealthy target healthy. For target groups with a protocol of HTTP or HTTPS, * the default is 5. For target groups with a protocol of TCP or TLS, the default * is 3. If the target type is lambda, the default is 5.

*/ inline CreateTargetGroupRequest& WithHealthyThresholdCount(int value) { SetHealthyThresholdCount(value); return *this;} /** *

The number of consecutive health check failures required before considering a * target unhealthy. For target groups with a protocol of HTTP or HTTPS, the * default is 2. For target groups with a protocol of TCP or TLS, this value must * be the same as the healthy threshold count. If the target type is * lambda, the default is 2.

*/ inline int GetUnhealthyThresholdCount() const{ return m_unhealthyThresholdCount; } /** *

The number of consecutive health check failures required before considering a * target unhealthy. For target groups with a protocol of HTTP or HTTPS, the * default is 2. For target groups with a protocol of TCP or TLS, this value must * be the same as the healthy threshold count. If the target type is * lambda, the default is 2.

*/ inline bool UnhealthyThresholdCountHasBeenSet() const { return m_unhealthyThresholdCountHasBeenSet; } /** *

The number of consecutive health check failures required before considering a * target unhealthy. For target groups with a protocol of HTTP or HTTPS, the * default is 2. For target groups with a protocol of TCP or TLS, this value must * be the same as the healthy threshold count. If the target type is * lambda, the default is 2.

*/ inline void SetUnhealthyThresholdCount(int value) { m_unhealthyThresholdCountHasBeenSet = true; m_unhealthyThresholdCount = value; } /** *

The number of consecutive health check failures required before considering a * target unhealthy. For target groups with a protocol of HTTP or HTTPS, the * default is 2. For target groups with a protocol of TCP or TLS, this value must * be the same as the healthy threshold count. If the target type is * lambda, the default is 2.

*/ inline CreateTargetGroupRequest& WithUnhealthyThresholdCount(int value) { SetUnhealthyThresholdCount(value); return *this;} /** *

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a * successful response from a target.

*/ inline const Matcher& GetMatcher() const{ return m_matcher; } /** *

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a * successful response from a target.

*/ inline bool MatcherHasBeenSet() const { return m_matcherHasBeenSet; } /** *

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a * successful response from a target.

*/ inline void SetMatcher(const Matcher& value) { m_matcherHasBeenSet = true; m_matcher = value; } /** *

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a * successful response from a target.

*/ inline void SetMatcher(Matcher&& value) { m_matcherHasBeenSet = true; m_matcher = std::move(value); } /** *

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a * successful response from a target.

*/ inline CreateTargetGroupRequest& WithMatcher(const Matcher& value) { SetMatcher(value); return *this;} /** *

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a * successful response from a target.

*/ inline CreateTargetGroupRequest& WithMatcher(Matcher&& value) { SetMatcher(std::move(value)); return *this;} /** *

The type of target that you must specify when registering targets with this * target group. You can't specify targets for a target group using more than one * target type.

  • instance - Targets are specified by * instance ID. This is the default value.

  • ip - * Targets are specified by IP address. You can specify IP addresses from the * subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 * range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range * (100.64.0.0/10). You can't specify publicly routable IP addresses.

  • *
  • lambda - The target groups contains a single Lambda * function.

*/ inline const TargetTypeEnum& GetTargetType() const{ return m_targetType; } /** *

The type of target that you must specify when registering targets with this * target group. You can't specify targets for a target group using more than one * target type.

  • instance - Targets are specified by * instance ID. This is the default value.

  • ip - * Targets are specified by IP address. You can specify IP addresses from the * subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 * range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range * (100.64.0.0/10). You can't specify publicly routable IP addresses.

  • *
  • lambda - The target groups contains a single Lambda * function.

*/ inline bool TargetTypeHasBeenSet() const { return m_targetTypeHasBeenSet; } /** *

The type of target that you must specify when registering targets with this * target group. You can't specify targets for a target group using more than one * target type.

  • instance - Targets are specified by * instance ID. This is the default value.

  • ip - * Targets are specified by IP address. You can specify IP addresses from the * subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 * range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range * (100.64.0.0/10). You can't specify publicly routable IP addresses.

  • *
  • lambda - The target groups contains a single Lambda * function.

*/ inline void SetTargetType(const TargetTypeEnum& value) { m_targetTypeHasBeenSet = true; m_targetType = value; } /** *

The type of target that you must specify when registering targets with this * target group. You can't specify targets for a target group using more than one * target type.

  • instance - Targets are specified by * instance ID. This is the default value.

  • ip - * Targets are specified by IP address. You can specify IP addresses from the * subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 * range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range * (100.64.0.0/10). You can't specify publicly routable IP addresses.

  • *
  • lambda - The target groups contains a single Lambda * function.

*/ inline void SetTargetType(TargetTypeEnum&& value) { m_targetTypeHasBeenSet = true; m_targetType = std::move(value); } /** *

The type of target that you must specify when registering targets with this * target group. You can't specify targets for a target group using more than one * target type.

  • instance - Targets are specified by * instance ID. This is the default value.

  • ip - * Targets are specified by IP address. You can specify IP addresses from the * subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 * range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range * (100.64.0.0/10). You can't specify publicly routable IP addresses.

  • *
  • lambda - The target groups contains a single Lambda * function.

*/ inline CreateTargetGroupRequest& WithTargetType(const TargetTypeEnum& value) { SetTargetType(value); return *this;} /** *

The type of target that you must specify when registering targets with this * target group. You can't specify targets for a target group using more than one * target type.

  • instance - Targets are specified by * instance ID. This is the default value.

  • ip - * Targets are specified by IP address. You can specify IP addresses from the * subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 * range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range * (100.64.0.0/10). You can't specify publicly routable IP addresses.

  • *
  • lambda - The target groups contains a single Lambda * function.

*/ inline CreateTargetGroupRequest& WithTargetType(TargetTypeEnum&& value) { SetTargetType(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet; ProtocolEnum m_protocol; bool m_protocolHasBeenSet; int m_port; bool m_portHasBeenSet; Aws::String m_vpcId; bool m_vpcIdHasBeenSet; ProtocolEnum m_healthCheckProtocol; bool m_healthCheckProtocolHasBeenSet; Aws::String m_healthCheckPort; bool m_healthCheckPortHasBeenSet; bool m_healthCheckEnabled; bool m_healthCheckEnabledHasBeenSet; Aws::String m_healthCheckPath; bool m_healthCheckPathHasBeenSet; int m_healthCheckIntervalSeconds; bool m_healthCheckIntervalSecondsHasBeenSet; int m_healthCheckTimeoutSeconds; bool m_healthCheckTimeoutSecondsHasBeenSet; int m_healthyThresholdCount; bool m_healthyThresholdCountHasBeenSet; int m_unhealthyThresholdCount; bool m_unhealthyThresholdCountHasBeenSet; Matcher m_matcher; bool m_matcherHasBeenSet; TargetTypeEnum m_targetType; bool m_targetTypeHasBeenSet; }; } // namespace Model } // namespace ElasticLoadBalancingv2 } // namespace Aws