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&lt;Types::Listener&gt; # @@ -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&lt;Types::LoadBalancer&gt; # @@ -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&lt;Types::Listener&gt; # @@ -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&lt;Types::Rule&gt; # @@ -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&lt;Types::TargetGroup&gt; # @@ -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&lt;Types::AvailabilityZone&gt; # # @@ -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. #