lib/aws-sdk-elasticloadbalancingv2/client.rb in aws-sdk-elasticloadbalancingv2-1.1.0 vs lib/aws-sdk-elasticloadbalancingv2/client.rb in aws-sdk-elasticloadbalancingv2-1.2.0
- old
+ new
@@ -143,12 +143,13 @@
super
end
# @!group API Operations
- # Adds the specified tags to the specified resource. You can tag your
- # Application Load Balancers and your target groups.
+ # Adds the specified tags to the specified Elastic Load Balancing
+ # resource. You can tag your Application Load Balancers, Network Load
+ # Balancers, and your target groups.
#
# Each tag consists of a key and an optional value. If a resource
# already has a tag with the same key, `AddTags` updates its value.
#
# To list the current tags for your resources, use DescribeTags. To
@@ -202,45 +203,55 @@
def add_tags(params = {}, options = {})
req = build_request(:add_tags, params)
req.send_request(options)
end
- # Creates a listener for the specified Application Load Balancer.
+ # Creates a listener for the specified Application Load Balancer or
+ # Network Load Balancer.
#
# You can create up to 10 listeners per load balancer.
#
# To update a listener, use ModifyListener. When you are finished with a
# listener, you can delete it using DeleteListener. If you are finished
# with both the listener and the load balancer, you can delete them both
# using DeleteLoadBalancer.
#
# For more information, see [Listeners for Your Application Load
- # Balancers][1] in the *Application Load Balancers Guide*.
+ # Balancers][1] in the *Application Load Balancers Guide* and [Listeners
+ # for Your Network Load Balancers][2] in the *Network Load Balancers
+ # Guide*.
#
#
#
# [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html
+ # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html
#
# @option params [required, String] :load_balancer_arn
# The Amazon Resource Name (ARN) of the load balancer.
#
# @option params [required, String] :protocol
- # The protocol for connections from clients to the load balancer.
+ # The protocol for connections from clients to the load balancer. For
+ # Application Load Balancers, the supported protocols are HTTP and
+ # HTTPS. For Network Load Balancers, the supported protocol is TCP.
#
# @option params [required, Integer] :port
# The port on which the load balancer is listening.
#
# @option params [String] :ssl_policy
- # The security policy that defines which ciphers and protocols are
- # supported. The default is the current predefined security policy.
+ # \[HTTPS listeners\] The security policy that defines which ciphers and
+ # protocols are supported. The default is the current predefined
+ # security policy.
#
# @option params [Array<Types::Certificate>] :certificates
- # The SSL server certificate. You must provide exactly one certificate
- # if the protocol is HTTPS.
+ # \[HTTPS listeners\] The SSL server certificate. You must provide
+ # exactly one certificate.
#
# @option params [required, Array<Types::Action>] :default_actions
- # The default action for the listener.
+ # The default action for the listener. For Application Load Balancers,
+ # the protocol of the specified target group must be HTTP or HTTPS. For
+ # Network Load Balancers, the protocol of the specified target group
+ # must be TCP.
#
# @return [Types::CreateListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateListenerOutput#listeners #listeners} => Array<Types::Listener>
#
@@ -327,11 +338,11 @@
#
# @example Request syntax with placeholder values
#
# resp = client.create_listener({
# load_balancer_arn: "LoadBalancerArn", # required
- # protocol: "HTTP", # required, accepts HTTP, HTTPS
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP
# port: 1, # required
# ssl_policy: "SslPolicyName",
# certificates: [
# {
# certificate_arn: "CertificateArn",
@@ -349,11 +360,11 @@
#
# resp.listeners #=> Array
# resp.listeners[0].listener_arn #=> String
# resp.listeners[0].load_balancer_arn #=> String
# resp.listeners[0].port #=> Integer
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS"
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
# resp.listeners[0].certificates #=> Array
# resp.listeners[0].certificates[0].certificate_arn #=> String
# resp.listeners[0].ssl_policy #=> String
# resp.listeners[0].default_actions #=> Array
# resp.listeners[0].default_actions[0].type #=> String, one of "forward"
@@ -366,11 +377,11 @@
def create_listener(params = {}, options = {})
req = build_request(:create_listener, params)
req.send_request(options)
end
- # Creates an Application Load Balancer.
+ # Creates an Application Load Balancer or a Network Load Balancer.
#
# When you create a load balancer, you can specify security groups,
# subnets, IP address type, and tags. Otherwise, you could do so later
# using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.
#
@@ -380,34 +391,53 @@
# DeleteLoadBalancer.
#
# You can create up to 20 load balancers per region per account. You can
# request an increase for the number of load balancers for your account.
# For more information, see [Limits for Your Application Load
- # Balancer][1] in the *Application Load Balancers Guide*.
+ # Balancer][1] in the *Application Load Balancers Guide* and [Limits for
+ # Your Network Load Balancer][2] in the *Network Load Balancers Guide*.
#
- # For more information, see [Application Load Balancers][2] in the
- # *Application Load Balancers Guide*.
+ # For more information, see [Application Load Balancers][3] in the
+ # *Application Load Balancers Guide* and [Network Load Balancers][4] in
+ # the *Network Load Balancers Guide*.
#
#
#
# [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
- # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
+ # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html
+ # [3]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
+ # [4]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html
#
# @option params [required, String] :name
# The name of the load balancer.
#
# 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.
#
- # @option params [required, Array<String>] :subnets
+ # @option params [Array<String>] :subnets
# The IDs of the subnets to attach to the load balancer. You can specify
- # only one subnet per Availability Zone. You must specify subnets from
- # at least two Availability Zones.
+ # only one subnet per Availability Zone. You must specify either subnets
+ # or subnet mappings.
#
+ # \[Application Load Balancers\] You must specify subnets from at least
+ # two Availability Zones.
+ #
+ # @option params [Array<Types::SubnetMapping>] :subnet_mappings
+ # The IDs of the subnets to attach to the load balancer. You can specify
+ # only one subnet per Availability Zone. You must specify either subnets
+ # or subnet mappings.
+ #
+ # \[Network Load Balancers\] You can specify one Elastic IP address per
+ # subnet.
+ #
+ # \[Application Load Balancers\] You cannot specify Elastic IP addresses
+ # for your subnets.
+ #
# @option params [Array<String>] :security_groups
- # The IDs of the security groups to assign to the load balancer.
+ # \[Application Load Balancers\] The IDs of the security groups to
+ # assign to the load balancer.
#
# @option params [String] :scheme
# The nodes of an Internet-facing load balancer have public IP
# addresses. The DNS name of an Internet-facing load balancer is
# publicly resolvable to the public IP addresses of the nodes.
@@ -423,15 +453,18 @@
# The default is an Internet-facing load balancer.
#
# @option params [Array<Types::Tag>] :tags
# One or more tags to assign to the load balancer.
#
+ # @option params [String] :type
+ # The type of load balancer to create. The default is `application`.
+ #
# @option params [String] :ip_address_type
- # The type of IP addresses used by the subnets for your load balancer.
- # The possible values are `ipv4` (for IPv4 addresses) and `dualstack`
- # (for IPv4 and IPv6 addresses). Internal load balancers must use
- # `ipv4`.
+ # \[Application Load Balancers\] The type of IP addresses used by the
+ # subnets for your load balancer. The possible values are `ipv4` (for
+ # IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses).
+ # Internal load balancers must use `ipv4`.
#
# @return [Types::CreateLoadBalancerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateLoadBalancerOutput#load_balancers #load_balancers} => Array<Types::LoadBalancer>
#
@@ -529,19 +562,26 @@
#
# @example Request syntax with placeholder values
#
# resp = client.create_load_balancer({
# name: "LoadBalancerName", # required
- # subnets: ["SubnetId"], # required
+ # subnets: ["SubnetId"],
+ # subnet_mappings: [
+ # {
+ # subnet_id: "SubnetId",
+ # allocation_id: "AllocationId",
+ # },
+ # ],
# security_groups: ["SecurityGroupId"],
# scheme: "internet-facing", # accepts internet-facing, internal
# tags: [
# {
# key: "TagKey", # required
# value: "TagValue",
# },
# ],
+ # type: "application", # accepts application, network
# ip_address_type: "ipv4", # accepts ipv4, dualstack
# })
#
# @example Response structure
#
@@ -551,16 +591,19 @@
# resp.load_balancers[0].canonical_hosted_zone_id #=> String
# resp.load_balancers[0].created_time #=> Time
# resp.load_balancers[0].load_balancer_name #=> String
# resp.load_balancers[0].scheme #=> String, one of "internet-facing", "internal"
# resp.load_balancers[0].vpc_id #=> String
- # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "failed"
+ # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
# resp.load_balancers[0].state.reason #=> String
- # resp.load_balancers[0].type #=> String, one of "application"
+ # resp.load_balancers[0].type #=> String, one of "application", "network"
# resp.load_balancers[0].availability_zones #=> Array
# resp.load_balancers[0].availability_zones[0].zone_name #=> String
# resp.load_balancers[0].availability_zones[0].subnet_id #=> String
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses #=> Array
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].ip_address #=> String
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
# resp.load_balancers[0].security_groups #=> Array
# resp.load_balancers[0].security_groups[0] #=> String
# resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack"
#
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer AWS API Documentation
@@ -570,18 +613,18 @@
def create_load_balancer(params = {}, options = {})
req = build_request(:create_load_balancer, params)
req.send_request(options)
end
- # Creates a rule for the specified listener.
+ # Creates a rule for the specified listener. The listener must be
+ # associated with an Application Load Balancer.
#
- # Each rule can have one action and one condition. Rules are evaluated
- # in priority order, from the lowest value to the highest value. When
- # the condition for a rule is met, the specified action is taken. If no
- # conditions are met, the default action for the default rule is taken.
- # For more information, see [Listener Rules][1] in the *Application Load
- # Balancers Guide*.
+ # Rules are evaluated in priority order, from the lowest value to the
+ # highest value. When the condition for a rule is met, the specified
+ # action is taken. If no conditions are met, the action for the default
+ # rule is taken. For more information, see [Listener Rules][1] in the
+ # *Application Load Balancers Guide*.
#
# To view your current rules, use DescribeRules. To update a rule, use
# ModifyRule. To set the priorities of your rules, use
# SetRulePriorities. To delete a rule, use DeleteRule.
#
@@ -591,11 +634,12 @@
#
# @option params [required, String] :listener_arn
# The Amazon Resource Name (ARN) of the listener.
#
# @option params [required, Array<Types::RuleCondition>] :conditions
- # A condition. Each condition specifies a field name and a single value.
+ # The conditions. Each condition specifies a field name and a single
+ # value.
#
# If the field name is `host-header`, you can specify a single host name
# (for example, my.example.com). A host name is case insensitive, can be
# up to 128 characters in length, and can contain any of the following
# characters. Note that you can include up to three wildcard characters.
@@ -737,65 +781,81 @@
# group in an action using CreateListener or CreateRule.
#
# To delete a target group, use DeleteTargetGroup.
#
# For more information, see [Target Groups for Your Application Load
- # Balancers][1] in the *Application Load Balancers Guide*.
+ # Balancers][1] in the *Application Load Balancers Guide* or [Target
+ # Groups for Your Network Load Balancers][2] in the *Network Load
+ # Balancers Guide*.
#
#
#
# [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html
+ # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html
#
# @option params [required, String] :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.
#
# @option params [required, String] :protocol
- # The protocol to use for routing traffic to the targets.
+ # 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 protocol is TCP.
#
# @option params [required, Integer] :port
# The port on which the targets receive traffic. This port is used
# unless you specify a port override when registering the target.
#
# @option params [required, String] :vpc_id
# The identifier of the virtual private cloud (VPC).
#
# @option params [String] :health_check_protocol
# The protocol the load balancer uses when performing health checks on
- # targets. The default is the HTTP protocol.
+ # targets. The TCP protocol is supported only if the protocol of the
+ # target group is TCP. For Application Load Balancers, the default is
+ # HTTP. For Network Load Balancers, the default is TCP.
#
# @option params [String] :health_check_port
# The port the load balancer uses when performing health checks on
- # targets. The default is `traffic-port`, which indicates the port on
- # which each target receives traffic from the load balancer.
+ # targets. The default is `traffic-port`, which is the port on which
+ # each target receives traffic from the load balancer.
#
# @option params [String] :health_check_path
- # The ping path that is the destination on the targets for health
- # checks. The default is /.
+ # \[HTTP/HTTPS health checks\] The ping path that is the destination on
+ # the targets for health checks. The default is /.
#
# @option params [Integer] :health_check_interval_seconds
# The approximate amount of time, in seconds, between health checks of
- # an individual target. The default is 30 seconds.
+ # an individual target. For Application Load Balancers, the range is 5
+ # to 300 seconds. For Network Load Balancers, the supported values are
+ # 10 or 30 seconds. The default is 30 seconds.
#
# @option params [Integer] :health_check_timeout_seconds
# The amount of time, in seconds, during which no response from a target
- # means a failed health check. The default is 5 seconds.
+ # means a failed health check. For Application Load Balancers, the range
+ # is 2 to 60 seconds and the default is 5 seconds. For Network Load
+ # Balancers, this is 10 seconds for TCP and HTTPS health checks and 6
+ # seconds for HTTP health checks.
#
# @option params [Integer] :healthy_threshold_count
# The number of consecutive health checks successes required before
- # considering an unhealthy target healthy. The default is 5.
+ # considering an unhealthy target healthy. For Application Load
+ # Balancers, the default is 5. For Network Load Balancers, the default
+ # is 3.
#
# @option params [Integer] :unhealthy_threshold_count
# The number of consecutive health check failures required before
- # considering a target unhealthy. The default is 2.
+ # considering a target unhealthy. For Application Load Balancers, the
+ # default is 2. For Network Load Balancers, this value must be the same
+ # as the healthy threshold count.
#
# @option params [Types::Matcher] :matcher
- # The HTTP codes to use when checking for a successful response from a
- # target. The default is 200.
+ # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for a
+ # successful response from a target.
#
# @option params [String] :target_type
# The type of target that you must specify when registering targets with
# this target group. The possible values are `instance` (targets are
# specified by instance ID) or `ip` (targets are specified by IP
@@ -849,14 +909,14 @@
#
# @example Request syntax with placeholder values
#
# resp = client.create_target_group({
# name: "TargetGroupName", # required
- # protocol: "HTTP", # required, accepts HTTP, HTTPS
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP
# port: 1, # required
# vpc_id: "VpcId", # required
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP
# health_check_port: "HealthCheckPort",
# health_check_path: "Path",
# health_check_interval_seconds: 1,
# health_check_timeout_seconds: 1,
# healthy_threshold_count: 1,
@@ -870,14 +930,14 @@
# @example Response structure
#
# resp.target_groups #=> Array
# resp.target_groups[0].target_group_arn #=> String
# resp.target_groups[0].target_group_name #=> String
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS"
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
# resp.target_groups[0].port #=> Integer
# resp.target_groups[0].vpc_id #=> String
- # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS"
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP"
# resp.target_groups[0].health_check_port #=> String
# resp.target_groups[0].health_check_interval_seconds #=> Integer
# resp.target_groups[0].health_check_timeout_seconds #=> Integer
# resp.target_groups[0].healthy_threshold_count #=> Integer
# resp.target_groups[0].unhealthy_threshold_count #=> Integer
@@ -928,12 +988,12 @@
def delete_listener(params = {}, options = {})
req = build_request(:delete_listener, params)
req.send_request(options)
end
- # Deletes the specified Application Load Balancer and its attached
- # listeners.
+ # Deletes the specified Application Load Balancer or Network Load
+ # Balancer and its attached listeners.
#
# You can't delete a load balancer if deletion protection is enabled.
# If the load balancer does not exist or has already been deleted, the
# call succeeds.
#
@@ -1088,15 +1148,17 @@
# Describes the current Elastic Load Balancing resource limits for your
# AWS account.
#
# For more information, see [Limits for Your Application Load
- # Balancer][1] in the *Application Load Balancer Guide*.
+ # Balancers][1] in the *Application Load Balancer Guide* or [Limits for
+ # Your Network Load Balancers][2] in the *Network Load Balancers Guide*.
#
#
#
# [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
+ # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html
#
# @option params [String] :marker
# The marker for the next set of results. (You received this marker from
# a previous call.)
#
@@ -1130,12 +1192,12 @@
req = build_request(:describe_account_limits, params)
req.send_request(options)
end
# Describes the specified listeners or the listeners for the specified
- # Application Load Balancer. You must specify either a load balancer or
- # one or more listeners.
+ # Application Load Balancer or Network Load Balancer. You must specify
+ # either a load balancer or one or more listeners.
#
# @option params [String] :load_balancer_arn
# The Amazon Resource Name (ARN) of the load balancer.
#
# @option params [Array<String>] :listener_arns
@@ -1195,11 +1257,11 @@
#
# resp.listeners #=> Array
# resp.listeners[0].listener_arn #=> String
# resp.listeners[0].load_balancer_arn #=> String
# resp.listeners[0].port #=> Integer
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS"
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
# resp.listeners[0].certificates #=> Array
# resp.listeners[0].certificates[0].certificate_arn #=> String
# resp.listeners[0].ssl_policy #=> String
# resp.listeners[0].default_actions #=> Array
# resp.listeners[0].default_actions[0].type #=> String, one of "forward"
@@ -1213,11 +1275,12 @@
def describe_listeners(params = {}, options = {})
req = build_request(:describe_listeners, params)
req.send_request(options)
end
- # Describes the attributes for the specified Application Load Balancer.
+ # Describes the attributes for the specified Application Load Balancer
+ # or Network Load Balancer.
#
# @option params [required, String] :load_balancer_arn
# The Amazon Resource Name (ARN) of the load balancer.
#
# @return [Types::DescribeLoadBalancerAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1278,12 +1341,11 @@
def describe_load_balancer_attributes(params = {}, options = {})
req = build_request(:describe_load_balancer_attributes, params)
req.send_request(options)
end
- # Describes the specified Application Load Balancers or all of your
- # Application Load Balancers.
+ # Describes the specified load balancers or all of your load balancers.
#
# To describe the listeners for a load balancer, use DescribeListeners.
# To describe the attributes for a load balancer, use
# DescribeLoadBalancerAttributes.
#
@@ -1366,16 +1428,19 @@
# resp.load_balancers[0].canonical_hosted_zone_id #=> String
# resp.load_balancers[0].created_time #=> Time
# resp.load_balancers[0].load_balancer_name #=> String
# resp.load_balancers[0].scheme #=> String, one of "internet-facing", "internal"
# resp.load_balancers[0].vpc_id #=> String
- # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "failed"
+ # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
# resp.load_balancers[0].state.reason #=> String
- # resp.load_balancers[0].type #=> String, one of "application"
+ # resp.load_balancers[0].type #=> String, one of "application", "network"
# resp.load_balancers[0].availability_zones #=> Array
# resp.load_balancers[0].availability_zones[0].zone_name #=> String
# resp.load_balancers[0].availability_zones[0].subnet_id #=> String
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses #=> Array
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].ip_address #=> String
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
# resp.load_balancers[0].security_groups #=> Array
# resp.load_balancers[0].security_groups[0] #=> String
# resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack"
# resp.next_marker #=> String
#
@@ -1633,11 +1698,12 @@
req = build_request(:describe_ssl_policies, params)
req.send_request(options)
end
# Describes the tags for the specified resources. You can describe the
- # tags for one or more Application Load Balancers and target groups.
+ # tags for one or more Application Load Balancers, Network Load
+ # Balancers, and target groups.
#
# @option params [required, Array<String>] :resource_arns
# The Amazon Resource Names (ARN) of the resources.
#
# @return [Types::DescribeTagsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1839,14 +1905,14 @@
# @example Response structure
#
# resp.target_groups #=> Array
# resp.target_groups[0].target_group_arn #=> String
# resp.target_groups[0].target_group_name #=> String
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS"
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
# resp.target_groups[0].port #=> Integer
# resp.target_groups[0].vpc_id #=> String
- # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS"
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP"
# resp.target_groups[0].health_check_port #=> String
# resp.target_groups[0].health_check_interval_seconds #=> Integer
# resp.target_groups[0].health_check_timeout_seconds #=> Integer
# resp.target_groups[0].healthy_threshold_count #=> Integer
# resp.target_groups[0].unhealthy_threshold_count #=> Integer
@@ -1962,11 +2028,11 @@
# resp.target_health_descriptions #=> Array
# resp.target_health_descriptions[0].target.id #=> String
# resp.target_health_descriptions[0].target.port #=> Integer
# resp.target_health_descriptions[0].target.availability_zone #=> String
# resp.target_health_descriptions[0].health_check_port #=> String
- # resp.target_health_descriptions[0].target_health.state #=> String, one of "initial", "healthy", "unhealthy", "unused", "draining"
+ # resp.target_health_descriptions[0].target_health.state #=> String, one of "initial", "healthy", "unhealthy", "unused", "draining", "unavailable"
# resp.target_health_descriptions[0].target_health.reason #=> String, one of "Elb.RegistrationInProgress", "Elb.InitialHealthChecking", "Target.ResponseCodeMismatch", "Target.Timeout", "Target.FailedHealthChecks", "Target.NotRegistered", "Target.NotInUse", "Target.DeregistrationInProgress", "Target.InvalidState", "Target.IpUnusable", "Elb.InternalError"
# resp.target_health_descriptions[0].target_health.description #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetHealth AWS API Documentation
#
@@ -1991,10 +2057,12 @@
# @option params [Integer] :port
# The port for connections from clients to the load balancer.
#
# @option params [String] :protocol
# The protocol for connections from clients to the load balancer.
+ # Application Load Balancers support HTTP and HTTPS and Network Load
+ # Balancers support TCP.
#
# @option params [String] :ssl_policy
# The security policy that defines which protocols and ciphers are
# supported. For more information, see [Security Policies][1] in the
# *Application Load Balancers Guide*.
@@ -2005,11 +2073,13 @@
#
# @option params [Array<Types::Certificate>] :certificates
# The SSL server certificate.
#
# @option params [Array<Types::Action>] :default_actions
- # The default actions.
+ # The default action. For Application Load Balancers, the protocol of
+ # the specified target group must be HTTP or HTTPS. For Network Load
+ # Balancers, the protocol of the specified target group must be TCP.
#
# @return [Types::ModifyListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyListenerOutput#listeners #listeners} => Array<Types::Listener>
#
@@ -2086,11 +2156,11 @@
# @example Request syntax with placeholder values
#
# resp = client.modify_listener({
# listener_arn: "ListenerArn", # required
# port: 1,
- # protocol: "HTTP", # accepts HTTP, HTTPS
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP
# ssl_policy: "SslPolicyName",
# certificates: [
# {
# certificate_arn: "CertificateArn",
# },
@@ -2107,11 +2177,11 @@
#
# resp.listeners #=> Array
# resp.listeners[0].listener_arn #=> String
# resp.listeners[0].load_balancer_arn #=> String
# resp.listeners[0].port #=> Integer
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS"
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
# resp.listeners[0].certificates #=> Array
# resp.listeners[0].certificates[0].certificate_arn #=> String
# resp.listeners[0].ssl_policy #=> String
# resp.listeners[0].default_actions #=> Array
# resp.listeners[0].default_actions[0].type #=> String, one of "forward"
@@ -2125,11 +2195,11 @@
req = build_request(:modify_listener, params)
req.send_request(options)
end
# Modifies the specified attributes of the specified Application Load
- # Balancer.
+ # Balancer or Network Load Balancer.
#
# If any of the specified attributes can't be modified as requested,
# the call fails. Any existing attributes that you do not modify retain
# their current values.
#
@@ -2311,11 +2381,11 @@
#
# @option params [Array<Types::RuleCondition>] :conditions
# The conditions.
#
# @option params [Array<Types::Action>] :actions
- # The actions.
+ # The actions. The target group must use the HTTP or HTTPS protocol.
#
# @return [Types::ModifyRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyRuleOutput#rules #rules} => Array<Types::Rule>
#
@@ -2409,37 +2479,44 @@
#
# @option params [required, String] :target_group_arn
# The Amazon Resource Name (ARN) of the target group.
#
# @option params [String] :health_check_protocol
- # The protocol to use to connect with the target.
+ # The protocol the load balancer uses when performing health checks on
+ # targets. The TCP protocol is supported only if the protocol of the
+ # target group is TCP.
#
# @option params [String] :health_check_port
- # The port to use to connect with the target.
+ # The port the load balancer uses when performing health checks on
+ # targets.
#
# @option params [String] :health_check_path
- # The ping path that is the destination for the health check request.
+ # \[HTTP/HTTPS health checks\] The ping path that is the destination for
+ # the health check request.
#
# @option params [Integer] :health_check_interval_seconds
# The approximate amount of time, in seconds, between health checks of
- # an individual target.
+ # an individual target. For Application Load Balancers, the range is 5
+ # to 300 seconds. For Network Load Balancers, the supported values are
+ # 10 or 30 seconds.
#
# @option params [Integer] :health_check_timeout_seconds
- # The amount of time, in seconds, during which no response means a
- # failed health check.
+ # \[HTTP/HTTPS health checks\] The amount of time, in seconds, during
+ # which no response means a failed health check.
#
# @option params [Integer] :healthy_threshold_count
# The number of consecutive health checks successes required before
# considering an unhealthy target healthy.
#
# @option params [Integer] :unhealthy_threshold_count
# The number of consecutive health check failures required before
- # considering the target unhealthy.
+ # considering the target unhealthy. For Network Load Balancers, this
+ # value must be the same as the healthy threshold count.
#
# @option params [Types::Matcher] :matcher
- # The HTTP codes to use when checking for a successful response from a
- # target.
+ # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for a
+ # successful response from a target.
#
# @return [Types::ModifyTargetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyTargetGroupOutput#target_groups #target_groups} => Array<Types::TargetGroup>
#
@@ -2481,11 +2558,11 @@
#
# @example Request syntax with placeholder values
#
# resp = client.modify_target_group({
# target_group_arn: "TargetGroupArn", # required
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP
# health_check_port: "HealthCheckPort",
# health_check_path: "Path",
# health_check_interval_seconds: 1,
# health_check_timeout_seconds: 1,
# healthy_threshold_count: 1,
@@ -2498,14 +2575,14 @@
# @example Response structure
#
# resp.target_groups #=> Array
# resp.target_groups[0].target_group_arn #=> String
# resp.target_groups[0].target_group_name #=> String
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS"
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
# resp.target_groups[0].port #=> Integer
# resp.target_groups[0].vpc_id #=> String
- # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS"
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP"
# resp.target_groups[0].health_check_port #=> String
# resp.target_groups[0].health_check_interval_seconds #=> Integer
# resp.target_groups[0].health_check_timeout_seconds #=> Integer
# resp.target_groups[0].healthy_threshold_count #=> Integer
# resp.target_groups[0].unhealthy_threshold_count #=> Integer
@@ -2609,10 +2686,14 @@
#
# The target must be in the virtual private cloud (VPC) that you
# specified for the target group. If the target is an EC2 instance, it
# must be in the `running` state when you register it.
#
+ # Network Load Balancers do not support the following instance types as
+ # targets: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2,
+ # M3, and T1.
+ #
# To remove a target from a target group, use DeregisterTargets.
#
# @option params [required, String] :target_group_arn
# The Amazon Resource Name (ARN) of the target group.
#
@@ -2678,11 +2759,12 @@
def register_targets(params = {}, options = {})
req = build_request(:register_targets, params)
req.send_request(options)
end
- # Removes the specified tags from the specified resource.
+ # Removes the specified tags from the specified Elastic Load Balancing
+ # resource.
#
# To list the current tags for your resources, use DescribeTags.
#
# @option params [required, Array<String>] :resource_arns
# The Amazon Resource Name (ARN) of the resource.
@@ -2722,12 +2804,14 @@
req = build_request(:remove_tags, params)
req.send_request(options)
end
# Sets the type of IP addresses used by the subnets of the specified
- # Application Load Balancer.
+ # Application Load Balancer or Network Load Balancer.
#
+ # Note that Network Load Balancers must use `ipv4`.
+ #
# @option params [required, String] :load_balancer_arn
# The Amazon Resource Name (ARN) of the load balancer.
#
# @option params [required, String] :ip_address_type
# The IP address type. The possible values are `ipv4` (for IPv4
@@ -2842,14 +2926,17 @@
def set_rule_priorities(params = {}, options = {})
req = build_request(:set_rule_priorities, params)
req.send_request(options)
end
- # Associates the specified security groups with the specified load
- # balancer. The specified security groups override the previously
- # associated security groups.
+ # Associates the specified security groups with the specified
+ # Application Load Balancer. The specified security groups override the
+ # previously associated security groups.
#
+ # Note that you can't specify a security group for a Network Load
+ # Balancer.
+ #
# @option params [required, String] :load_balancer_arn
# The Amazon Resource Name (ARN) of the load balancer.
#
# @option params [required, Array<String>] :security_groups
# The IDs of the security groups.
@@ -2897,20 +2984,31 @@
req = build_request(:set_security_groups, params)
req.send_request(options)
end
# Enables the Availability Zone for the specified subnets for the
- # specified load balancer. The specified subnets replace the previously
- # enabled subnets.
+ # specified Application Load Balancer. The specified subnets replace the
+ # previously enabled subnets.
#
+ # Note that you can't change the subnets for a Network Load Balancer.
+ #
# @option params [required, String] :load_balancer_arn
# The Amazon Resource Name (ARN) of the load balancer.
#
# @option params [required, Array<String>] :subnets
- # The IDs of the subnets. You must specify at least two subnets. You can
- # add only one subnet per Availability Zone.
+ # The IDs of the subnets. You must specify subnets from at least two
+ # Availability Zones. You can specify only one subnet per Availability
+ # Zone. You must specify either subnets or subnet mappings.
#
+ # @option params [Array<Types::SubnetMapping>] :subnet_mappings
+ # The IDs of the subnets. You must specify subnets from at least two
+ # Availability Zones. You can specify only one subnet per Availability
+ # Zone. You must specify either subnets or subnet mappings.
+ #
+ # The load balancer is allocated one static IP address per subnet. You
+ # cannot specify your own Elastic IP addresses.
+ #
# @return [Types::SetSubnetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::SetSubnetsOutput#availability_zones #availability_zones} => Array<Types::AvailabilityZone>
#
#
@@ -2943,17 +3041,26 @@
# @example Request syntax with placeholder values
#
# resp = client.set_subnets({
# load_balancer_arn: "LoadBalancerArn", # required
# subnets: ["SubnetId"], # required
+ # subnet_mappings: [
+ # {
+ # subnet_id: "SubnetId",
+ # allocation_id: "AllocationId",
+ # },
+ # ],
# })
#
# @example Response structure
#
# resp.availability_zones #=> Array
# resp.availability_zones[0].zone_name #=> String
# resp.availability_zones[0].subnet_id #=> String
+ # resp.availability_zones[0].load_balancer_addresses #=> Array
+ # resp.availability_zones[0].load_balancer_addresses[0].ip_address #=> String
+ # resp.availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets AWS API Documentation
#
# @overload set_subnets(params = {})
# @param [Hash] params ({})
@@ -2973,10 +3080,10 @@
operation: config.api.operation(operation_name),
client: self,
params: params,
config: config)
context[:gem_name] = 'aws-sdk-elasticloadbalancingv2'
- context[:gem_version] = '1.1.0'
+ context[:gem_version] = '1.2.0'
Seahorse::Client::Request.new(handlers, context)
end
# Polls an API operation until a resource enters a desired state.
#