aws-sdk-elasticloadbalancingv2 1.21.0 → 1.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +459 -0
- data/LICENSE.txt +202 -0
- data/VERSION +1 -0
- data/lib/aws-sdk-elasticloadbalancingv2/client.rb +857 -399
- data/lib/aws-sdk-elasticloadbalancingv2/client_api.rb +189 -4
- data/lib/aws-sdk-elasticloadbalancingv2/customizations.rb +2 -1
- data/lib/aws-sdk-elasticloadbalancingv2/errors.rb +432 -1
- data/lib/aws-sdk-elasticloadbalancingv2/resource.rb +4 -1
- data/lib/aws-sdk-elasticloadbalancingv2/types.rb +1494 -374
- data/lib/aws-sdk-elasticloadbalancingv2/waiters.rb +68 -1
- data/lib/aws-sdk-elasticloadbalancingv2.rb +12 -6
- metadata +15 -13
| @@ -1,7 +1,9 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            # WARNING ABOUT GENERATED CODE
         | 
| 2 4 | 
             
            #
         | 
| 3 5 | 
             
            # This file is generated. See the contributing guide for more information:
         | 
| 4 | 
            -
            # https://github.com/aws/aws-sdk-ruby/blob/ | 
| 6 | 
            +
            # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
         | 
| 5 7 | 
             
            #
         | 
| 6 8 | 
             
            # WARNING ABOUT GENERATED CODE
         | 
| 7 9 |  | 
| @@ -23,12 +25,27 @@ require 'aws-sdk-core/plugins/idempotency_token.rb' | |
| 23 25 | 
             
            require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
         | 
| 24 26 | 
             
            require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
         | 
| 25 27 | 
             
            require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
         | 
| 28 | 
            +
            require 'aws-sdk-core/plugins/transfer_encoding.rb'
         | 
| 29 | 
            +
            require 'aws-sdk-core/plugins/http_checksum.rb'
         | 
| 30 | 
            +
            require 'aws-sdk-core/plugins/defaults_mode.rb'
         | 
| 26 31 | 
             
            require 'aws-sdk-core/plugins/signature_v4.rb'
         | 
| 27 32 | 
             
            require 'aws-sdk-core/plugins/protocols/query.rb'
         | 
| 28 33 |  | 
| 29 34 | 
             
            Aws::Plugins::GlobalConfiguration.add_identifier(:elasticloadbalancingv2)
         | 
| 30 35 |  | 
| 31 36 | 
             
            module Aws::ElasticLoadBalancingV2
         | 
| 37 | 
            +
              # An API client for ElasticLoadBalancingV2.  To construct a client, you need to configure a `:region` and `:credentials`.
         | 
| 38 | 
            +
              #
         | 
| 39 | 
            +
              #     client = Aws::ElasticLoadBalancingV2::Client.new(
         | 
| 40 | 
            +
              #       region: region_name,
         | 
| 41 | 
            +
              #       credentials: credentials,
         | 
| 42 | 
            +
              #       # ...
         | 
| 43 | 
            +
              #     )
         | 
| 44 | 
            +
              #
         | 
| 45 | 
            +
              # For details on configuring region and credentials see
         | 
| 46 | 
            +
              # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
         | 
| 47 | 
            +
              #
         | 
| 48 | 
            +
              # See {#initialize} for a full list of supported configuration options.
         | 
| 32 49 | 
             
              class Client < Seahorse::Client::Base
         | 
| 33 50 |  | 
| 34 51 | 
             
                include Aws::ClientStubs
         | 
| @@ -55,6 +72,9 @@ module Aws::ElasticLoadBalancingV2 | |
| 55 72 | 
             
                add_plugin(Aws::Plugins::JsonvalueConverter)
         | 
| 56 73 | 
             
                add_plugin(Aws::Plugins::ClientMetricsPlugin)
         | 
| 57 74 | 
             
                add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
         | 
| 75 | 
            +
                add_plugin(Aws::Plugins::TransferEncoding)
         | 
| 76 | 
            +
                add_plugin(Aws::Plugins::HttpChecksum)
         | 
| 77 | 
            +
                add_plugin(Aws::Plugins::DefaultsMode)
         | 
| 58 78 | 
             
                add_plugin(Aws::Plugins::SignatureV4)
         | 
| 59 79 | 
             
                add_plugin(Aws::Plugins::Protocols::Query)
         | 
| 60 80 |  | 
| @@ -67,13 +87,28 @@ module Aws::ElasticLoadBalancingV2 | |
| 67 87 | 
             
                #     * `Aws::Credentials` - Used for configuring static, non-refreshing
         | 
| 68 88 | 
             
                #       credentials.
         | 
| 69 89 | 
             
                #
         | 
| 90 | 
            +
                #     * `Aws::SharedCredentials` - Used for loading static credentials from a
         | 
| 91 | 
            +
                #       shared file, such as `~/.aws/config`.
         | 
| 92 | 
            +
                #
         | 
| 93 | 
            +
                #     * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
         | 
| 94 | 
            +
                #
         | 
| 95 | 
            +
                #     * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
         | 
| 96 | 
            +
                #       assume a role after providing credentials via the web.
         | 
| 97 | 
            +
                #
         | 
| 98 | 
            +
                #     * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
         | 
| 99 | 
            +
                #       access token generated from `aws login`.
         | 
| 100 | 
            +
                #
         | 
| 101 | 
            +
                #     * `Aws::ProcessCredentials` - Used for loading credentials from a
         | 
| 102 | 
            +
                #       process that outputs to stdout.
         | 
| 103 | 
            +
                #
         | 
| 70 104 | 
             
                #     * `Aws::InstanceProfileCredentials` - Used for loading credentials
         | 
| 71 105 | 
             
                #       from an EC2 IMDS on an EC2 instance.
         | 
| 72 106 | 
             
                #
         | 
| 73 | 
            -
                #     * `Aws:: | 
| 74 | 
            -
                #        | 
| 107 | 
            +
                #     * `Aws::ECSCredentials` - Used for loading credentials from
         | 
| 108 | 
            +
                #       instances running in ECS.
         | 
| 75 109 | 
             
                #
         | 
| 76 | 
            -
                #     * `Aws:: | 
| 110 | 
            +
                #     * `Aws::CognitoIdentityCredentials` - Used for loading credentials
         | 
| 111 | 
            +
                #       from the Cognito Identity service.
         | 
| 77 112 | 
             
                #
         | 
| 78 113 | 
             
                #     When `:credentials` are not configured directly, the following
         | 
| 79 114 | 
             
                #     locations will be searched for credentials:
         | 
| @@ -83,15 +118,17 @@ module Aws::ElasticLoadBalancingV2 | |
| 83 118 | 
             
                #     * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
         | 
| 84 119 | 
             
                #     * `~/.aws/credentials`
         | 
| 85 120 | 
             
                #     * `~/.aws/config`
         | 
| 86 | 
            -
                #     * EC2 IMDS instance profile - When used by default, the timeouts | 
| 87 | 
            -
                #       very aggressive. Construct and pass an instance of
         | 
| 88 | 
            -
                #       `Aws::InstanceProfileCredentails`  | 
| 89 | 
            -
                #       timeouts.
         | 
| 121 | 
            +
                #     * EC2/ECS IMDS instance profile - When used by default, the timeouts
         | 
| 122 | 
            +
                #       are very aggressive. Construct and pass an instance of
         | 
| 123 | 
            +
                #       `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
         | 
| 124 | 
            +
                #       enable retries and extended timeouts. Instance profile credential
         | 
| 125 | 
            +
                #       fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
         | 
| 126 | 
            +
                #       to true.
         | 
| 90 127 | 
             
                #
         | 
| 91 128 | 
             
                #   @option options [required, String] :region
         | 
| 92 129 | 
             
                #     The AWS region to connect to.  The configured `:region` is
         | 
| 93 130 | 
             
                #     used to determine the service `:endpoint`. When not passed,
         | 
| 94 | 
            -
                #     a default `:region` is  | 
| 131 | 
            +
                #     a default `:region` is searched for in the following locations:
         | 
| 95 132 | 
             
                #
         | 
| 96 133 | 
             
                #     * `Aws.config[:region]`
         | 
| 97 134 | 
             
                #     * `ENV['AWS_REGION']`
         | 
| @@ -106,6 +143,12 @@ module Aws::ElasticLoadBalancingV2 | |
| 106 143 | 
             
                #     When set to `true`, a thread polling for endpoints will be running in
         | 
| 107 144 | 
             
                #     the background every 60 secs (default). Defaults to `false`.
         | 
| 108 145 | 
             
                #
         | 
| 146 | 
            +
                #   @option options [Boolean] :adaptive_retry_wait_to_fill (true)
         | 
| 147 | 
            +
                #     Used only in `adaptive` retry mode.  When true, the request will sleep
         | 
| 148 | 
            +
                #     until there is sufficent client side capacity to retry the request.
         | 
| 149 | 
            +
                #     When false, the request will raise a `RetryCapacityNotAvailableError` and will
         | 
| 150 | 
            +
                #     not retry instead of sleeping.
         | 
| 151 | 
            +
                #
         | 
| 109 152 | 
             
                #   @option options [Boolean] :client_side_monitoring (false)
         | 
| 110 153 | 
             
                #     When `true`, client-side metrics will be collected for all API requests from
         | 
| 111 154 | 
             
                #     this client.
         | 
| @@ -114,6 +157,10 @@ module Aws::ElasticLoadBalancingV2 | |
| 114 157 | 
             
                #     Allows you to provide an identifier for this client which will be attached to
         | 
| 115 158 | 
             
                #     all generated client side metrics. Defaults to an empty string.
         | 
| 116 159 | 
             
                #
         | 
| 160 | 
            +
                #   @option options [String] :client_side_monitoring_host ("127.0.0.1")
         | 
| 161 | 
            +
                #     Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
         | 
| 162 | 
            +
                #     side monitoring agent is running on, where client metrics will be published via UDP.
         | 
| 163 | 
            +
                #
         | 
| 117 164 | 
             
                #   @option options [Integer] :client_side_monitoring_port (31000)
         | 
| 118 165 | 
             
                #     Required for publishing client metrics. The port that the client side monitoring
         | 
| 119 166 | 
             
                #     agent is running on, where client metrics will be published via UDP.
         | 
| @@ -126,6 +173,14 @@ module Aws::ElasticLoadBalancingV2 | |
| 126 173 | 
             
                #     When `true`, an attempt is made to coerce request parameters into
         | 
| 127 174 | 
             
                #     the required types.
         | 
| 128 175 | 
             
                #
         | 
| 176 | 
            +
                #   @option options [Boolean] :correct_clock_skew (true)
         | 
| 177 | 
            +
                #     Used only in `standard` and adaptive retry modes. Specifies whether to apply
         | 
| 178 | 
            +
                #     a clock skew correction and retry requests with skewed client clocks.
         | 
| 179 | 
            +
                #
         | 
| 180 | 
            +
                #   @option options [String] :defaults_mode ("legacy")
         | 
| 181 | 
            +
                #     See {Aws::DefaultsModeConfiguration} for a list of the
         | 
| 182 | 
            +
                #     accepted modes and the configuration defaults that are included.
         | 
| 183 | 
            +
                #
         | 
| 129 184 | 
             
                #   @option options [Boolean] :disable_host_prefix_injection (false)
         | 
| 130 185 | 
             
                #     Set to true to disable SDK automatically adding host prefix
         | 
| 131 186 | 
             
                #     to default service endpoint when available.
         | 
| @@ -133,7 +188,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 133 188 | 
             
                #   @option options [String] :endpoint
         | 
| 134 189 | 
             
                #     The client endpoint is normally constructed from the `:region`
         | 
| 135 190 | 
             
                #     option. You should only configure an `:endpoint` when connecting
         | 
| 136 | 
            -
                #     to test endpoints. This should be  | 
| 191 | 
            +
                #     to test or custom endpoints. This should be a valid HTTP(S) URI.
         | 
| 137 192 | 
             
                #
         | 
| 138 193 | 
             
                #   @option options [Integer] :endpoint_cache_max_entries (1000)
         | 
| 139 194 | 
             
                #     Used for the maximum size limit of the LRU cache storing endpoints data
         | 
| @@ -148,7 +203,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 148 203 | 
             
                #     requests fetching endpoints information. Defaults to 60 sec.
         | 
| 149 204 | 
             
                #
         | 
| 150 205 | 
             
                #   @option options [Boolean] :endpoint_discovery (false)
         | 
| 151 | 
            -
                #     When set to `true`, endpoint discovery will be enabled for operations when available. | 
| 206 | 
            +
                #     When set to `true`, endpoint discovery will be enabled for operations when available.
         | 
| 152 207 | 
             
                #
         | 
| 153 208 | 
             
                #   @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
         | 
| 154 209 | 
             
                #     The log formatter.
         | 
| @@ -160,15 +215,29 @@ module Aws::ElasticLoadBalancingV2 | |
| 160 215 | 
             
                #     The Logger instance to send log messages to.  If this option
         | 
| 161 216 | 
             
                #     is not set, logging will be disabled.
         | 
| 162 217 | 
             
                #
         | 
| 218 | 
            +
                #   @option options [Integer] :max_attempts (3)
         | 
| 219 | 
            +
                #     An integer representing the maximum number attempts that will be made for
         | 
| 220 | 
            +
                #     a single request, including the initial attempt.  For example,
         | 
| 221 | 
            +
                #     setting this value to 5 will result in a request being retried up to
         | 
| 222 | 
            +
                #     4 times. Used in `standard` and `adaptive` retry modes.
         | 
| 223 | 
            +
                #
         | 
| 163 224 | 
             
                #   @option options [String] :profile ("default")
         | 
| 164 225 | 
             
                #     Used when loading credentials from the shared credentials file
         | 
| 165 226 | 
             
                #     at HOME/.aws/credentials.  When not specified, 'default' is used.
         | 
| 166 227 | 
             
                #
         | 
| 228 | 
            +
                #   @option options [Proc] :retry_backoff
         | 
| 229 | 
            +
                #     A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
         | 
| 230 | 
            +
                #     This option is only used in the `legacy` retry mode.
         | 
| 231 | 
            +
                #
         | 
| 167 232 | 
             
                #   @option options [Float] :retry_base_delay (0.3)
         | 
| 168 | 
            -
                #     The base delay in seconds used by the default backoff function.
         | 
| 233 | 
            +
                #     The base delay in seconds used by the default backoff function. This option
         | 
| 234 | 
            +
                #     is only used in the `legacy` retry mode.
         | 
| 169 235 | 
             
                #
         | 
| 170 236 | 
             
                #   @option options [Symbol] :retry_jitter (:none)
         | 
| 171 | 
            -
                #     A delay randomiser function used by the default backoff function. | 
| 237 | 
            +
                #     A delay randomiser function used by the default backoff function.
         | 
| 238 | 
            +
                #     Some predefined functions can be referenced by name - :none, :equal, :full,
         | 
| 239 | 
            +
                #     otherwise a Proc that takes and returns a number. This option is only used
         | 
| 240 | 
            +
                #     in the `legacy` retry mode.
         | 
| 172 241 | 
             
                #
         | 
| 173 242 | 
             
                #     @see https://www.awsarchitectureblog.com/2015/03/backoff.html
         | 
| 174 243 | 
             
                #
         | 
| @@ -176,11 +245,30 @@ module Aws::ElasticLoadBalancingV2 | |
| 176 245 | 
             
                #     The maximum number of times to retry failed requests.  Only
         | 
| 177 246 | 
             
                #     ~ 500 level server errors and certain ~ 400 level client errors
         | 
| 178 247 | 
             
                #     are retried.  Generally, these are throttling errors, data
         | 
| 179 | 
            -
                #     checksum errors, networking errors, timeout errors  | 
| 180 | 
            -
                #     errors from expired credentials.
         | 
| 248 | 
            +
                #     checksum errors, networking errors, timeout errors, auth errors,
         | 
| 249 | 
            +
                #     endpoint discovery, and errors from expired credentials.
         | 
| 250 | 
            +
                #     This option is only used in the `legacy` retry mode.
         | 
| 181 251 | 
             
                #
         | 
| 182 252 | 
             
                #   @option options [Integer] :retry_max_delay (0)
         | 
| 183 | 
            -
                #     The maximum number of seconds to delay between retries (0 for no limit) | 
| 253 | 
            +
                #     The maximum number of seconds to delay between retries (0 for no limit)
         | 
| 254 | 
            +
                #     used by the default backoff function. This option is only used in the
         | 
| 255 | 
            +
                #     `legacy` retry mode.
         | 
| 256 | 
            +
                #
         | 
| 257 | 
            +
                #   @option options [String] :retry_mode ("legacy")
         | 
| 258 | 
            +
                #     Specifies which retry algorithm to use. Values are:
         | 
| 259 | 
            +
                #
         | 
| 260 | 
            +
                #     * `legacy` - The pre-existing retry behavior.  This is default value if
         | 
| 261 | 
            +
                #       no retry mode is provided.
         | 
| 262 | 
            +
                #
         | 
| 263 | 
            +
                #     * `standard` - A standardized set of retry rules across the AWS SDKs.
         | 
| 264 | 
            +
                #       This includes support for retry quotas, which limit the number of
         | 
| 265 | 
            +
                #       unsuccessful retries a client can make.
         | 
| 266 | 
            +
                #
         | 
| 267 | 
            +
                #     * `adaptive` - An experimental retry mode that includes all the
         | 
| 268 | 
            +
                #       functionality of `standard` mode along with automatic client side
         | 
| 269 | 
            +
                #       throttling.  This is a provisional mode that may change behavior
         | 
| 270 | 
            +
                #       in the future.
         | 
| 271 | 
            +
                #
         | 
| 184 272 | 
             
                #
         | 
| 185 273 | 
             
                #   @option options [String] :secret_access_key
         | 
| 186 274 | 
             
                #
         | 
| @@ -195,25 +283,84 @@ module Aws::ElasticLoadBalancingV2 | |
| 195 283 | 
             
                #     ** Please note ** When response stubbing is enabled, no HTTP
         | 
| 196 284 | 
             
                #     requests are made, and retries are disabled.
         | 
| 197 285 | 
             
                #
         | 
| 286 | 
            +
                #   @option options [Boolean] :use_dualstack_endpoint
         | 
| 287 | 
            +
                #     When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
         | 
| 288 | 
            +
                #     will be used if available.
         | 
| 289 | 
            +
                #
         | 
| 290 | 
            +
                #   @option options [Boolean] :use_fips_endpoint
         | 
| 291 | 
            +
                #     When set to `true`, fips compatible endpoints will be used if available.
         | 
| 292 | 
            +
                #     When a `fips` region is used, the region is normalized and this config
         | 
| 293 | 
            +
                #     is set to `true`.
         | 
| 294 | 
            +
                #
         | 
| 198 295 | 
             
                #   @option options [Boolean] :validate_params (true)
         | 
| 199 296 | 
             
                #     When `true`, request parameters are validated before
         | 
| 200 297 | 
             
                #     sending the request.
         | 
| 201 298 | 
             
                #
         | 
| 299 | 
            +
                #   @option options [URI::HTTP,String] :http_proxy A proxy to send
         | 
| 300 | 
            +
                #     requests through.  Formatted like 'http://proxy.com:123'.
         | 
| 301 | 
            +
                #
         | 
| 302 | 
            +
                #   @option options [Float] :http_open_timeout (15) The number of
         | 
| 303 | 
            +
                #     seconds to wait when opening a HTTP session before raising a
         | 
| 304 | 
            +
                #     `Timeout::Error`.
         | 
| 305 | 
            +
                #
         | 
| 306 | 
            +
                #   @option options [Float] :http_read_timeout (60) The default
         | 
| 307 | 
            +
                #     number of seconds to wait for response data.  This value can
         | 
| 308 | 
            +
                #     safely be set per-request on the session.
         | 
| 309 | 
            +
                #
         | 
| 310 | 
            +
                #   @option options [Float] :http_idle_timeout (5) The number of
         | 
| 311 | 
            +
                #     seconds a connection is allowed to sit idle before it is
         | 
| 312 | 
            +
                #     considered stale.  Stale connections are closed and removed
         | 
| 313 | 
            +
                #     from the pool before making a request.
         | 
| 314 | 
            +
                #
         | 
| 315 | 
            +
                #   @option options [Float] :http_continue_timeout (1) The number of
         | 
| 316 | 
            +
                #     seconds to wait for a 100-continue response before sending the
         | 
| 317 | 
            +
                #     request body.  This option has no effect unless the request has
         | 
| 318 | 
            +
                #     "Expect" header set to "100-continue".  Defaults to `nil` which
         | 
| 319 | 
            +
                #     disables this behaviour.  This value can safely be set per
         | 
| 320 | 
            +
                #     request on the session.
         | 
| 321 | 
            +
                #
         | 
| 322 | 
            +
                #   @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
         | 
| 323 | 
            +
                #     in seconds.
         | 
| 324 | 
            +
                #
         | 
| 325 | 
            +
                #   @option options [Boolean] :http_wire_trace (false) When `true`,
         | 
| 326 | 
            +
                #     HTTP debug output will be sent to the `:logger`.
         | 
| 327 | 
            +
                #
         | 
| 328 | 
            +
                #   @option options [Boolean] :ssl_verify_peer (true) When `true`,
         | 
| 329 | 
            +
                #     SSL peer certificates are verified when establishing a
         | 
| 330 | 
            +
                #     connection.
         | 
| 331 | 
            +
                #
         | 
| 332 | 
            +
                #   @option options [String] :ssl_ca_bundle Full path to the SSL
         | 
| 333 | 
            +
                #     certificate authority bundle file that should be used when
         | 
| 334 | 
            +
                #     verifying peer certificates.  If you do not pass
         | 
| 335 | 
            +
                #     `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
         | 
| 336 | 
            +
                #     will be used if available.
         | 
| 337 | 
            +
                #
         | 
| 338 | 
            +
                #   @option options [String] :ssl_ca_directory Full path of the
         | 
| 339 | 
            +
                #     directory that contains the unbundled SSL certificate
         | 
| 340 | 
            +
                #     authority files for verifying peer certificates.  If you do
         | 
| 341 | 
            +
                #     not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
         | 
| 342 | 
            +
                #     system default will be used if available.
         | 
| 343 | 
            +
                #
         | 
| 202 344 | 
             
                def initialize(*args)
         | 
| 203 345 | 
             
                  super
         | 
| 204 346 | 
             
                end
         | 
| 205 347 |  | 
| 206 348 | 
             
                # @!group API Operations
         | 
| 207 349 |  | 
| 208 | 
            -
                # Adds the specified certificate to the  | 
| 350 | 
            +
                # Adds the specified SSL server certificate to the certificate list for
         | 
| 351 | 
            +
                # the specified HTTPS or TLS listener.
         | 
| 352 | 
            +
                #
         | 
| 353 | 
            +
                # If the certificate in already in the certificate list, the call is
         | 
| 354 | 
            +
                # successful but the certificate is not added again.
         | 
| 355 | 
            +
                #
         | 
| 356 | 
            +
                # For more information, see [HTTPS listeners][1] in the *Application
         | 
| 357 | 
            +
                # Load Balancers Guide* or [TLS listeners][2] in the *Network Load
         | 
| 358 | 
            +
                # Balancers Guide*.
         | 
| 209 359 | 
             
                #
         | 
| 210 | 
            -
                # If the certificate was already added, the call is successful but the
         | 
| 211 | 
            -
                # certificate is not added again.
         | 
| 212 360 | 
             
                #
         | 
| 213 | 
            -
                # | 
| 214 | 
            -
                #  | 
| 215 | 
            -
                #  | 
| 216 | 
            -
                # server certificate, use ModifyListener.
         | 
| 361 | 
            +
                #
         | 
| 362 | 
            +
                # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html
         | 
| 363 | 
            +
                # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html
         | 
| 217 364 | 
             
                #
         | 
| 218 365 | 
             
                # @option params [required, String] :listener_arn
         | 
| 219 366 | 
             
                #   The Amazon Resource Name (ARN) of the listener.
         | 
| @@ -255,19 +402,17 @@ module Aws::ElasticLoadBalancingV2 | |
| 255 402 |  | 
| 256 403 | 
             
                # Adds the specified tags to the specified Elastic Load Balancing
         | 
| 257 404 | 
             
                # resource. You can tag your Application Load Balancers, Network Load
         | 
| 258 | 
            -
                # Balancers,  | 
| 405 | 
            +
                # Balancers, Gateway Load Balancers, target groups, listeners, and
         | 
| 406 | 
            +
                # rules.
         | 
| 259 407 | 
             
                #
         | 
| 260 408 | 
             
                # Each tag consists of a key and an optional value. If a resource
         | 
| 261 409 | 
             
                # already has a tag with the same key, `AddTags` updates its value.
         | 
| 262 410 | 
             
                #
         | 
| 263 | 
            -
                # To list the current tags for your resources, use DescribeTags. To
         | 
| 264 | 
            -
                # remove tags from your resources, use RemoveTags.
         | 
| 265 | 
            -
                #
         | 
| 266 411 | 
             
                # @option params [required, Array<String>] :resource_arns
         | 
| 267 412 | 
             
                #   The Amazon Resource Name (ARN) of the resource.
         | 
| 268 413 | 
             
                #
         | 
| 269 414 | 
             
                # @option params [required, Array<Types::Tag>] :tags
         | 
| 270 | 
            -
                #   The tags. | 
| 415 | 
            +
                #   The tags.
         | 
| 271 416 | 
             
                #
         | 
| 272 417 | 
             
                # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
         | 
| 273 418 | 
             
                #
         | 
| @@ -313,73 +458,87 @@ module Aws::ElasticLoadBalancingV2 | |
| 313 458 | 
             
                  req.send_request(options)
         | 
| 314 459 | 
             
                end
         | 
| 315 460 |  | 
| 316 | 
            -
                # Creates a listener for the specified Application Load Balancer | 
| 317 | 
            -
                # Network Load Balancer.
         | 
| 461 | 
            +
                # Creates a listener for the specified Application Load Balancer,
         | 
| 462 | 
            +
                # Network Load Balancer, or Gateway Load Balancer.
         | 
| 463 | 
            +
                #
         | 
| 464 | 
            +
                # For more information, see the following:
         | 
| 465 | 
            +
                #
         | 
| 466 | 
            +
                # * [Listeners for your Application Load Balancers][1]
         | 
| 318 467 | 
             
                #
         | 
| 319 | 
            -
                #  | 
| 320 | 
            -
                # | 
| 321 | 
            -
                #  | 
| 322 | 
            -
                # using DeleteLoadBalancer.
         | 
| 468 | 
            +
                # * [Listeners for your Network Load Balancers][2]
         | 
| 469 | 
            +
                #
         | 
| 470 | 
            +
                # * [Listeners for your Gateway Load Balancers][3]
         | 
| 323 471 | 
             
                #
         | 
| 324 472 | 
             
                # This operation is idempotent, which means that it completes at most
         | 
| 325 473 | 
             
                # one time. If you attempt to create multiple listeners with the same
         | 
| 326 474 | 
             
                # settings, each call succeeds.
         | 
| 327 475 | 
             
                #
         | 
| 328 | 
            -
                # For more information, see [Listeners for Your Application Load
         | 
| 329 | 
            -
                # Balancers][1] in the *Application Load Balancers Guide* and [Listeners
         | 
| 330 | 
            -
                # for Your Network Load Balancers][2] in the *Network Load Balancers
         | 
| 331 | 
            -
                # Guide*.
         | 
| 332 | 
            -
                #
         | 
| 333 476 | 
             
                #
         | 
| 334 477 | 
             
                #
         | 
| 335 478 | 
             
                # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html
         | 
| 336 479 | 
             
                # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html
         | 
| 480 | 
            +
                # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-listeners.html
         | 
| 337 481 | 
             
                #
         | 
| 338 482 | 
             
                # @option params [required, String] :load_balancer_arn
         | 
| 339 483 | 
             
                #   The Amazon Resource Name (ARN) of the load balancer.
         | 
| 340 484 | 
             
                #
         | 
| 341 | 
            -
                # @option params [ | 
| 485 | 
            +
                # @option params [String] :protocol
         | 
| 342 486 | 
             
                #   The protocol for connections from clients to the load balancer. For
         | 
| 343 487 | 
             
                #   Application Load Balancers, the supported protocols are HTTP and
         | 
| 344 | 
            -
                #   HTTPS. For Network Load Balancers, the supported protocols are TCP | 
| 345 | 
            -
                #   TLS.
         | 
| 488 | 
            +
                #   HTTPS. For Network Load Balancers, the supported protocols are TCP,
         | 
| 489 | 
            +
                #   TLS, UDP, and TCP\_UDP. You can’t specify the UDP or TCP\_UDP protocol
         | 
| 490 | 
            +
                #   if dual-stack mode is enabled. You cannot specify a protocol for a
         | 
| 491 | 
            +
                #   Gateway Load Balancer.
         | 
| 346 492 | 
             
                #
         | 
| 347 | 
            -
                # @option params [ | 
| 348 | 
            -
                #   The port on which the load balancer is listening.
         | 
| 493 | 
            +
                # @option params [Integer] :port
         | 
| 494 | 
            +
                #   The port on which the load balancer is listening. You cannot specify a
         | 
| 495 | 
            +
                #   port for a Gateway Load Balancer.
         | 
| 349 496 | 
             
                #
         | 
| 350 497 | 
             
                # @option params [String] :ssl_policy
         | 
| 351 498 | 
             
                #   \[HTTPS and TLS listeners\] The security policy that defines which
         | 
| 352 | 
            -
                #    | 
| 353 | 
            -
                # | 
| 499 | 
            +
                #   protocols and ciphers are supported.
         | 
| 500 | 
            +
                #
         | 
| 501 | 
            +
                #   For more information, see [Security policies][1] in the *Application
         | 
| 502 | 
            +
                #   Load Balancers Guide* and [Security policies][2] in the *Network Load
         | 
| 503 | 
            +
                #   Balancers Guide*.
         | 
| 504 | 
            +
                #
         | 
| 505 | 
            +
                #
         | 
| 506 | 
            +
                #
         | 
| 507 | 
            +
                #   [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies
         | 
| 508 | 
            +
                #   [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies
         | 
| 354 509 | 
             
                #
         | 
| 355 510 | 
             
                # @option params [Array<Types::Certificate>] :certificates
         | 
| 356 | 
            -
                #   \[HTTPS and TLS listeners\] The default  | 
| 357 | 
            -
                #   must provide exactly one certificate. Set `CertificateArn` to the
         | 
| 511 | 
            +
                #   \[HTTPS and TLS listeners\] The default certificate for the listener.
         | 
| 512 | 
            +
                #   You must provide exactly one certificate. Set `CertificateArn` to the
         | 
| 358 513 | 
             
                #   certificate ARN but do not set `IsDefault`.
         | 
| 359 514 | 
             
                #
         | 
| 360 | 
            -
                #   To create a certificate list, use AddListenerCertificates.
         | 
| 361 | 
            -
                #
         | 
| 362 515 | 
             
                # @option params [required, Array<Types::Action>] :default_actions
         | 
| 363 | 
            -
                #   The actions for the default rule. | 
| 364 | 
            -
                #   action or one or more fixed-response actions.
         | 
| 516 | 
            +
                #   The actions for the default rule.
         | 
| 365 517 | 
             
                #
         | 
| 366 | 
            -
                # | 
| 367 | 
            -
                #    | 
| 368 | 
            -
                #    | 
| 369 | 
            -
                #    | 
| 518 | 
            +
                # @option params [Array<String>] :alpn_policy
         | 
| 519 | 
            +
                #   \[TLS listeners\] The name of the Application-Layer Protocol
         | 
| 520 | 
            +
                #   Negotiation (ALPN) policy. You can specify one policy name. The
         | 
| 521 | 
            +
                #   following are the possible values:
         | 
| 370 522 | 
             
                #
         | 
| 371 | 
            -
                #    | 
| 372 | 
            -
                #   authenticate users through an identity provider that is OpenID Connect
         | 
| 373 | 
            -
                #   (OIDC) compliant.
         | 
| 523 | 
            +
                #   * `HTTP1Only`
         | 
| 374 524 | 
             
                #
         | 
| 375 | 
            -
                #    | 
| 376 | 
            -
                #   authenticate users through the user pools supported by Amazon Cognito.
         | 
| 525 | 
            +
                #   * `HTTP2Only`
         | 
| 377 526 | 
             
                #
         | 
| 378 | 
            -
                #    | 
| 379 | 
            -
                #   redirect specified client requests from one URL to another.
         | 
| 527 | 
            +
                #   * `HTTP2Optional`
         | 
| 380 528 | 
             
                #
         | 
| 381 | 
            -
                #    | 
| 382 | 
            -
                # | 
| 529 | 
            +
                #   * `HTTP2Preferred`
         | 
| 530 | 
            +
                #
         | 
| 531 | 
            +
                #   * `None`
         | 
| 532 | 
            +
                #
         | 
| 533 | 
            +
                #   For more information, see [ALPN policies][1] in the *Network Load
         | 
| 534 | 
            +
                #   Balancers Guide*.
         | 
| 535 | 
            +
                #
         | 
| 536 | 
            +
                #
         | 
| 537 | 
            +
                #
         | 
| 538 | 
            +
                #   [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
         | 
| 539 | 
            +
                #
         | 
| 540 | 
            +
                # @option params [Array<Types::Tag>] :tags
         | 
| 541 | 
            +
                #   The tags to assign to the listener.
         | 
| 383 542 | 
             
                #
         | 
| 384 543 | 
             
                # @return [Types::CreateListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 385 544 | 
             
                #
         | 
| @@ -474,8 +633,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 474 633 | 
             
                #
         | 
| 475 634 | 
             
                #   resp = client.create_listener({
         | 
| 476 635 | 
             
                #     load_balancer_arn: "LoadBalancerArn", # required
         | 
| 477 | 
            -
                #     protocol: "HTTP", #  | 
| 478 | 
            -
                #     port: 1, | 
| 636 | 
            +
                #     protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
         | 
| 637 | 
            +
                #     port: 1,
         | 
| 479 638 | 
             
                #     ssl_policy: "SslPolicyName",
         | 
| 480 639 | 
             
                #     certificates: [
         | 
| 481 640 | 
             
                #       {
         | 
| @@ -529,6 +688,25 @@ module Aws::ElasticLoadBalancingV2 | |
| 529 688 | 
             
                #           status_code: "FixedResponseActionStatusCode", # required
         | 
| 530 689 | 
             
                #           content_type: "FixedResponseActionContentType",
         | 
| 531 690 | 
             
                #         },
         | 
| 691 | 
            +
                #         forward_config: {
         | 
| 692 | 
            +
                #           target_groups: [
         | 
| 693 | 
            +
                #             {
         | 
| 694 | 
            +
                #               target_group_arn: "TargetGroupArn",
         | 
| 695 | 
            +
                #               weight: 1,
         | 
| 696 | 
            +
                #             },
         | 
| 697 | 
            +
                #           ],
         | 
| 698 | 
            +
                #           target_group_stickiness_config: {
         | 
| 699 | 
            +
                #             enabled: false,
         | 
| 700 | 
            +
                #             duration_seconds: 1,
         | 
| 701 | 
            +
                #           },
         | 
| 702 | 
            +
                #         },
         | 
| 703 | 
            +
                #       },
         | 
| 704 | 
            +
                #     ],
         | 
| 705 | 
            +
                #     alpn_policy: ["AlpnPolicyValue"],
         | 
| 706 | 
            +
                #     tags: [
         | 
| 707 | 
            +
                #       {
         | 
| 708 | 
            +
                #         key: "TagKey", # required
         | 
| 709 | 
            +
                #         value: "TagValue",
         | 
| 532 710 | 
             
                #       },
         | 
| 533 711 | 
             
                #     ],
         | 
| 534 712 | 
             
                #   })
         | 
| @@ -539,7 +717,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 539 717 | 
             
                #   resp.listeners[0].listener_arn #=> String
         | 
| 540 718 | 
             
                #   resp.listeners[0].load_balancer_arn #=> String
         | 
| 541 719 | 
             
                #   resp.listeners[0].port #=> Integer
         | 
| 542 | 
            -
                #   resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS"
         | 
| 720 | 
            +
                #   resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
         | 
| 543 721 | 
             
                #   resp.listeners[0].certificates #=> Array
         | 
| 544 722 | 
             
                #   resp.listeners[0].certificates[0].certificate_arn #=> String
         | 
| 545 723 | 
             
                #   resp.listeners[0].certificates[0].is_default #=> Boolean
         | 
| @@ -579,6 +757,13 @@ module Aws::ElasticLoadBalancingV2 | |
| 579 757 | 
             
                #   resp.listeners[0].default_actions[0].fixed_response_config.message_body #=> String
         | 
| 580 758 | 
             
                #   resp.listeners[0].default_actions[0].fixed_response_config.status_code #=> String
         | 
| 581 759 | 
             
                #   resp.listeners[0].default_actions[0].fixed_response_config.content_type #=> String
         | 
| 760 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_groups #=> Array
         | 
| 761 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_groups[0].target_group_arn #=> String
         | 
| 762 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_groups[0].weight #=> Integer
         | 
| 763 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
         | 
| 764 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
         | 
| 765 | 
            +
                #   resp.listeners[0].alpn_policy #=> Array
         | 
| 766 | 
            +
                #   resp.listeners[0].alpn_policy[0] #=> String
         | 
| 582 767 | 
             
                #
         | 
| 583 768 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener AWS API Documentation
         | 
| 584 769 | 
             
                #
         | 
| @@ -589,36 +774,26 @@ module Aws::ElasticLoadBalancingV2 | |
| 589 774 | 
             
                  req.send_request(options)
         | 
| 590 775 | 
             
                end
         | 
| 591 776 |  | 
| 592 | 
            -
                # Creates an Application Load Balancer  | 
| 777 | 
            +
                # Creates an Application Load Balancer, Network Load Balancer, or
         | 
| 778 | 
            +
                # Gateway Load Balancer.
         | 
| 593 779 | 
             
                #
         | 
| 594 | 
            -
                #  | 
| 595 | 
            -
                # public subnets, IP address type, and tags. Otherwise, you could do so
         | 
| 596 | 
            -
                # later using SetSecurityGroups, SetSubnets, SetIpAddressType, and
         | 
| 597 | 
            -
                # AddTags.
         | 
| 780 | 
            +
                # For more information, see the following:
         | 
| 598 781 | 
             
                #
         | 
| 599 | 
            -
                #  | 
| 600 | 
            -
                # describe your current load balancers, see DescribeLoadBalancers. When
         | 
| 601 | 
            -
                # you are finished with a load balancer, you can delete it using
         | 
| 602 | 
            -
                # DeleteLoadBalancer.
         | 
| 782 | 
            +
                # * [Application Load Balancers][1]
         | 
| 603 783 | 
             
                #
         | 
| 604 | 
            -
                #  | 
| 605 | 
            -
                # | 
| 606 | 
            -
                #  | 
| 784 | 
            +
                # * [Network Load Balancers][2]
         | 
| 785 | 
            +
                #
         | 
| 786 | 
            +
                # * [Gateway Load Balancers][3]
         | 
| 607 787 | 
             
                #
         | 
| 608 788 | 
             
                # This operation is idempotent, which means that it completes at most
         | 
| 609 789 | 
             
                # one time. If you attempt to create multiple load balancers with the
         | 
| 610 790 | 
             
                # same settings, each call succeeds.
         | 
| 611 791 | 
             
                #
         | 
| 612 | 
            -
                # For more information, see [Application Load Balancers][3] in the
         | 
| 613 | 
            -
                # *Application Load Balancers Guide* and [Network Load Balancers][4] in
         | 
| 614 | 
            -
                # the *Network Load Balancers Guide*.
         | 
| 615 792 | 
             
                #
         | 
| 616 793 | 
             
                #
         | 
| 617 | 
            -
                #
         | 
| 618 | 
            -
                # [ | 
| 619 | 
            -
                # [ | 
| 620 | 
            -
                # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
         | 
| 621 | 
            -
                # [4]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html
         | 
| 794 | 
            +
                # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
         | 
| 795 | 
            +
                # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html
         | 
| 796 | 
            +
                # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html
         | 
| 622 797 | 
             
                #
         | 
| 623 798 | 
             
                # @option params [required, String] :name
         | 
| 624 799 | 
             
                #   The name of the load balancer.
         | 
| @@ -635,9 +810,18 @@ module Aws::ElasticLoadBalancingV2 | |
| 635 810 | 
             
                #   \[Application Load Balancers\] You must specify subnets from at least
         | 
| 636 811 | 
             
                #   two Availability Zones.
         | 
| 637 812 | 
             
                #
         | 
| 813 | 
            +
                #   \[Application Load Balancers on Outposts\] You must specify one
         | 
| 814 | 
            +
                #   Outpost subnet.
         | 
| 815 | 
            +
                #
         | 
| 816 | 
            +
                #   \[Application Load Balancers on Local Zones\] You can specify subnets
         | 
| 817 | 
            +
                #   from one or more Local Zones.
         | 
| 818 | 
            +
                #
         | 
| 638 819 | 
             
                #   \[Network Load Balancers\] You can specify subnets from one or more
         | 
| 639 820 | 
             
                #   Availability Zones.
         | 
| 640 821 | 
             
                #
         | 
| 822 | 
            +
                #   \[Gateway Load Balancers\] You can specify subnets from one or more
         | 
| 823 | 
            +
                #   Availability Zones.
         | 
| 824 | 
            +
                #
         | 
| 641 825 | 
             
                # @option params [Array<Types::SubnetMapping>] :subnet_mappings
         | 
| 642 826 | 
             
                #   The IDs of the public subnets. You can specify only one subnet per
         | 
| 643 827 | 
             
                #   Availability Zone. You must specify either subnets or subnet mappings.
         | 
| @@ -646,8 +830,23 @@ module Aws::ElasticLoadBalancingV2 | |
| 646 830 | 
             
                #   two Availability Zones. You cannot specify Elastic IP addresses for
         | 
| 647 831 | 
             
                #   your subnets.
         | 
| 648 832 | 
             
                #
         | 
| 833 | 
            +
                #   \[Application Load Balancers on Outposts\] You must specify one
         | 
| 834 | 
            +
                #   Outpost subnet.
         | 
| 835 | 
            +
                #
         | 
| 836 | 
            +
                #   \[Application Load Balancers on Local Zones\] You can specify subnets
         | 
| 837 | 
            +
                #   from one or more Local Zones.
         | 
| 838 | 
            +
                #
         | 
| 649 839 | 
             
                #   \[Network Load Balancers\] You can specify subnets from one or more
         | 
| 650 | 
            -
                #   Availability Zones. You can specify one Elastic IP address per subnet | 
| 840 | 
            +
                #   Availability Zones. You can specify one Elastic IP address per subnet
         | 
| 841 | 
            +
                #   if you need static IP addresses for your internet-facing load
         | 
| 842 | 
            +
                #   balancer. For internal load balancers, you can specify one private IP
         | 
| 843 | 
            +
                #   address per subnet from the IPv4 range of the subnet. For
         | 
| 844 | 
            +
                #   internet-facing load balancer, you can specify one IPv6 address per
         | 
| 845 | 
            +
                #   subnet.
         | 
| 846 | 
            +
                #
         | 
| 847 | 
            +
                #   \[Gateway Load Balancers\] You can specify subnets from one or more
         | 
| 848 | 
            +
                #   Availability Zones. You cannot specify Elastic IP addresses for your
         | 
| 849 | 
            +
                #   subnets.
         | 
| 651 850 | 
             
                #
         | 
| 652 851 | 
             
                # @option params [Array<String>] :security_groups
         | 
| 653 852 | 
             
                #   \[Application Load Balancers\] The IDs of the security groups for the
         | 
| @@ -663,22 +862,27 @@ module Aws::ElasticLoadBalancingV2 | |
| 663 862 | 
             
                #   The nodes of an internal load balancer have only private IP addresses.
         | 
| 664 863 | 
             
                #   The DNS name of an internal load balancer is publicly resolvable to
         | 
| 665 864 | 
             
                #   the private IP addresses of the nodes. Therefore, internal load
         | 
| 666 | 
            -
                #   balancers can  | 
| 865 | 
            +
                #   balancers can route requests only from clients with access to the VPC
         | 
| 667 866 | 
             
                #   for the load balancer.
         | 
| 668 867 | 
             
                #
         | 
| 669 868 | 
             
                #   The default is an Internet-facing load balancer.
         | 
| 670 869 | 
             
                #
         | 
| 870 | 
            +
                #   You cannot specify a scheme for a Gateway Load Balancer.
         | 
| 871 | 
            +
                #
         | 
| 671 872 | 
             
                # @option params [Array<Types::Tag>] :tags
         | 
| 672 | 
            -
                #    | 
| 873 | 
            +
                #   The tags to assign to the load balancer.
         | 
| 673 874 | 
             
                #
         | 
| 674 875 | 
             
                # @option params [String] :type
         | 
| 675 876 | 
             
                #   The type of load balancer. The default is `application`.
         | 
| 676 877 | 
             
                #
         | 
| 677 878 | 
             
                # @option params [String] :ip_address_type
         | 
| 678 | 
            -
                #    | 
| 679 | 
            -
                #    | 
| 680 | 
            -
                #    | 
| 681 | 
            -
                # | 
| 879 | 
            +
                #   The type of IP addresses used by the subnets for your load balancer.
         | 
| 880 | 
            +
                #   The possible values are `ipv4` (for IPv4 addresses) and `dualstack`
         | 
| 881 | 
            +
                #   (for IPv4 and IPv6 addresses).
         | 
| 882 | 
            +
                #
         | 
| 883 | 
            +
                # @option params [String] :customer_owned_ipv_4_pool
         | 
| 884 | 
            +
                #   \[Application Load Balancers on Outposts\] The ID of the
         | 
| 885 | 
            +
                #   customer-owned address pool (CoIP pool).
         | 
| 682 886 | 
             
                #
         | 
| 683 887 | 
             
                # @return [Types::CreateLoadBalancerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 684 888 | 
             
                #
         | 
| @@ -785,6 +989,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 785 989 | 
             
                #       {
         | 
| 786 990 | 
             
                #         subnet_id: "SubnetId",
         | 
| 787 991 | 
             
                #         allocation_id: "AllocationId",
         | 
| 992 | 
            +
                #         private_i_pv_4_address: "PrivateIPv4Address",
         | 
| 993 | 
            +
                #         i_pv_6_address: "IPv6Address",
         | 
| 788 994 | 
             
                #       },
         | 
| 789 995 | 
             
                #     ],
         | 
| 790 996 | 
             
                #     security_groups: ["SecurityGroupId"],
         | 
| @@ -795,8 +1001,9 @@ module Aws::ElasticLoadBalancingV2 | |
| 795 1001 | 
             
                #         value: "TagValue",
         | 
| 796 1002 | 
             
                #       },
         | 
| 797 1003 | 
             
                #     ],
         | 
| 798 | 
            -
                #     type: "application", # accepts application, network
         | 
| 1004 | 
            +
                #     type: "application", # accepts application, network, gateway
         | 
| 799 1005 | 
             
                #     ip_address_type: "ipv4", # accepts ipv4, dualstack
         | 
| 1006 | 
            +
                #     customer_owned_ipv_4_pool: "CustomerOwnedIpv4Pool",
         | 
| 800 1007 | 
             
                #   })
         | 
| 801 1008 | 
             
                #
         | 
| 802 1009 | 
             
                # @example Response structure
         | 
| @@ -811,16 +1018,20 @@ module Aws::ElasticLoadBalancingV2 | |
| 811 1018 | 
             
                #   resp.load_balancers[0].vpc_id #=> String
         | 
| 812 1019 | 
             
                #   resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
         | 
| 813 1020 | 
             
                #   resp.load_balancers[0].state.reason #=> String
         | 
| 814 | 
            -
                #   resp.load_balancers[0].type #=> String, one of "application", "network"
         | 
| 1021 | 
            +
                #   resp.load_balancers[0].type #=> String, one of "application", "network", "gateway"
         | 
| 815 1022 | 
             
                #   resp.load_balancers[0].availability_zones #=> Array
         | 
| 816 1023 | 
             
                #   resp.load_balancers[0].availability_zones[0].zone_name #=> String
         | 
| 817 1024 | 
             
                #   resp.load_balancers[0].availability_zones[0].subnet_id #=> String
         | 
| 1025 | 
            +
                #   resp.load_balancers[0].availability_zones[0].outpost_id #=> String
         | 
| 818 1026 | 
             
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses #=> Array
         | 
| 819 1027 | 
             
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].ip_address #=> String
         | 
| 820 1028 | 
             
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
         | 
| 1029 | 
            +
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].private_i_pv_4_address #=> String
         | 
| 1030 | 
            +
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].i_pv_6_address #=> String
         | 
| 821 1031 | 
             
                #   resp.load_balancers[0].security_groups #=> Array
         | 
| 822 1032 | 
             
                #   resp.load_balancers[0].security_groups[0] #=> String
         | 
| 823 1033 | 
             
                #   resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack"
         | 
| 1034 | 
            +
                #   resp.load_balancers[0].customer_owned_ipv_4_pool #=> String
         | 
| 824 1035 | 
             
                #
         | 
| 825 1036 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer AWS API Documentation
         | 
| 826 1037 | 
             
                #
         | 
| @@ -834,15 +1045,12 @@ module Aws::ElasticLoadBalancingV2 | |
| 834 1045 | 
             
                # Creates a rule for the specified listener. The listener must be
         | 
| 835 1046 | 
             
                # associated with an Application Load Balancer.
         | 
| 836 1047 | 
             
                #
         | 
| 837 | 
            -
                #  | 
| 838 | 
            -
                #  | 
| 839 | 
            -
                #  | 
| 840 | 
            -
                #  | 
| 841 | 
            -
                #  | 
| 842 | 
            -
                #
         | 
| 843 | 
            -
                # To view your current rules, use DescribeRules. To update a rule, use
         | 
| 844 | 
            -
                # ModifyRule. To set the priorities of your rules, use
         | 
| 845 | 
            -
                # SetRulePriorities. To delete a rule, use DeleteRule.
         | 
| 1048 | 
            +
                # Each rule consists of a priority, one or more actions, and one or more
         | 
| 1049 | 
            +
                # conditions. Rules are evaluated in priority order, from the lowest
         | 
| 1050 | 
            +
                # value to the highest value. When the conditions for a rule are met,
         | 
| 1051 | 
            +
                # its actions are performed. If the conditions for no rules are met, the
         | 
| 1052 | 
            +
                # actions for the default rule are performed. For more information, see
         | 
| 1053 | 
            +
                # [Listener rules][1] in the *Application Load Balancers Guide*.
         | 
| 846 1054 | 
             
                #
         | 
| 847 1055 | 
             
                #
         | 
| 848 1056 | 
             
                #
         | 
| @@ -852,62 +1060,17 @@ module Aws::ElasticLoadBalancingV2 | |
| 852 1060 | 
             
                #   The Amazon Resource Name (ARN) of the listener.
         | 
| 853 1061 | 
             
                #
         | 
| 854 1062 | 
             
                # @option params [required, Array<Types::RuleCondition>] :conditions
         | 
| 855 | 
            -
                #   The conditions. | 
| 856 | 
            -
                #   value.
         | 
| 857 | 
            -
                #
         | 
| 858 | 
            -
                #   If the field name is `host-header`, you can specify a single host name
         | 
| 859 | 
            -
                #   (for example, my.example.com). A host name is case insensitive, can be
         | 
| 860 | 
            -
                #   up to 128 characters in length, and can contain any of the following
         | 
| 861 | 
            -
                #   characters. You can include up to three wildcard characters.
         | 
| 862 | 
            -
                #
         | 
| 863 | 
            -
                #   * A-Z, a-z, 0-9
         | 
| 864 | 
            -
                #
         | 
| 865 | 
            -
                #   * \- .
         | 
| 866 | 
            -
                #
         | 
| 867 | 
            -
                #   * * (matches 0 or more characters)
         | 
| 868 | 
            -
                #
         | 
| 869 | 
            -
                #   * ? (matches exactly 1 character)
         | 
| 870 | 
            -
                #
         | 
| 871 | 
            -
                #   If the field name is `path-pattern`, you can specify a single path
         | 
| 872 | 
            -
                #   pattern. A path pattern is case-sensitive, can be up to 128 characters
         | 
| 873 | 
            -
                #   in length, and can contain any of the following characters. You can
         | 
| 874 | 
            -
                #   include up to three wildcard characters.
         | 
| 875 | 
            -
                #
         | 
| 876 | 
            -
                #   * A-Z, a-z, 0-9
         | 
| 877 | 
            -
                #
         | 
| 878 | 
            -
                #   * \_ - . $ / ~ " ' @ : +
         | 
| 879 | 
            -
                #
         | 
| 880 | 
            -
                #   * & (using &amp;)
         | 
| 881 | 
            -
                #
         | 
| 882 | 
            -
                #   * * (matches 0 or more characters)
         | 
| 883 | 
            -
                #
         | 
| 884 | 
            -
                #   * ? (matches exactly 1 character)
         | 
| 1063 | 
            +
                #   The conditions.
         | 
| 885 1064 | 
             
                #
         | 
| 886 1065 | 
             
                # @option params [required, Integer] :priority
         | 
| 887 1066 | 
             
                #   The rule priority. A listener can't have multiple rules with the same
         | 
| 888 1067 | 
             
                #   priority.
         | 
| 889 1068 | 
             
                #
         | 
| 890 1069 | 
             
                # @option params [required, Array<Types::Action>] :actions
         | 
| 891 | 
            -
                #   The actions. | 
| 892 | 
            -
                #   of actions: `forward`, `fixed-response`, or `redirect`.
         | 
| 893 | 
            -
                #
         | 
| 894 | 
            -
                #   If the action type is `forward`, you specify a target group. The
         | 
| 895 | 
            -
                #   protocol of the target group must be HTTP or HTTPS for an Application
         | 
| 896 | 
            -
                #   Load Balancer. The protocol of the target group must be TCP or TLS for
         | 
| 897 | 
            -
                #   a Network Load Balancer.
         | 
| 898 | 
            -
                #
         | 
| 899 | 
            -
                #   \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
         | 
| 900 | 
            -
                #   authenticate users through an identity provider that is OpenID Connect
         | 
| 901 | 
            -
                #   (OIDC) compliant.
         | 
| 902 | 
            -
                #
         | 
| 903 | 
            -
                #   \[HTTPS listeners\] If the action type is `authenticate-cognito`, you
         | 
| 904 | 
            -
                #   authenticate users through the user pools supported by Amazon Cognito.
         | 
| 905 | 
            -
                #
         | 
| 906 | 
            -
                #   \[Application Load Balancer\] If the action type is `redirect`, you
         | 
| 907 | 
            -
                #   redirect specified client requests from one URL to another.
         | 
| 1070 | 
            +
                #   The actions.
         | 
| 908 1071 | 
             
                #
         | 
| 909 | 
            -
                # | 
| 910 | 
            -
                #    | 
| 1072 | 
            +
                # @option params [Array<Types::Tag>] :tags
         | 
| 1073 | 
            +
                #   The tags to assign to the rule.
         | 
| 911 1074 | 
             
                #
         | 
| 912 1075 | 
             
                # @return [Types::CreateRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 913 1076 | 
             
                #
         | 
| @@ -971,6 +1134,30 @@ module Aws::ElasticLoadBalancingV2 | |
| 971 1134 | 
             
                #       {
         | 
| 972 1135 | 
             
                #         field: "ConditionFieldName",
         | 
| 973 1136 | 
             
                #         values: ["StringValue"],
         | 
| 1137 | 
            +
                #         host_header_config: {
         | 
| 1138 | 
            +
                #           values: ["StringValue"],
         | 
| 1139 | 
            +
                #         },
         | 
| 1140 | 
            +
                #         path_pattern_config: {
         | 
| 1141 | 
            +
                #           values: ["StringValue"],
         | 
| 1142 | 
            +
                #         },
         | 
| 1143 | 
            +
                #         http_header_config: {
         | 
| 1144 | 
            +
                #           http_header_name: "HttpHeaderConditionName",
         | 
| 1145 | 
            +
                #           values: ["StringValue"],
         | 
| 1146 | 
            +
                #         },
         | 
| 1147 | 
            +
                #         query_string_config: {
         | 
| 1148 | 
            +
                #           values: [
         | 
| 1149 | 
            +
                #             {
         | 
| 1150 | 
            +
                #               key: "StringValue",
         | 
| 1151 | 
            +
                #               value: "StringValue",
         | 
| 1152 | 
            +
                #             },
         | 
| 1153 | 
            +
                #           ],
         | 
| 1154 | 
            +
                #         },
         | 
| 1155 | 
            +
                #         http_request_method_config: {
         | 
| 1156 | 
            +
                #           values: ["StringValue"],
         | 
| 1157 | 
            +
                #         },
         | 
| 1158 | 
            +
                #         source_ip_config: {
         | 
| 1159 | 
            +
                #           values: ["StringValue"],
         | 
| 1160 | 
            +
                #         },
         | 
| 974 1161 | 
             
                #       },
         | 
| 975 1162 | 
             
                #     ],
         | 
| 976 1163 | 
             
                #     priority: 1, # required
         | 
| @@ -1020,6 +1207,24 @@ module Aws::ElasticLoadBalancingV2 | |
| 1020 1207 | 
             
                #           status_code: "FixedResponseActionStatusCode", # required
         | 
| 1021 1208 | 
             
                #           content_type: "FixedResponseActionContentType",
         | 
| 1022 1209 | 
             
                #         },
         | 
| 1210 | 
            +
                #         forward_config: {
         | 
| 1211 | 
            +
                #           target_groups: [
         | 
| 1212 | 
            +
                #             {
         | 
| 1213 | 
            +
                #               target_group_arn: "TargetGroupArn",
         | 
| 1214 | 
            +
                #               weight: 1,
         | 
| 1215 | 
            +
                #             },
         | 
| 1216 | 
            +
                #           ],
         | 
| 1217 | 
            +
                #           target_group_stickiness_config: {
         | 
| 1218 | 
            +
                #             enabled: false,
         | 
| 1219 | 
            +
                #             duration_seconds: 1,
         | 
| 1220 | 
            +
                #           },
         | 
| 1221 | 
            +
                #         },
         | 
| 1222 | 
            +
                #       },
         | 
| 1223 | 
            +
                #     ],
         | 
| 1224 | 
            +
                #     tags: [
         | 
| 1225 | 
            +
                #       {
         | 
| 1226 | 
            +
                #         key: "TagKey", # required
         | 
| 1227 | 
            +
                #         value: "TagValue",
         | 
| 1023 1228 | 
             
                #       },
         | 
| 1024 1229 | 
             
                #     ],
         | 
| 1025 1230 | 
             
                #   })
         | 
| @@ -1033,6 +1238,20 @@ module Aws::ElasticLoadBalancingV2 | |
| 1033 1238 | 
             
                #   resp.rules[0].conditions[0].field #=> String
         | 
| 1034 1239 | 
             
                #   resp.rules[0].conditions[0].values #=> Array
         | 
| 1035 1240 | 
             
                #   resp.rules[0].conditions[0].values[0] #=> String
         | 
| 1241 | 
            +
                #   resp.rules[0].conditions[0].host_header_config.values #=> Array
         | 
| 1242 | 
            +
                #   resp.rules[0].conditions[0].host_header_config.values[0] #=> String
         | 
| 1243 | 
            +
                #   resp.rules[0].conditions[0].path_pattern_config.values #=> Array
         | 
| 1244 | 
            +
                #   resp.rules[0].conditions[0].path_pattern_config.values[0] #=> String
         | 
| 1245 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.http_header_name #=> String
         | 
| 1246 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.values #=> Array
         | 
| 1247 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.values[0] #=> String
         | 
| 1248 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values #=> Array
         | 
| 1249 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values[0].key #=> String
         | 
| 1250 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values[0].value #=> String
         | 
| 1251 | 
            +
                #   resp.rules[0].conditions[0].http_request_method_config.values #=> Array
         | 
| 1252 | 
            +
                #   resp.rules[0].conditions[0].http_request_method_config.values[0] #=> String
         | 
| 1253 | 
            +
                #   resp.rules[0].conditions[0].source_ip_config.values #=> Array
         | 
| 1254 | 
            +
                #   resp.rules[0].conditions[0].source_ip_config.values[0] #=> String
         | 
| 1036 1255 | 
             
                #   resp.rules[0].actions #=> Array
         | 
| 1037 1256 | 
             
                #   resp.rules[0].actions[0].type #=> String, one of "forward", "authenticate-oidc", "authenticate-cognito", "redirect", "fixed-response"
         | 
| 1038 1257 | 
             
                #   resp.rules[0].actions[0].target_group_arn #=> String
         | 
| @@ -1068,6 +1287,11 @@ module Aws::ElasticLoadBalancingV2 | |
| 1068 1287 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.message_body #=> String
         | 
| 1069 1288 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.status_code #=> String
         | 
| 1070 1289 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.content_type #=> String
         | 
| 1290 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups #=> Array
         | 
| 1291 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups[0].target_group_arn #=> String
         | 
| 1292 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups[0].weight #=> Integer
         | 
| 1293 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
         | 
| 1294 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
         | 
| 1071 1295 | 
             
                #   resp.rules[0].is_default #=> Boolean
         | 
| 1072 1296 | 
             
                #
         | 
| 1073 1297 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRule AWS API Documentation
         | 
| @@ -1081,29 +1305,23 @@ module Aws::ElasticLoadBalancingV2 | |
| 1081 1305 |  | 
| 1082 1306 | 
             
                # Creates a target group.
         | 
| 1083 1307 | 
             
                #
         | 
| 1084 | 
            -
                #  | 
| 1085 | 
            -
                # | 
| 1086 | 
            -
                #  | 
| 1087 | 
            -
                # group, use DescribeTargetHealth.
         | 
| 1308 | 
            +
                # For more information, see the following:
         | 
| 1309 | 
            +
                #
         | 
| 1310 | 
            +
                # * [Target groups for your Application Load Balancers][1]
         | 
| 1088 1311 | 
             
                #
         | 
| 1089 | 
            -
                #  | 
| 1090 | 
            -
                # group in an action using CreateListener or CreateRule.
         | 
| 1312 | 
            +
                # * [Target groups for your Network Load Balancers][2]
         | 
| 1091 1313 | 
             
                #
         | 
| 1092 | 
            -
                #  | 
| 1314 | 
            +
                # * [Target groups for your Gateway Load Balancers][3]
         | 
| 1093 1315 | 
             
                #
         | 
| 1094 1316 | 
             
                # This operation is idempotent, which means that it completes at most
         | 
| 1095 1317 | 
             
                # one time. If you attempt to create multiple target groups with the
         | 
| 1096 1318 | 
             
                # same settings, each call succeeds.
         | 
| 1097 1319 | 
             
                #
         | 
| 1098 | 
            -
                # For more information, see [Target Groups for Your Application Load
         | 
| 1099 | 
            -
                # Balancers][1] in the *Application Load Balancers Guide* or [Target
         | 
| 1100 | 
            -
                # Groups for Your Network Load Balancers][2] in the *Network Load
         | 
| 1101 | 
            -
                # Balancers Guide*.
         | 
| 1102 | 
            -
                #
         | 
| 1103 1320 | 
             
                #
         | 
| 1104 1321 | 
             
                #
         | 
| 1105 1322 | 
             
                # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html
         | 
| 1106 1323 | 
             
                # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html
         | 
| 1324 | 
            +
                # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html
         | 
| 1107 1325 | 
             
                #
         | 
| 1108 1326 | 
             
                # @option params [required, String] :name
         | 
| 1109 1327 | 
             
                #   The name of the target group.
         | 
| @@ -1115,87 +1333,120 @@ module Aws::ElasticLoadBalancingV2 | |
| 1115 1333 | 
             
                # @option params [String] :protocol
         | 
| 1116 1334 | 
             
                #   The protocol to use for routing traffic to the targets. For
         | 
| 1117 1335 | 
             
                #   Application Load Balancers, the supported protocols are HTTP and
         | 
| 1118 | 
            -
                #   HTTPS. For Network Load Balancers, the supported protocols are TCP | 
| 1119 | 
            -
                #   TLS | 
| 1120 | 
            -
                #    | 
| 1336 | 
            +
                #   HTTPS. For Network Load Balancers, the supported protocols are TCP,
         | 
| 1337 | 
            +
                #   TLS, UDP, or TCP\_UDP. For Gateway Load Balancers, the supported
         | 
| 1338 | 
            +
                #   protocol is GENEVE. A TCP\_UDP listener must be associated with a
         | 
| 1339 | 
            +
                #   TCP\_UDP target group. If the target is a Lambda function, this
         | 
| 1340 | 
            +
                #   parameter does not apply.
         | 
| 1341 | 
            +
                #
         | 
| 1342 | 
            +
                # @option params [String] :protocol_version
         | 
| 1343 | 
            +
                #   \[HTTP/HTTPS protocol\] The protocol version. Specify `GRPC` to send
         | 
| 1344 | 
            +
                #   requests to targets using gRPC. Specify `HTTP2` to send requests to
         | 
| 1345 | 
            +
                #   targets using HTTP/2. The default is `HTTP1`, which sends requests to
         | 
| 1346 | 
            +
                #   targets using HTTP/1.1.
         | 
| 1121 1347 | 
             
                #
         | 
| 1122 1348 | 
             
                # @option params [Integer] :port
         | 
| 1123 1349 | 
             
                #   The port on which the targets receive traffic. This port is used
         | 
| 1124 1350 | 
             
                #   unless you specify a port override when registering the target. If the
         | 
| 1125 | 
            -
                #   target is a Lambda function, this parameter does not apply.
         | 
| 1351 | 
            +
                #   target is a Lambda function, this parameter does not apply. If the
         | 
| 1352 | 
            +
                #   protocol is GENEVE, the supported port is 6081.
         | 
| 1126 1353 | 
             
                #
         | 
| 1127 1354 | 
             
                # @option params [String] :vpc_id
         | 
| 1128 1355 | 
             
                #   The identifier of the virtual private cloud (VPC). If the target is a
         | 
| 1129 | 
            -
                #   Lambda function, this parameter does not apply.
         | 
| 1356 | 
            +
                #   Lambda function, this parameter does not apply. Otherwise, this
         | 
| 1357 | 
            +
                #   parameter is required.
         | 
| 1130 1358 | 
             
                #
         | 
| 1131 1359 | 
             
                # @option params [String] :health_check_protocol
         | 
| 1132 1360 | 
             
                #   The protocol the load balancer uses when performing health checks on
         | 
| 1133 1361 | 
             
                #   targets. For Application Load Balancers, the default is HTTP. For
         | 
| 1134 | 
            -
                #   Network Load Balancers, the default is TCP. | 
| 1135 | 
            -
                #   supported for health checks  | 
| 1136 | 
            -
                #   is  | 
| 1362 | 
            +
                #   Network Load Balancers and Gateway Load Balancers, the default is TCP.
         | 
| 1363 | 
            +
                #   The TCP protocol is not supported for health checks if the protocol of
         | 
| 1364 | 
            +
                #   the target group is HTTP or HTTPS. The GENEVE, TLS, UDP, and TCP\_UDP
         | 
| 1365 | 
            +
                #   protocols are not supported for health checks.
         | 
| 1137 1366 | 
             
                #
         | 
| 1138 1367 | 
             
                # @option params [String] :health_check_port
         | 
| 1139 1368 | 
             
                #   The port the load balancer uses when performing health checks on
         | 
| 1140 | 
            -
                #   targets.  | 
| 1141 | 
            -
                #    | 
| 1369 | 
            +
                #   targets. If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP\_UDP,
         | 
| 1370 | 
            +
                #   the default is `traffic-port`, which is the port on which each target
         | 
| 1371 | 
            +
                #   receives traffic from the load balancer. If the protocol is GENEVE,
         | 
| 1372 | 
            +
                #   the default is port 80.
         | 
| 1142 1373 | 
             
                #
         | 
| 1143 1374 | 
             
                # @option params [Boolean] :health_check_enabled
         | 
| 1144 1375 | 
             
                #   Indicates whether health checks are enabled. If the target type is
         | 
| 1145 | 
            -
                #   ` | 
| 1146 | 
            -
                #   ` | 
| 1376 | 
            +
                #   `lambda`, health checks are disabled by default but can be enabled. If
         | 
| 1377 | 
            +
                #   the target type is `instance`, `ip`, or `alb`, health checks are
         | 
| 1378 | 
            +
                #   always enabled and cannot be disabled.
         | 
| 1147 1379 | 
             
                #
         | 
| 1148 1380 | 
             
                # @option params [String] :health_check_path
         | 
| 1149 | 
            -
                #   \[HTTP/HTTPS health checks\] The  | 
| 1150 | 
            -
                #    | 
| 1381 | 
            +
                #   \[HTTP/HTTPS health checks\] The destination for health checks on the
         | 
| 1382 | 
            +
                #   targets.
         | 
| 1383 | 
            +
                #
         | 
| 1384 | 
            +
                #   \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
         | 
| 1385 | 
            +
                #
         | 
| 1386 | 
            +
                #   \[GRPC protocol version\] The path of a custom health check method
         | 
| 1387 | 
            +
                #   with the format /package.service/method. The default is /Amazon Web
         | 
| 1388 | 
            +
                #   Services.ALB/healthcheck.
         | 
| 1151 1389 | 
             
                #
         | 
| 1152 1390 | 
             
                # @option params [Integer] :health_check_interval_seconds
         | 
| 1153 1391 | 
             
                #   The approximate amount of time, in seconds, between health checks of
         | 
| 1154 | 
            -
                #   an individual target.  | 
| 1155 | 
            -
                #    | 
| 1156 | 
            -
                #    | 
| 1157 | 
            -
                #    | 
| 1158 | 
            -
                #   seconds.
         | 
| 1392 | 
            +
                #   an individual target. If the target group protocol is TCP, TLS, UDP,
         | 
| 1393 | 
            +
                #   or TCP\_UDP, the supported values are 10 and 30 seconds. If the target
         | 
| 1394 | 
            +
                #   group protocol is HTTP or HTTPS, the default is 30 seconds. If the
         | 
| 1395 | 
            +
                #   target group protocol is GENEVE, the default is 10 seconds. If the
         | 
| 1396 | 
            +
                #   target type is `lambda`, the default is 35 seconds.
         | 
| 1159 1397 | 
             
                #
         | 
| 1160 1398 | 
             
                # @option params [Integer] :health_check_timeout_seconds
         | 
| 1161 1399 | 
             
                #   The amount of time, in seconds, during which no response from a target
         | 
| 1162 | 
            -
                #   means a failed health check. For  | 
| 1163 | 
            -
                #    | 
| 1164 | 
            -
                #    | 
| 1165 | 
            -
                #    | 
| 1166 | 
            -
                #    | 
| 1400 | 
            +
                #   means a failed health check. For target groups with a protocol of
         | 
| 1401 | 
            +
                #   HTTP, HTTPS, or GENEVE, the default is 5 seconds. For target groups
         | 
| 1402 | 
            +
                #   with a protocol of TCP or TLS, this value must be 6 seconds for HTTP
         | 
| 1403 | 
            +
                #   health checks and 10 seconds for TCP and HTTPS health checks. If the
         | 
| 1404 | 
            +
                #   target type is `lambda`, the default is 30 seconds.
         | 
| 1167 1405 | 
             
                #
         | 
| 1168 1406 | 
             
                # @option params [Integer] :healthy_threshold_count
         | 
| 1169 1407 | 
             
                #   The number of consecutive health checks successes required before
         | 
| 1170 | 
            -
                #   considering an unhealthy target healthy. For  | 
| 1171 | 
            -
                #    | 
| 1172 | 
            -
                #   is 3.
         | 
| 1408 | 
            +
                #   considering an unhealthy target healthy. For target groups with a
         | 
| 1409 | 
            +
                #   protocol of HTTP or HTTPS, the default is 5. For target groups with a
         | 
| 1410 | 
            +
                #   protocol of TCP, TLS, or GENEVE, the default is 3. If the target type
         | 
| 1411 | 
            +
                #   is `lambda`, the default is 5.
         | 
| 1173 1412 | 
             
                #
         | 
| 1174 1413 | 
             
                # @option params [Integer] :unhealthy_threshold_count
         | 
| 1175 1414 | 
             
                #   The number of consecutive health check failures required before
         | 
| 1176 | 
            -
                #   considering a target unhealthy.  | 
| 1177 | 
            -
                #   default is 2.  | 
| 1178 | 
            -
                #   as the healthy threshold count.
         | 
| 1415 | 
            +
                #   considering a target unhealthy. If the target group protocol is HTTP
         | 
| 1416 | 
            +
                #   or HTTPS, the default is 2. If the target group protocol is TCP or
         | 
| 1417 | 
            +
                #   TLS, this value must be the same as the healthy threshold count. If
         | 
| 1418 | 
            +
                #   the target group protocol is GENEVE, the default is 3. If the target
         | 
| 1419 | 
            +
                #   type is `lambda`, the default is 2.
         | 
| 1179 1420 | 
             
                #
         | 
| 1180 1421 | 
             
                # @option params [Types::Matcher] :matcher
         | 
| 1181 | 
            -
                #   \[HTTP/HTTPS health checks\] The HTTP codes to use when | 
| 1182 | 
            -
                #   successful response from a target.
         | 
| 1422 | 
            +
                #   \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
         | 
| 1423 | 
            +
                #   checking for a successful response from a target.
         | 
| 1183 1424 | 
             
                #
         | 
| 1184 1425 | 
             
                # @option params [String] :target_type
         | 
| 1185 1426 | 
             
                #   The type of target that you must specify when registering targets with
         | 
| 1186 1427 | 
             
                #   this target group. You can't specify targets for a target group using
         | 
| 1187 1428 | 
             
                #   more than one target type.
         | 
| 1188 1429 | 
             
                #
         | 
| 1189 | 
            -
                #   * `instance` -  | 
| 1190 | 
            -
                #      | 
| 1430 | 
            +
                #   * `instance` - Register targets by instance ID. This is the default
         | 
| 1431 | 
            +
                #     value.
         | 
| 1191 1432 | 
             
                #
         | 
| 1192 | 
            -
                #   * `ip` -  | 
| 1193 | 
            -
                #      | 
| 1194 | 
            -
                #      | 
| 1433 | 
            +
                #   * `ip` - Register targets by IP address. You can specify IP addresses
         | 
| 1434 | 
            +
                #     from the subnets of the virtual private cloud (VPC) for the target
         | 
| 1435 | 
            +
                #     group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and
         | 
| 1195 1436 | 
             
                #     192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't
         | 
| 1196 1437 | 
             
                #     specify publicly routable IP addresses.
         | 
| 1197 1438 | 
             
                #
         | 
| 1198 | 
            -
                #   * `lambda` -  | 
| 1439 | 
            +
                #   * `lambda` - Register a single Lambda function as a target.
         | 
| 1440 | 
            +
                #
         | 
| 1441 | 
            +
                #   * `alb` - Register a single Application Load Balancer as a target.
         | 
| 1442 | 
            +
                #
         | 
| 1443 | 
            +
                # @option params [Array<Types::Tag>] :tags
         | 
| 1444 | 
            +
                #   The tags to assign to the target group.
         | 
| 1445 | 
            +
                #
         | 
| 1446 | 
            +
                # @option params [String] :ip_address_type
         | 
| 1447 | 
            +
                #   The type of IP address used for this target group. The possible values
         | 
| 1448 | 
            +
                #   are `ipv4` and `ipv6`. This is an optional parameter. If not
         | 
| 1449 | 
            +
                #   specified, the IP address type defaults to `ipv4`.
         | 
| 1199 1450 | 
             
                #
         | 
| 1200 1451 | 
             
                # @return [Types::CreateTargetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 1201 1452 | 
             
                #
         | 
| @@ -1241,10 +1492,11 @@ module Aws::ElasticLoadBalancingV2 | |
| 1241 1492 | 
             
                #
         | 
| 1242 1493 | 
             
                #   resp = client.create_target_group({
         | 
| 1243 1494 | 
             
                #     name: "TargetGroupName", # required
         | 
| 1244 | 
            -
                #     protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
         | 
| 1495 | 
            +
                #     protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
         | 
| 1496 | 
            +
                #     protocol_version: "ProtocolVersion",
         | 
| 1245 1497 | 
             
                #     port: 1,
         | 
| 1246 1498 | 
             
                #     vpc_id: "VpcId",
         | 
| 1247 | 
            -
                #     health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
         | 
| 1499 | 
            +
                #     health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
         | 
| 1248 1500 | 
             
                #     health_check_port: "HealthCheckPort",
         | 
| 1249 1501 | 
             
                #     health_check_enabled: false,
         | 
| 1250 1502 | 
             
                #     health_check_path: "Path",
         | 
| @@ -1253,9 +1505,17 @@ module Aws::ElasticLoadBalancingV2 | |
| 1253 1505 | 
             
                #     healthy_threshold_count: 1,
         | 
| 1254 1506 | 
             
                #     unhealthy_threshold_count: 1,
         | 
| 1255 1507 | 
             
                #     matcher: {
         | 
| 1256 | 
            -
                #       http_code: "HttpCode", | 
| 1508 | 
            +
                #       http_code: "HttpCode",
         | 
| 1509 | 
            +
                #       grpc_code: "GrpcCode",
         | 
| 1257 1510 | 
             
                #     },
         | 
| 1258 | 
            -
                #     target_type: "instance", # accepts instance, ip, lambda
         | 
| 1511 | 
            +
                #     target_type: "instance", # accepts instance, ip, lambda, alb
         | 
| 1512 | 
            +
                #     tags: [
         | 
| 1513 | 
            +
                #       {
         | 
| 1514 | 
            +
                #         key: "TagKey", # required
         | 
| 1515 | 
            +
                #         value: "TagValue",
         | 
| 1516 | 
            +
                #       },
         | 
| 1517 | 
            +
                #     ],
         | 
| 1518 | 
            +
                #     ip_address_type: "ipv4", # accepts ipv4, ipv6
         | 
| 1259 1519 | 
             
                #   })
         | 
| 1260 1520 | 
             
                #
         | 
| 1261 1521 | 
             
                # @example Response structure
         | 
| @@ -1263,10 +1523,10 @@ module Aws::ElasticLoadBalancingV2 | |
| 1263 1523 | 
             
                #   resp.target_groups #=> Array
         | 
| 1264 1524 | 
             
                #   resp.target_groups[0].target_group_arn #=> String
         | 
| 1265 1525 | 
             
                #   resp.target_groups[0].target_group_name #=> String
         | 
| 1266 | 
            -
                #   resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS"
         | 
| 1526 | 
            +
                #   resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
         | 
| 1267 1527 | 
             
                #   resp.target_groups[0].port #=> Integer
         | 
| 1268 1528 | 
             
                #   resp.target_groups[0].vpc_id #=> String
         | 
| 1269 | 
            -
                #   resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS"
         | 
| 1529 | 
            +
                #   resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
         | 
| 1270 1530 | 
             
                #   resp.target_groups[0].health_check_port #=> String
         | 
| 1271 1531 | 
             
                #   resp.target_groups[0].health_check_enabled #=> Boolean
         | 
| 1272 1532 | 
             
                #   resp.target_groups[0].health_check_interval_seconds #=> Integer
         | 
| @@ -1275,9 +1535,12 @@ module Aws::ElasticLoadBalancingV2 | |
| 1275 1535 | 
             
                #   resp.target_groups[0].unhealthy_threshold_count #=> Integer
         | 
| 1276 1536 | 
             
                #   resp.target_groups[0].health_check_path #=> String
         | 
| 1277 1537 | 
             
                #   resp.target_groups[0].matcher.http_code #=> String
         | 
| 1538 | 
            +
                #   resp.target_groups[0].matcher.grpc_code #=> String
         | 
| 1278 1539 | 
             
                #   resp.target_groups[0].load_balancer_arns #=> Array
         | 
| 1279 1540 | 
             
                #   resp.target_groups[0].load_balancer_arns[0] #=> String
         | 
| 1280 | 
            -
                #   resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda"
         | 
| 1541 | 
            +
                #   resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda", "alb"
         | 
| 1542 | 
            +
                #   resp.target_groups[0].protocol_version #=> String
         | 
| 1543 | 
            +
                #   resp.target_groups[0].ip_address_type #=> String, one of "ipv4", "ipv6"
         | 
| 1281 1544 | 
             
                #
         | 
| 1282 1545 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup AWS API Documentation
         | 
| 1283 1546 | 
             
                #
         | 
| @@ -1291,7 +1554,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 1291 1554 | 
             
                # Deletes the specified listener.
         | 
| 1292 1555 | 
             
                #
         | 
| 1293 1556 | 
             
                # Alternatively, your listener is deleted when you delete the load
         | 
| 1294 | 
            -
                # balancer to which it is attached | 
| 1557 | 
            +
                # balancer to which it is attached.
         | 
| 1295 1558 | 
             
                #
         | 
| 1296 1559 | 
             
                # @option params [required, String] :listener_arn
         | 
| 1297 1560 | 
             
                #   The Amazon Resource Name (ARN) of the listener.
         | 
| @@ -1322,8 +1585,9 @@ module Aws::ElasticLoadBalancingV2 | |
| 1322 1585 | 
             
                  req.send_request(options)
         | 
| 1323 1586 | 
             
                end
         | 
| 1324 1587 |  | 
| 1325 | 
            -
                # Deletes the specified Application Load Balancer  | 
| 1326 | 
            -
                # Balancer  | 
| 1588 | 
            +
                # Deletes the specified Application Load Balancer, Network Load
         | 
| 1589 | 
            +
                # Balancer, or Gateway Load Balancer. Deleting a load balancer also
         | 
| 1590 | 
            +
                # deletes its listeners.
         | 
| 1327 1591 | 
             
                #
         | 
| 1328 1592 | 
             
                # You can't delete a load balancer if deletion protection is enabled.
         | 
| 1329 1593 | 
             
                # If the load balancer does not exist or has already been deleted, the
         | 
| @@ -1365,6 +1629,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 1365 1629 |  | 
| 1366 1630 | 
             
                # Deletes the specified rule.
         | 
| 1367 1631 | 
             
                #
         | 
| 1632 | 
            +
                # You can't delete the default rule.
         | 
| 1633 | 
            +
                #
         | 
| 1368 1634 | 
             
                # @option params [required, String] :rule_arn
         | 
| 1369 1635 | 
             
                #   The Amazon Resource Name (ARN) of the rule.
         | 
| 1370 1636 | 
             
                #
         | 
| @@ -1398,6 +1664,9 @@ module Aws::ElasticLoadBalancingV2 | |
| 1398 1664 | 
             
                #
         | 
| 1399 1665 | 
             
                # You can delete a target group if it is not referenced by any actions.
         | 
| 1400 1666 | 
             
                # Deleting a target group also deletes any associated health checks.
         | 
| 1667 | 
            +
                # Deleting a target group does not affect its registered targets. For
         | 
| 1668 | 
            +
                # example, any EC2 instances continue to run until you stop or terminate
         | 
| 1669 | 
            +
                # them.
         | 
| 1401 1670 | 
             
                #
         | 
| 1402 1671 | 
             
                # @option params [required, String] :target_group_arn
         | 
| 1403 1672 | 
             
                #   The Amazon Resource Name (ARN) of the target group.
         | 
| @@ -1479,16 +1748,21 @@ module Aws::ElasticLoadBalancingV2 | |
| 1479 1748 | 
             
                end
         | 
| 1480 1749 |  | 
| 1481 1750 | 
             
                # Describes the current Elastic Load Balancing resource limits for your
         | 
| 1482 | 
            -
                #  | 
| 1751 | 
            +
                # Amazon Web Services account.
         | 
| 1752 | 
            +
                #
         | 
| 1753 | 
            +
                # For more information, see the following:
         | 
| 1754 | 
            +
                #
         | 
| 1755 | 
            +
                # * [Quotas for your Application Load Balancers][1]
         | 
| 1483 1756 | 
             
                #
         | 
| 1484 | 
            -
                #  | 
| 1485 | 
            -
                # | 
| 1486 | 
            -
                #  | 
| 1757 | 
            +
                # * [Quotas for your Network Load Balancers][2]
         | 
| 1758 | 
            +
                #
         | 
| 1759 | 
            +
                # * [Quotas for your Gateway Load Balancers][3]
         | 
| 1487 1760 | 
             
                #
         | 
| 1488 1761 | 
             
                #
         | 
| 1489 1762 | 
             
                #
         | 
| 1490 1763 | 
             
                # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
         | 
| 1491 1764 | 
             
                # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html
         | 
| 1765 | 
            +
                # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/quotas-limits.html
         | 
| 1492 1766 | 
             
                #
         | 
| 1493 1767 | 
             
                # @option params [String] :marker
         | 
| 1494 1768 | 
             
                #   The marker for the next set of results. (You received this marker from
         | 
| @@ -1525,7 +1799,21 @@ module Aws::ElasticLoadBalancingV2 | |
| 1525 1799 | 
             
                  req.send_request(options)
         | 
| 1526 1800 | 
             
                end
         | 
| 1527 1801 |  | 
| 1528 | 
            -
                # Describes the  | 
| 1802 | 
            +
                # Describes the default certificate and the certificate list for the
         | 
| 1803 | 
            +
                # specified HTTPS or TLS listener.
         | 
| 1804 | 
            +
                #
         | 
| 1805 | 
            +
                # If the default certificate is also in the certificate list, it appears
         | 
| 1806 | 
            +
                # twice in the results (once with `IsDefault` set to true and once with
         | 
| 1807 | 
            +
                # `IsDefault` set to false).
         | 
| 1808 | 
            +
                #
         | 
| 1809 | 
            +
                # For more information, see [SSL certificates][1] in the *Application
         | 
| 1810 | 
            +
                # Load Balancers Guide* or [Server certificates][2] in the *Network Load
         | 
| 1811 | 
            +
                # Balancers Guide*.
         | 
| 1812 | 
            +
                #
         | 
| 1813 | 
            +
                #
         | 
| 1814 | 
            +
                #
         | 
| 1815 | 
            +
                # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#https-listener-certificates
         | 
| 1816 | 
            +
                # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#tls-listener-certificate
         | 
| 1529 1817 | 
             
                #
         | 
| 1530 1818 | 
             
                # @option params [required, String] :listener_arn
         | 
| 1531 1819 | 
             
                #   The Amazon Resource Names (ARN) of the listener.
         | 
| @@ -1567,8 +1855,9 @@ module Aws::ElasticLoadBalancingV2 | |
| 1567 1855 | 
             
                end
         | 
| 1568 1856 |  | 
| 1569 1857 | 
             
                # Describes the specified listeners or the listeners for the specified
         | 
| 1570 | 
            -
                # Application Load Balancer  | 
| 1571 | 
            -
                # either a load balancer or one or more | 
| 1858 | 
            +
                # Application Load Balancer, Network Load Balancer, or Gateway Load
         | 
| 1859 | 
            +
                # Balancer. You must specify either a load balancer or one or more
         | 
| 1860 | 
            +
                # listeners.
         | 
| 1572 1861 | 
             
                #
         | 
| 1573 1862 | 
             
                # @option params [String] :load_balancer_arn
         | 
| 1574 1863 | 
             
                #   The Amazon Resource Name (ARN) of the load balancer.
         | 
| @@ -1588,6 +1877,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 1588 1877 | 
             
                #   * {Types::DescribeListenersOutput#listeners #listeners} => Array<Types::Listener>
         | 
| 1589 1878 | 
             
                #   * {Types::DescribeListenersOutput#next_marker #next_marker} => String
         | 
| 1590 1879 | 
             
                #
         | 
| 1880 | 
            +
                # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
         | 
| 1881 | 
            +
                #
         | 
| 1591 1882 | 
             
                #
         | 
| 1592 1883 | 
             
                # @example Example: To describe a listener
         | 
| 1593 1884 | 
             
                #
         | 
| @@ -1632,7 +1923,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 1632 1923 | 
             
                #   resp.listeners[0].listener_arn #=> String
         | 
| 1633 1924 | 
             
                #   resp.listeners[0].load_balancer_arn #=> String
         | 
| 1634 1925 | 
             
                #   resp.listeners[0].port #=> Integer
         | 
| 1635 | 
            -
                #   resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS"
         | 
| 1926 | 
            +
                #   resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
         | 
| 1636 1927 | 
             
                #   resp.listeners[0].certificates #=> Array
         | 
| 1637 1928 | 
             
                #   resp.listeners[0].certificates[0].certificate_arn #=> String
         | 
| 1638 1929 | 
             
                #   resp.listeners[0].certificates[0].is_default #=> Boolean
         | 
| @@ -1672,6 +1963,13 @@ module Aws::ElasticLoadBalancingV2 | |
| 1672 1963 | 
             
                #   resp.listeners[0].default_actions[0].fixed_response_config.message_body #=> String
         | 
| 1673 1964 | 
             
                #   resp.listeners[0].default_actions[0].fixed_response_config.status_code #=> String
         | 
| 1674 1965 | 
             
                #   resp.listeners[0].default_actions[0].fixed_response_config.content_type #=> String
         | 
| 1966 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_groups #=> Array
         | 
| 1967 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_groups[0].target_group_arn #=> String
         | 
| 1968 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_groups[0].weight #=> Integer
         | 
| 1969 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
         | 
| 1970 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
         | 
| 1971 | 
            +
                #   resp.listeners[0].alpn_policy #=> Array
         | 
| 1972 | 
            +
                #   resp.listeners[0].alpn_policy[0] #=> String
         | 
| 1675 1973 | 
             
                #   resp.next_marker #=> String
         | 
| 1676 1974 | 
             
                #
         | 
| 1677 1975 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListeners AWS API Documentation
         | 
| @@ -1683,17 +1981,23 @@ module Aws::ElasticLoadBalancingV2 | |
| 1683 1981 | 
             
                  req.send_request(options)
         | 
| 1684 1982 | 
             
                end
         | 
| 1685 1983 |  | 
| 1686 | 
            -
                # Describes the attributes for the specified Application Load Balancer
         | 
| 1687 | 
            -
                # or  | 
| 1984 | 
            +
                # Describes the attributes for the specified Application Load Balancer,
         | 
| 1985 | 
            +
                # Network Load Balancer, or Gateway Load Balancer.
         | 
| 1986 | 
            +
                #
         | 
| 1987 | 
            +
                # For more information, see the following:
         | 
| 1988 | 
            +
                #
         | 
| 1989 | 
            +
                # * [Load balancer attributes][1] in the *Application Load Balancers
         | 
| 1990 | 
            +
                #   Guide*
         | 
| 1688 1991 | 
             
                #
         | 
| 1689 | 
            -
                #  | 
| 1690 | 
            -
                # | 
| 1691 | 
            -
                # the * | 
| 1992 | 
            +
                # * [Load balancer attributes][2] in the *Network Load Balancers Guide*
         | 
| 1993 | 
            +
                #
         | 
| 1994 | 
            +
                # * [Load balancer attributes][3] in the *Gateway Load Balancers Guide*
         | 
| 1692 1995 | 
             
                #
         | 
| 1693 1996 | 
             
                #
         | 
| 1694 1997 | 
             
                #
         | 
| 1695 1998 | 
             
                # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes
         | 
| 1696 1999 | 
             
                # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes
         | 
| 2000 | 
            +
                # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html#load-balancer-attributes
         | 
| 1697 2001 | 
             
                #
         | 
| 1698 2002 | 
             
                # @option params [required, String] :load_balancer_arn
         | 
| 1699 2003 | 
             
                #   The Amazon Resource Name (ARN) of the load balancer.
         | 
| @@ -1760,10 +2064,6 @@ module Aws::ElasticLoadBalancingV2 | |
| 1760 2064 |  | 
| 1761 2065 | 
             
                # Describes the specified load balancers or all of your load balancers.
         | 
| 1762 2066 | 
             
                #
         | 
| 1763 | 
            -
                # To describe the listeners for a load balancer, use DescribeListeners.
         | 
| 1764 | 
            -
                # To describe the attributes for a load balancer, use
         | 
| 1765 | 
            -
                # DescribeLoadBalancerAttributes.
         | 
| 1766 | 
            -
                #
         | 
| 1767 2067 | 
             
                # @option params [Array<String>] :load_balancer_arns
         | 
| 1768 2068 | 
             
                #   The Amazon Resource Names (ARN) of the load balancers. You can specify
         | 
| 1769 2069 | 
             
                #   up to 20 load balancers in a single call.
         | 
| @@ -1783,6 +2083,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 1783 2083 | 
             
                #   * {Types::DescribeLoadBalancersOutput#load_balancers #load_balancers} => Array<Types::LoadBalancer>
         | 
| 1784 2084 | 
             
                #   * {Types::DescribeLoadBalancersOutput#next_marker #next_marker} => String
         | 
| 1785 2085 | 
             
                #
         | 
| 2086 | 
            +
                # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
         | 
| 2087 | 
            +
                #
         | 
| 1786 2088 | 
             
                #
         | 
| 1787 2089 | 
             
                # @example Example: To describe a load balancer
         | 
| 1788 2090 | 
             
                #
         | 
| @@ -1847,18 +2149,29 @@ module Aws::ElasticLoadBalancingV2 | |
| 1847 2149 | 
             
                #   resp.load_balancers[0].vpc_id #=> String
         | 
| 1848 2150 | 
             
                #   resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
         | 
| 1849 2151 | 
             
                #   resp.load_balancers[0].state.reason #=> String
         | 
| 1850 | 
            -
                #   resp.load_balancers[0].type #=> String, one of "application", "network"
         | 
| 2152 | 
            +
                #   resp.load_balancers[0].type #=> String, one of "application", "network", "gateway"
         | 
| 1851 2153 | 
             
                #   resp.load_balancers[0].availability_zones #=> Array
         | 
| 1852 2154 | 
             
                #   resp.load_balancers[0].availability_zones[0].zone_name #=> String
         | 
| 1853 2155 | 
             
                #   resp.load_balancers[0].availability_zones[0].subnet_id #=> String
         | 
| 2156 | 
            +
                #   resp.load_balancers[0].availability_zones[0].outpost_id #=> String
         | 
| 1854 2157 | 
             
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses #=> Array
         | 
| 1855 2158 | 
             
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].ip_address #=> String
         | 
| 1856 2159 | 
             
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
         | 
| 2160 | 
            +
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].private_i_pv_4_address #=> String
         | 
| 2161 | 
            +
                #   resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].i_pv_6_address #=> String
         | 
| 1857 2162 | 
             
                #   resp.load_balancers[0].security_groups #=> Array
         | 
| 1858 2163 | 
             
                #   resp.load_balancers[0].security_groups[0] #=> String
         | 
| 1859 2164 | 
             
                #   resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack"
         | 
| 2165 | 
            +
                #   resp.load_balancers[0].customer_owned_ipv_4_pool #=> String
         | 
| 1860 2166 | 
             
                #   resp.next_marker #=> String
         | 
| 1861 2167 | 
             
                #
         | 
| 2168 | 
            +
                #
         | 
| 2169 | 
            +
                # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
         | 
| 2170 | 
            +
                #
         | 
| 2171 | 
            +
                #   * load_balancer_available
         | 
| 2172 | 
            +
                #   * load_balancer_exists
         | 
| 2173 | 
            +
                #   * load_balancers_deleted
         | 
| 2174 | 
            +
                #
         | 
| 1862 2175 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancers AWS API Documentation
         | 
| 1863 2176 | 
             
                #
         | 
| 1864 2177 | 
             
                # @overload describe_load_balancers(params = {})
         | 
| @@ -1943,6 +2256,20 @@ module Aws::ElasticLoadBalancingV2 | |
| 1943 2256 | 
             
                #   resp.rules[0].conditions[0].field #=> String
         | 
| 1944 2257 | 
             
                #   resp.rules[0].conditions[0].values #=> Array
         | 
| 1945 2258 | 
             
                #   resp.rules[0].conditions[0].values[0] #=> String
         | 
| 2259 | 
            +
                #   resp.rules[0].conditions[0].host_header_config.values #=> Array
         | 
| 2260 | 
            +
                #   resp.rules[0].conditions[0].host_header_config.values[0] #=> String
         | 
| 2261 | 
            +
                #   resp.rules[0].conditions[0].path_pattern_config.values #=> Array
         | 
| 2262 | 
            +
                #   resp.rules[0].conditions[0].path_pattern_config.values[0] #=> String
         | 
| 2263 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.http_header_name #=> String
         | 
| 2264 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.values #=> Array
         | 
| 2265 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.values[0] #=> String
         | 
| 2266 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values #=> Array
         | 
| 2267 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values[0].key #=> String
         | 
| 2268 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values[0].value #=> String
         | 
| 2269 | 
            +
                #   resp.rules[0].conditions[0].http_request_method_config.values #=> Array
         | 
| 2270 | 
            +
                #   resp.rules[0].conditions[0].http_request_method_config.values[0] #=> String
         | 
| 2271 | 
            +
                #   resp.rules[0].conditions[0].source_ip_config.values #=> Array
         | 
| 2272 | 
            +
                #   resp.rules[0].conditions[0].source_ip_config.values[0] #=> String
         | 
| 1946 2273 | 
             
                #   resp.rules[0].actions #=> Array
         | 
| 1947 2274 | 
             
                #   resp.rules[0].actions[0].type #=> String, one of "forward", "authenticate-oidc", "authenticate-cognito", "redirect", "fixed-response"
         | 
| 1948 2275 | 
             
                #   resp.rules[0].actions[0].target_group_arn #=> String
         | 
| @@ -1978,6 +2305,11 @@ module Aws::ElasticLoadBalancingV2 | |
| 1978 2305 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.message_body #=> String
         | 
| 1979 2306 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.status_code #=> String
         | 
| 1980 2307 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.content_type #=> String
         | 
| 2308 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups #=> Array
         | 
| 2309 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups[0].target_group_arn #=> String
         | 
| 2310 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups[0].weight #=> Integer
         | 
| 2311 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
         | 
| 2312 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
         | 
| 1981 2313 | 
             
                #   resp.rules[0].is_default #=> Boolean
         | 
| 1982 2314 | 
             
                #   resp.next_marker #=> String
         | 
| 1983 2315 | 
             
                #
         | 
| @@ -1993,12 +2325,14 @@ module Aws::ElasticLoadBalancingV2 | |
| 1993 2325 | 
             
                # Describes the specified policies or all policies used for SSL
         | 
| 1994 2326 | 
             
                # negotiation.
         | 
| 1995 2327 | 
             
                #
         | 
| 1996 | 
            -
                # For more information, see [Security  | 
| 1997 | 
            -
                # Load Balancers Guide | 
| 2328 | 
            +
                # For more information, see [Security policies][1] in the *Application
         | 
| 2329 | 
            +
                # Load Balancers Guide* or [Security policies][2] in the *Network Load
         | 
| 2330 | 
            +
                # Balancers Guide*.
         | 
| 1998 2331 | 
             
                #
         | 
| 1999 2332 | 
             
                #
         | 
| 2000 2333 | 
             
                #
         | 
| 2001 2334 | 
             
                # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies
         | 
| 2335 | 
            +
                # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies
         | 
| 2002 2336 | 
             
                #
         | 
| 2003 2337 | 
             
                # @option params [Array<String>] :names
         | 
| 2004 2338 | 
             
                #   The names of the policies.
         | 
| @@ -2010,6 +2344,10 @@ module Aws::ElasticLoadBalancingV2 | |
| 2010 2344 | 
             
                # @option params [Integer] :page_size
         | 
| 2011 2345 | 
             
                #   The maximum number of results to return with this call.
         | 
| 2012 2346 | 
             
                #
         | 
| 2347 | 
            +
                # @option params [String] :load_balancer_type
         | 
| 2348 | 
            +
                #   The type of load balancer. The default lists the SSL policies for all
         | 
| 2349 | 
            +
                #   load balancers.
         | 
| 2350 | 
            +
                #
         | 
| 2013 2351 | 
             
                # @return [Types::DescribeSSLPoliciesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 2014 2352 | 
             
                #
         | 
| 2015 2353 | 
             
                #   * {Types::DescribeSSLPoliciesOutput#ssl_policies #ssl_policies} => Array<Types::SslPolicy>
         | 
| @@ -2124,6 +2462,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 2124 2462 | 
             
                #     names: ["SslPolicyName"],
         | 
| 2125 2463 | 
             
                #     marker: "Marker",
         | 
| 2126 2464 | 
             
                #     page_size: 1,
         | 
| 2465 | 
            +
                #     load_balancer_type: "application", # accepts application, network, gateway
         | 
| 2127 2466 | 
             
                #   })
         | 
| 2128 2467 | 
             
                #
         | 
| 2129 2468 | 
             
                # @example Response structure
         | 
| @@ -2135,6 +2474,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 2135 2474 | 
             
                #   resp.ssl_policies[0].ciphers[0].name #=> String
         | 
| 2136 2475 | 
             
                #   resp.ssl_policies[0].ciphers[0].priority #=> Integer
         | 
| 2137 2476 | 
             
                #   resp.ssl_policies[0].name #=> String
         | 
| 2477 | 
            +
                #   resp.ssl_policies[0].supported_load_balancer_types #=> Array
         | 
| 2478 | 
            +
                #   resp.ssl_policies[0].supported_load_balancer_types[0] #=> String
         | 
| 2138 2479 | 
             
                #   resp.next_marker #=> String
         | 
| 2139 2480 | 
             
                #
         | 
| 2140 2481 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPolicies AWS API Documentation
         | 
| @@ -2146,12 +2487,14 @@ module Aws::ElasticLoadBalancingV2 | |
| 2146 2487 | 
             
                  req.send_request(options)
         | 
| 2147 2488 | 
             
                end
         | 
| 2148 2489 |  | 
| 2149 | 
            -
                # Describes the tags for the specified  | 
| 2150 | 
            -
                # tags for one or more Application Load Balancers, | 
| 2151 | 
            -
                # Balancers,  | 
| 2490 | 
            +
                # Describes the tags for the specified Elastic Load Balancing resources.
         | 
| 2491 | 
            +
                # You can describe the tags for one or more Application Load Balancers,
         | 
| 2492 | 
            +
                # Network Load Balancers, Gateway Load Balancers, target groups,
         | 
| 2493 | 
            +
                # listeners, or rules.
         | 
| 2152 2494 | 
             
                #
         | 
| 2153 2495 | 
             
                # @option params [required, Array<String>] :resource_arns
         | 
| 2154 | 
            -
                #   The Amazon Resource Names (ARN) of the resources.
         | 
| 2496 | 
            +
                #   The Amazon Resource Names (ARN) of the resources. You can specify up
         | 
| 2497 | 
            +
                #   to 20 resources in a single call.
         | 
| 2155 2498 | 
             
                #
         | 
| 2156 2499 | 
             
                # @return [Types::DescribeTagsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 2157 2500 | 
             
                #
         | 
| @@ -2212,14 +2555,20 @@ module Aws::ElasticLoadBalancingV2 | |
| 2212 2555 |  | 
| 2213 2556 | 
             
                # Describes the attributes for the specified target group.
         | 
| 2214 2557 | 
             
                #
         | 
| 2215 | 
            -
                # For more information, see  | 
| 2216 | 
            -
                # | 
| 2217 | 
            -
                # the * | 
| 2558 | 
            +
                # For more information, see the following:
         | 
| 2559 | 
            +
                #
         | 
| 2560 | 
            +
                # * [Target group attributes][1] in the *Application Load Balancers
         | 
| 2561 | 
            +
                #   Guide*
         | 
| 2562 | 
            +
                #
         | 
| 2563 | 
            +
                # * [Target group attributes][2] in the *Network Load Balancers Guide*
         | 
| 2564 | 
            +
                #
         | 
| 2565 | 
            +
                # * [Target group attributes][3] in the *Gateway Load Balancers Guide*
         | 
| 2218 2566 | 
             
                #
         | 
| 2219 2567 | 
             
                #
         | 
| 2220 2568 | 
             
                #
         | 
| 2221 2569 | 
             
                # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
         | 
| 2222 2570 | 
             
                # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes
         | 
| 2571 | 
            +
                # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html#target-group-attributes
         | 
| 2223 2572 | 
             
                #
         | 
| 2224 2573 | 
             
                # @option params [required, String] :target_group_arn
         | 
| 2225 2574 | 
             
                #   The Amazon Resource Name (ARN) of the target group.
         | 
| @@ -2286,10 +2635,6 @@ module Aws::ElasticLoadBalancingV2 | |
| 2286 2635 | 
             
                # load balancer, the names of one or more target groups, or the ARNs of
         | 
| 2287 2636 | 
             
                # one or more target groups.
         | 
| 2288 2637 | 
             
                #
         | 
| 2289 | 
            -
                # To describe the targets for a target group, use DescribeTargetHealth.
         | 
| 2290 | 
            -
                # To describe the attributes of a target group, use
         | 
| 2291 | 
            -
                # DescribeTargetGroupAttributes.
         | 
| 2292 | 
            -
                #
         | 
| 2293 2638 | 
             
                # @option params [String] :load_balancer_arn
         | 
| 2294 2639 | 
             
                #   The Amazon Resource Name (ARN) of the load balancer.
         | 
| 2295 2640 | 
             
                #
         | 
| @@ -2311,6 +2656,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 2311 2656 | 
             
                #   * {Types::DescribeTargetGroupsOutput#target_groups #target_groups} => Array<Types::TargetGroup>
         | 
| 2312 2657 | 
             
                #   * {Types::DescribeTargetGroupsOutput#next_marker #next_marker} => String
         | 
| 2313 2658 | 
             
                #
         | 
| 2659 | 
            +
                # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
         | 
| 2660 | 
            +
                #
         | 
| 2314 2661 | 
             
                #
         | 
| 2315 2662 | 
             
                # @example Example: To describe a target group
         | 
| 2316 2663 | 
             
                #
         | 
| @@ -2363,10 +2710,10 @@ module Aws::ElasticLoadBalancingV2 | |
| 2363 2710 | 
             
                #   resp.target_groups #=> Array
         | 
| 2364 2711 | 
             
                #   resp.target_groups[0].target_group_arn #=> String
         | 
| 2365 2712 | 
             
                #   resp.target_groups[0].target_group_name #=> String
         | 
| 2366 | 
            -
                #   resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS"
         | 
| 2713 | 
            +
                #   resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
         | 
| 2367 2714 | 
             
                #   resp.target_groups[0].port #=> Integer
         | 
| 2368 2715 | 
             
                #   resp.target_groups[0].vpc_id #=> String
         | 
| 2369 | 
            -
                #   resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS"
         | 
| 2716 | 
            +
                #   resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
         | 
| 2370 2717 | 
             
                #   resp.target_groups[0].health_check_port #=> String
         | 
| 2371 2718 | 
             
                #   resp.target_groups[0].health_check_enabled #=> Boolean
         | 
| 2372 2719 | 
             
                #   resp.target_groups[0].health_check_interval_seconds #=> Integer
         | 
| @@ -2375,9 +2722,12 @@ module Aws::ElasticLoadBalancingV2 | |
| 2375 2722 | 
             
                #   resp.target_groups[0].unhealthy_threshold_count #=> Integer
         | 
| 2376 2723 | 
             
                #   resp.target_groups[0].health_check_path #=> String
         | 
| 2377 2724 | 
             
                #   resp.target_groups[0].matcher.http_code #=> String
         | 
| 2725 | 
            +
                #   resp.target_groups[0].matcher.grpc_code #=> String
         | 
| 2378 2726 | 
             
                #   resp.target_groups[0].load_balancer_arns #=> Array
         | 
| 2379 2727 | 
             
                #   resp.target_groups[0].load_balancer_arns[0] #=> String
         | 
| 2380 | 
            -
                #   resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda"
         | 
| 2728 | 
            +
                #   resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda", "alb"
         | 
| 2729 | 
            +
                #   resp.target_groups[0].protocol_version #=> String
         | 
| 2730 | 
            +
                #   resp.target_groups[0].ip_address_type #=> String, one of "ipv4", "ipv6"
         | 
| 2381 2731 | 
             
                #   resp.next_marker #=> String
         | 
| 2382 2732 | 
             
                #
         | 
| 2383 2733 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroups AWS API Documentation
         | 
| @@ -2492,6 +2842,12 @@ module Aws::ElasticLoadBalancingV2 | |
| 2492 2842 | 
             
                #   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", "Target.HealthCheckDisabled", "Elb.InternalError"
         | 
| 2493 2843 | 
             
                #   resp.target_health_descriptions[0].target_health.description #=> String
         | 
| 2494 2844 | 
             
                #
         | 
| 2845 | 
            +
                #
         | 
| 2846 | 
            +
                # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
         | 
| 2847 | 
            +
                #
         | 
| 2848 | 
            +
                #   * target_deregistered
         | 
| 2849 | 
            +
                #   * target_in_service
         | 
| 2850 | 
            +
                #
         | 
| 2495 2851 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetHealth AWS API Documentation
         | 
| 2496 2852 | 
             
                #
         | 
| 2497 2853 | 
             
                # @overload describe_target_health(params = {})
         | 
| @@ -2501,62 +2857,76 @@ module Aws::ElasticLoadBalancingV2 | |
| 2501 2857 | 
             
                  req.send_request(options)
         | 
| 2502 2858 | 
             
                end
         | 
| 2503 2859 |  | 
| 2504 | 
            -
                #  | 
| 2860 | 
            +
                # Replaces the specified properties of the specified listener. Any
         | 
| 2861 | 
            +
                # properties that you do not specify remain unchanged.
         | 
| 2505 2862 | 
             
                #
         | 
| 2506 | 
            -
                #  | 
| 2507 | 
            -
                #  | 
| 2508 | 
            -
                #  | 
| 2509 | 
            -
                #  | 
| 2510 | 
            -
                # | 
| 2863 | 
            +
                # Changing the protocol from HTTPS to HTTP, or from TLS to TCP, removes
         | 
| 2864 | 
            +
                # the security policy and default certificate properties. If you change
         | 
| 2865 | 
            +
                # the protocol from HTTP to HTTPS, or from TCP to TLS, you must add the
         | 
| 2866 | 
            +
                # security policy and default certificate properties.
         | 
| 2867 | 
            +
                #
         | 
| 2868 | 
            +
                # To add an item to a list, remove an item from a list, or update an
         | 
| 2869 | 
            +
                # item in a list, you must provide the entire list. For example, to add
         | 
| 2870 | 
            +
                # an action, specify a list with the current actions plus the new
         | 
| 2871 | 
            +
                # action.
         | 
| 2511 2872 | 
             
                #
         | 
| 2512 2873 | 
             
                # @option params [required, String] :listener_arn
         | 
| 2513 2874 | 
             
                #   The Amazon Resource Name (ARN) of the listener.
         | 
| 2514 2875 | 
             
                #
         | 
| 2515 2876 | 
             
                # @option params [Integer] :port
         | 
| 2516 | 
            -
                #   The port for connections from clients to the load balancer.
         | 
| 2877 | 
            +
                #   The port for connections from clients to the load balancer. You cannot
         | 
| 2878 | 
            +
                #   specify a port for a Gateway Load Balancer.
         | 
| 2517 2879 | 
             
                #
         | 
| 2518 2880 | 
             
                # @option params [String] :protocol
         | 
| 2519 2881 | 
             
                #   The protocol for connections from clients to the load balancer.
         | 
| 2520 2882 | 
             
                #   Application Load Balancers support the HTTP and HTTPS protocols.
         | 
| 2521 | 
            -
                #   Network Load Balancers support the TCP and  | 
| 2883 | 
            +
                #   Network Load Balancers support the TCP, TLS, UDP, and TCP\_UDP
         | 
| 2884 | 
            +
                #   protocols. You can’t change the protocol to UDP or TCP\_UDP if
         | 
| 2885 | 
            +
                #   dual-stack mode is enabled. You cannot specify a protocol for a
         | 
| 2886 | 
            +
                #   Gateway Load Balancer.
         | 
| 2522 2887 | 
             
                #
         | 
| 2523 2888 | 
             
                # @option params [String] :ssl_policy
         | 
| 2524 2889 | 
             
                #   \[HTTPS and TLS listeners\] The security policy that defines which
         | 
| 2525 | 
            -
                #   protocols and ciphers are supported. | 
| 2526 | 
            -
                # | 
| 2890 | 
            +
                #   protocols and ciphers are supported.
         | 
| 2891 | 
            +
                #
         | 
| 2892 | 
            +
                #   For more information, see [Security policies][1] in the *Application
         | 
| 2893 | 
            +
                #   Load Balancers Guide* or [Security policies][2] in the *Network Load
         | 
| 2894 | 
            +
                #   Balancers Guide*.
         | 
| 2527 2895 | 
             
                #
         | 
| 2528 2896 | 
             
                #
         | 
| 2529 2897 | 
             
                #
         | 
| 2530 2898 | 
             
                #   [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies
         | 
| 2899 | 
            +
                #   [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies
         | 
| 2531 2900 | 
             
                #
         | 
| 2532 2901 | 
             
                # @option params [Array<Types::Certificate>] :certificates
         | 
| 2533 | 
            -
                #   \[HTTPS and TLS listeners\] The default  | 
| 2534 | 
            -
                #   must provide exactly one certificate. Set `CertificateArn` to the
         | 
| 2902 | 
            +
                #   \[HTTPS and TLS listeners\] The default certificate for the listener.
         | 
| 2903 | 
            +
                #   You must provide exactly one certificate. Set `CertificateArn` to the
         | 
| 2535 2904 | 
             
                #   certificate ARN but do not set `IsDefault`.
         | 
| 2536 2905 | 
             
                #
         | 
| 2537 | 
            -
                #   To create a certificate list, use AddListenerCertificates.
         | 
| 2538 | 
            -
                #
         | 
| 2539 2906 | 
             
                # @option params [Array<Types::Action>] :default_actions
         | 
| 2540 | 
            -
                #   The actions for the default rule. | 
| 2541 | 
            -
                # | 
| 2907 | 
            +
                #   The actions for the default rule.
         | 
| 2908 | 
            +
                #
         | 
| 2909 | 
            +
                # @option params [Array<String>] :alpn_policy
         | 
| 2910 | 
            +
                #   \[TLS listeners\] The name of the Application-Layer Protocol
         | 
| 2911 | 
            +
                #   Negotiation (ALPN) policy. You can specify one policy name. The
         | 
| 2912 | 
            +
                #   following are the possible values:
         | 
| 2913 | 
            +
                #
         | 
| 2914 | 
            +
                #   * `HTTP1Only`
         | 
| 2542 2915 | 
             
                #
         | 
| 2543 | 
            -
                #    | 
| 2544 | 
            -
                #   protocol of the target group must be HTTP or HTTPS for an Application
         | 
| 2545 | 
            -
                #   Load Balancer. The protocol of the target group must be TCP or TLS for
         | 
| 2546 | 
            -
                #   a Network Load Balancer.
         | 
| 2916 | 
            +
                #   * `HTTP2Only`
         | 
| 2547 2917 | 
             
                #
         | 
| 2548 | 
            -
                #    | 
| 2549 | 
            -
                #   authenticate users through an identity provider that is OpenID Connect
         | 
| 2550 | 
            -
                #   (OIDC) compliant.
         | 
| 2918 | 
            +
                #   * `HTTP2Optional`
         | 
| 2551 2919 | 
             
                #
         | 
| 2552 | 
            -
                #    | 
| 2553 | 
            -
                #   authenticate users through the user pools supported by Amazon Cognito.
         | 
| 2920 | 
            +
                #   * `HTTP2Preferred`
         | 
| 2554 2921 | 
             
                #
         | 
| 2555 | 
            -
                #    | 
| 2556 | 
            -
                #   redirect specified client requests from one URL to another.
         | 
| 2922 | 
            +
                #   * `None`
         | 
| 2557 2923 | 
             
                #
         | 
| 2558 | 
            -
                #    | 
| 2559 | 
            -
                #    | 
| 2924 | 
            +
                #   For more information, see [ALPN policies][1] in the *Network Load
         | 
| 2925 | 
            +
                #   Balancers Guide*.
         | 
| 2926 | 
            +
                #
         | 
| 2927 | 
            +
                #
         | 
| 2928 | 
            +
                #
         | 
| 2929 | 
            +
                #   [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
         | 
| 2560 2930 | 
             
                #
         | 
| 2561 2931 | 
             
                # @return [Types::ModifyListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 2562 2932 | 
             
                #
         | 
| @@ -2637,7 +3007,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 2637 3007 | 
             
                #   resp = client.modify_listener({
         | 
| 2638 3008 | 
             
                #     listener_arn: "ListenerArn", # required
         | 
| 2639 3009 | 
             
                #     port: 1,
         | 
| 2640 | 
            -
                #     protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
         | 
| 3010 | 
            +
                #     protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
         | 
| 2641 3011 | 
             
                #     ssl_policy: "SslPolicyName",
         | 
| 2642 3012 | 
             
                #     certificates: [
         | 
| 2643 3013 | 
             
                #       {
         | 
| @@ -2691,8 +3061,21 @@ module Aws::ElasticLoadBalancingV2 | |
| 2691 3061 | 
             
                #           status_code: "FixedResponseActionStatusCode", # required
         | 
| 2692 3062 | 
             
                #           content_type: "FixedResponseActionContentType",
         | 
| 2693 3063 | 
             
                #         },
         | 
| 3064 | 
            +
                #         forward_config: {
         | 
| 3065 | 
            +
                #           target_groups: [
         | 
| 3066 | 
            +
                #             {
         | 
| 3067 | 
            +
                #               target_group_arn: "TargetGroupArn",
         | 
| 3068 | 
            +
                #               weight: 1,
         | 
| 3069 | 
            +
                #             },
         | 
| 3070 | 
            +
                #           ],
         | 
| 3071 | 
            +
                #           target_group_stickiness_config: {
         | 
| 3072 | 
            +
                #             enabled: false,
         | 
| 3073 | 
            +
                #             duration_seconds: 1,
         | 
| 3074 | 
            +
                #           },
         | 
| 3075 | 
            +
                #         },
         | 
| 2694 3076 | 
             
                #       },
         | 
| 2695 3077 | 
             
                #     ],
         | 
| 3078 | 
            +
                #     alpn_policy: ["AlpnPolicyValue"],
         | 
| 2696 3079 | 
             
                #   })
         | 
| 2697 3080 | 
             
                #
         | 
| 2698 3081 | 
             
                # @example Response structure
         | 
| @@ -2701,7 +3084,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 2701 3084 | 
             
                #   resp.listeners[0].listener_arn #=> String
         | 
| 2702 3085 | 
             
                #   resp.listeners[0].load_balancer_arn #=> String
         | 
| 2703 3086 | 
             
                #   resp.listeners[0].port #=> Integer
         | 
| 2704 | 
            -
                #   resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS"
         | 
| 3087 | 
            +
                #   resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
         | 
| 2705 3088 | 
             
                #   resp.listeners[0].certificates #=> Array
         | 
| 2706 3089 | 
             
                #   resp.listeners[0].certificates[0].certificate_arn #=> String
         | 
| 2707 3090 | 
             
                #   resp.listeners[0].certificates[0].is_default #=> Boolean
         | 
| @@ -2741,6 +3124,13 @@ module Aws::ElasticLoadBalancingV2 | |
| 2741 3124 | 
             
                #   resp.listeners[0].default_actions[0].fixed_response_config.message_body #=> String
         | 
| 2742 3125 | 
             
                #   resp.listeners[0].default_actions[0].fixed_response_config.status_code #=> String
         | 
| 2743 3126 | 
             
                #   resp.listeners[0].default_actions[0].fixed_response_config.content_type #=> String
         | 
| 3127 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_groups #=> Array
         | 
| 3128 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_groups[0].target_group_arn #=> String
         | 
| 3129 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_groups[0].weight #=> Integer
         | 
| 3130 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
         | 
| 3131 | 
            +
                #   resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
         | 
| 3132 | 
            +
                #   resp.listeners[0].alpn_policy #=> Array
         | 
| 3133 | 
            +
                #   resp.listeners[0].alpn_policy[0] #=> String
         | 
| 2744 3134 | 
             
                #
         | 
| 2745 3135 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener AWS API Documentation
         | 
| 2746 3136 | 
             
                #
         | 
| @@ -2752,7 +3142,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 2752 3142 | 
             
                end
         | 
| 2753 3143 |  | 
| 2754 3144 | 
             
                # Modifies the specified attributes of the specified Application Load
         | 
| 2755 | 
            -
                # Balancer or  | 
| 3145 | 
            +
                # Balancer, Network Load Balancer, or Gateway Load Balancer.
         | 
| 2756 3146 | 
             
                #
         | 
| 2757 3147 | 
             
                # If any of the specified attributes can't be modified as requested,
         | 
| 2758 3148 | 
             
                # the call fails. Any existing attributes that you do not modify retain
         | 
| @@ -2925,69 +3315,23 @@ module Aws::ElasticLoadBalancingV2 | |
| 2925 3315 | 
             
                  req.send_request(options)
         | 
| 2926 3316 | 
             
                end
         | 
| 2927 3317 |  | 
| 2928 | 
            -
                #  | 
| 2929 | 
            -
                #
         | 
| 2930 | 
            -
                # Any existing properties that you do not modify retain their current
         | 
| 2931 | 
            -
                # values.
         | 
| 3318 | 
            +
                # Replaces the specified properties of the specified rule. Any
         | 
| 3319 | 
            +
                # properties that you do not specify are unchanged.
         | 
| 2932 3320 | 
             
                #
         | 
| 2933 | 
            -
                # To  | 
| 3321 | 
            +
                # To add an item to a list, remove an item from a list, or update an
         | 
| 3322 | 
            +
                # item in a list, you must provide the entire list. For example, to add
         | 
| 3323 | 
            +
                # an action, specify a list with the current actions plus the new
         | 
| 3324 | 
            +
                # action.
         | 
| 2934 3325 | 
             
                #
         | 
| 2935 3326 | 
             
                # @option params [required, String] :rule_arn
         | 
| 2936 3327 | 
             
                #   The Amazon Resource Name (ARN) of the rule.
         | 
| 2937 3328 | 
             
                #
         | 
| 2938 3329 | 
             
                # @option params [Array<Types::RuleCondition>] :conditions
         | 
| 2939 | 
            -
                #   The conditions. | 
| 2940 | 
            -
                #   value.
         | 
| 2941 | 
            -
                #
         | 
| 2942 | 
            -
                #   If the field name is `host-header`, you can specify a single host name
         | 
| 2943 | 
            -
                #   (for example, my.example.com). A host name is case insensitive, can be
         | 
| 2944 | 
            -
                #   up to 128 characters in length, and can contain any of the following
         | 
| 2945 | 
            -
                #   characters. You can include up to three wildcard characters.
         | 
| 2946 | 
            -
                #
         | 
| 2947 | 
            -
                #   * A-Z, a-z, 0-9
         | 
| 2948 | 
            -
                #
         | 
| 2949 | 
            -
                #   * \- .
         | 
| 2950 | 
            -
                #
         | 
| 2951 | 
            -
                #   * * (matches 0 or more characters)
         | 
| 2952 | 
            -
                #
         | 
| 2953 | 
            -
                #   * ? (matches exactly 1 character)
         | 
| 2954 | 
            -
                #
         | 
| 2955 | 
            -
                #   If the field name is `path-pattern`, you can specify a single path
         | 
| 2956 | 
            -
                #   pattern. A path pattern is case-sensitive, can be up to 128 characters
         | 
| 2957 | 
            -
                #   in length, and can contain any of the following characters. You can
         | 
| 2958 | 
            -
                #   include up to three wildcard characters.
         | 
| 2959 | 
            -
                #
         | 
| 2960 | 
            -
                #   * A-Z, a-z, 0-9
         | 
| 2961 | 
            -
                #
         | 
| 2962 | 
            -
                #   * \_ - . $ / ~ " ' @ : +
         | 
| 2963 | 
            -
                #
         | 
| 2964 | 
            -
                #   * & (using &amp;)
         | 
| 2965 | 
            -
                #
         | 
| 2966 | 
            -
                #   * * (matches 0 or more characters)
         | 
| 2967 | 
            -
                #
         | 
| 2968 | 
            -
                #   * ? (matches exactly 1 character)
         | 
| 3330 | 
            +
                #   The conditions.
         | 
| 2969 3331 | 
             
                #
         | 
| 2970 3332 | 
             
                # @option params [Array<Types::Action>] :actions
         | 
| 2971 3333 | 
             
                #   The actions.
         | 
| 2972 3334 | 
             
                #
         | 
| 2973 | 
            -
                #   If the action type is `forward`, you specify a target group. The
         | 
| 2974 | 
            -
                #   protocol of the target group must be HTTP or HTTPS for an Application
         | 
| 2975 | 
            -
                #   Load Balancer. The protocol of the target group must be TCP or TLS for
         | 
| 2976 | 
            -
                #   a Network Load Balancer.
         | 
| 2977 | 
            -
                #
         | 
| 2978 | 
            -
                #   \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
         | 
| 2979 | 
            -
                #   authenticate users through an identity provider that is OpenID Connect
         | 
| 2980 | 
            -
                #   (OIDC) compliant.
         | 
| 2981 | 
            -
                #
         | 
| 2982 | 
            -
                #   \[HTTPS listeners\] If the action type is `authenticate-cognito`, you
         | 
| 2983 | 
            -
                #   authenticate users through the user pools supported by Amazon Cognito.
         | 
| 2984 | 
            -
                #
         | 
| 2985 | 
            -
                #   \[Application Load Balancer\] If the action type is `redirect`, you
         | 
| 2986 | 
            -
                #   redirect specified client requests from one URL to another.
         | 
| 2987 | 
            -
                #
         | 
| 2988 | 
            -
                #   \[Application Load Balancer\] If the action type is `fixed-response`,
         | 
| 2989 | 
            -
                #   you drop specified client requests and return a custom HTTP response.
         | 
| 2990 | 
            -
                #
         | 
| 2991 3335 | 
             
                # @return [Types::ModifyRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 2992 3336 | 
             
                #
         | 
| 2993 3337 | 
             
                #   * {Types::ModifyRuleOutput#rules #rules} => Array<Types::Rule>
         | 
| @@ -3042,6 +3386,30 @@ module Aws::ElasticLoadBalancingV2 | |
| 3042 3386 | 
             
                #       {
         | 
| 3043 3387 | 
             
                #         field: "ConditionFieldName",
         | 
| 3044 3388 | 
             
                #         values: ["StringValue"],
         | 
| 3389 | 
            +
                #         host_header_config: {
         | 
| 3390 | 
            +
                #           values: ["StringValue"],
         | 
| 3391 | 
            +
                #         },
         | 
| 3392 | 
            +
                #         path_pattern_config: {
         | 
| 3393 | 
            +
                #           values: ["StringValue"],
         | 
| 3394 | 
            +
                #         },
         | 
| 3395 | 
            +
                #         http_header_config: {
         | 
| 3396 | 
            +
                #           http_header_name: "HttpHeaderConditionName",
         | 
| 3397 | 
            +
                #           values: ["StringValue"],
         | 
| 3398 | 
            +
                #         },
         | 
| 3399 | 
            +
                #         query_string_config: {
         | 
| 3400 | 
            +
                #           values: [
         | 
| 3401 | 
            +
                #             {
         | 
| 3402 | 
            +
                #               key: "StringValue",
         | 
| 3403 | 
            +
                #               value: "StringValue",
         | 
| 3404 | 
            +
                #             },
         | 
| 3405 | 
            +
                #           ],
         | 
| 3406 | 
            +
                #         },
         | 
| 3407 | 
            +
                #         http_request_method_config: {
         | 
| 3408 | 
            +
                #           values: ["StringValue"],
         | 
| 3409 | 
            +
                #         },
         | 
| 3410 | 
            +
                #         source_ip_config: {
         | 
| 3411 | 
            +
                #           values: ["StringValue"],
         | 
| 3412 | 
            +
                #         },
         | 
| 3045 3413 | 
             
                #       },
         | 
| 3046 3414 | 
             
                #     ],
         | 
| 3047 3415 | 
             
                #     actions: [
         | 
| @@ -3090,6 +3458,18 @@ module Aws::ElasticLoadBalancingV2 | |
| 3090 3458 | 
             
                #           status_code: "FixedResponseActionStatusCode", # required
         | 
| 3091 3459 | 
             
                #           content_type: "FixedResponseActionContentType",
         | 
| 3092 3460 | 
             
                #         },
         | 
| 3461 | 
            +
                #         forward_config: {
         | 
| 3462 | 
            +
                #           target_groups: [
         | 
| 3463 | 
            +
                #             {
         | 
| 3464 | 
            +
                #               target_group_arn: "TargetGroupArn",
         | 
| 3465 | 
            +
                #               weight: 1,
         | 
| 3466 | 
            +
                #             },
         | 
| 3467 | 
            +
                #           ],
         | 
| 3468 | 
            +
                #           target_group_stickiness_config: {
         | 
| 3469 | 
            +
                #             enabled: false,
         | 
| 3470 | 
            +
                #             duration_seconds: 1,
         | 
| 3471 | 
            +
                #           },
         | 
| 3472 | 
            +
                #         },
         | 
| 3093 3473 | 
             
                #       },
         | 
| 3094 3474 | 
             
                #     ],
         | 
| 3095 3475 | 
             
                #   })
         | 
| @@ -3103,6 +3483,20 @@ module Aws::ElasticLoadBalancingV2 | |
| 3103 3483 | 
             
                #   resp.rules[0].conditions[0].field #=> String
         | 
| 3104 3484 | 
             
                #   resp.rules[0].conditions[0].values #=> Array
         | 
| 3105 3485 | 
             
                #   resp.rules[0].conditions[0].values[0] #=> String
         | 
| 3486 | 
            +
                #   resp.rules[0].conditions[0].host_header_config.values #=> Array
         | 
| 3487 | 
            +
                #   resp.rules[0].conditions[0].host_header_config.values[0] #=> String
         | 
| 3488 | 
            +
                #   resp.rules[0].conditions[0].path_pattern_config.values #=> Array
         | 
| 3489 | 
            +
                #   resp.rules[0].conditions[0].path_pattern_config.values[0] #=> String
         | 
| 3490 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.http_header_name #=> String
         | 
| 3491 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.values #=> Array
         | 
| 3492 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.values[0] #=> String
         | 
| 3493 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values #=> Array
         | 
| 3494 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values[0].key #=> String
         | 
| 3495 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values[0].value #=> String
         | 
| 3496 | 
            +
                #   resp.rules[0].conditions[0].http_request_method_config.values #=> Array
         | 
| 3497 | 
            +
                #   resp.rules[0].conditions[0].http_request_method_config.values[0] #=> String
         | 
| 3498 | 
            +
                #   resp.rules[0].conditions[0].source_ip_config.values #=> Array
         | 
| 3499 | 
            +
                #   resp.rules[0].conditions[0].source_ip_config.values[0] #=> String
         | 
| 3106 3500 | 
             
                #   resp.rules[0].actions #=> Array
         | 
| 3107 3501 | 
             
                #   resp.rules[0].actions[0].type #=> String, one of "forward", "authenticate-oidc", "authenticate-cognito", "redirect", "fixed-response"
         | 
| 3108 3502 | 
             
                #   resp.rules[0].actions[0].target_group_arn #=> String
         | 
| @@ -3138,6 +3532,11 @@ module Aws::ElasticLoadBalancingV2 | |
| 3138 3532 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.message_body #=> String
         | 
| 3139 3533 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.status_code #=> String
         | 
| 3140 3534 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.content_type #=> String
         | 
| 3535 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups #=> Array
         | 
| 3536 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups[0].target_group_arn #=> String
         | 
| 3537 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups[0].weight #=> Integer
         | 
| 3538 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
         | 
| 3539 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
         | 
| 3141 3540 | 
             
                #   resp.rules[0].is_default #=> Boolean
         | 
| 3142 3541 | 
             
                #
         | 
| 3143 3542 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRule AWS API Documentation
         | 
| @@ -3152,46 +3551,50 @@ module Aws::ElasticLoadBalancingV2 | |
| 3152 3551 | 
             
                # Modifies the health checks used when evaluating the health state of
         | 
| 3153 3552 | 
             
                # the targets in the specified target group.
         | 
| 3154 3553 | 
             
                #
         | 
| 3155 | 
            -
                # To monitor the health of the targets, use DescribeTargetHealth.
         | 
| 3156 | 
            -
                #
         | 
| 3157 3554 | 
             
                # @option params [required, String] :target_group_arn
         | 
| 3158 3555 | 
             
                #   The Amazon Resource Name (ARN) of the target group.
         | 
| 3159 3556 | 
             
                #
         | 
| 3160 3557 | 
             
                # @option params [String] :health_check_protocol
         | 
| 3161 3558 | 
             
                #   The protocol the load balancer uses when performing health checks on
         | 
| 3162 | 
            -
                #   targets.  | 
| 3163 | 
            -
                #    | 
| 3559 | 
            +
                #   targets. For Application Load Balancers, the default is HTTP. For
         | 
| 3560 | 
            +
                #   Network Load Balancers and Gateway Load Balancers, the default is TCP.
         | 
| 3561 | 
            +
                #   The TCP protocol is not supported for health checks if the protocol of
         | 
| 3562 | 
            +
                #   the target group is HTTP or HTTPS. It is supported for health checks
         | 
| 3563 | 
            +
                #   only if the protocol of the target group is TCP, TLS, UDP, or
         | 
| 3564 | 
            +
                #   TCP\_UDP. The GENEVE, TLS, UDP, and TCP\_UDP protocols are not
         | 
| 3164 3565 | 
             
                #   supported for health checks.
         | 
| 3165 3566 | 
             
                #
         | 
| 3166 | 
            -
                #    | 
| 3167 | 
            -
                #   setting.
         | 
| 3567 | 
            +
                #   With Network Load Balancers, you can't modify this setting.
         | 
| 3168 3568 | 
             
                #
         | 
| 3169 3569 | 
             
                # @option params [String] :health_check_port
         | 
| 3170 3570 | 
             
                #   The port the load balancer uses when performing health checks on
         | 
| 3171 3571 | 
             
                #   targets.
         | 
| 3172 3572 | 
             
                #
         | 
| 3173 3573 | 
             
                # @option params [String] :health_check_path
         | 
| 3174 | 
            -
                #   \[HTTP/HTTPS health checks\] The  | 
| 3175 | 
            -
                #    | 
| 3574 | 
            +
                #   \[HTTP/HTTPS health checks\] The destination for health checks on the
         | 
| 3575 | 
            +
                #   targets.
         | 
| 3576 | 
            +
                #
         | 
| 3577 | 
            +
                #   \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
         | 
| 3578 | 
            +
                #
         | 
| 3579 | 
            +
                #   \[GRPC protocol version\] The path of a custom health check method
         | 
| 3580 | 
            +
                #   with the format /package.service/method. The default is /Amazon Web
         | 
| 3581 | 
            +
                #   Services.ALB/healthcheck.
         | 
| 3176 3582 | 
             
                #
         | 
| 3177 3583 | 
             
                # @option params [Boolean] :health_check_enabled
         | 
| 3178 3584 | 
             
                #   Indicates whether health checks are enabled.
         | 
| 3179 3585 | 
             
                #
         | 
| 3180 3586 | 
             
                # @option params [Integer] :health_check_interval_seconds
         | 
| 3181 3587 | 
             
                #   The approximate amount of time, in seconds, between health checks of
         | 
| 3182 | 
            -
                #   an individual target. For  | 
| 3183 | 
            -
                #    | 
| 3184 | 
            -
                #   or 30 seconds.
         | 
| 3588 | 
            +
                #   an individual target. For TCP health checks, the supported values are
         | 
| 3589 | 
            +
                #   10 or 30 seconds.
         | 
| 3185 3590 | 
             
                #
         | 
| 3186 | 
            -
                #    | 
| 3187 | 
            -
                #   setting.
         | 
| 3591 | 
            +
                #   With Network Load Balancers, you can't modify this setting.
         | 
| 3188 3592 | 
             
                #
         | 
| 3189 3593 | 
             
                # @option params [Integer] :health_check_timeout_seconds
         | 
| 3190 3594 | 
             
                #   \[HTTP/HTTPS health checks\] The amount of time, in seconds, during
         | 
| 3191 3595 | 
             
                #   which no response means a failed health check.
         | 
| 3192 3596 | 
             
                #
         | 
| 3193 | 
            -
                #    | 
| 3194 | 
            -
                #   setting.
         | 
| 3597 | 
            +
                #   With Network Load Balancers, you can't modify this setting.
         | 
| 3195 3598 | 
             
                #
         | 
| 3196 3599 | 
             
                # @option params [Integer] :healthy_threshold_count
         | 
| 3197 3600 | 
             
                #   The number of consecutive health checks successes required before
         | 
| @@ -3199,15 +3602,15 @@ module Aws::ElasticLoadBalancingV2 | |
| 3199 3602 | 
             
                #
         | 
| 3200 3603 | 
             
                # @option params [Integer] :unhealthy_threshold_count
         | 
| 3201 3604 | 
             
                #   The number of consecutive health check failures required before
         | 
| 3202 | 
            -
                #   considering the target unhealthy. For  | 
| 3203 | 
            -
                #   value must be the same as the healthy threshold | 
| 3605 | 
            +
                #   considering the target unhealthy. For target groups with a protocol of
         | 
| 3606 | 
            +
                #   TCP or TLS, this value must be the same as the healthy threshold
         | 
| 3607 | 
            +
                #   count.
         | 
| 3204 3608 | 
             
                #
         | 
| 3205 3609 | 
             
                # @option params [Types::Matcher] :matcher
         | 
| 3206 | 
            -
                #   \[HTTP/HTTPS health checks\] The HTTP codes to use when | 
| 3207 | 
            -
                #   successful response from a target.
         | 
| 3610 | 
            +
                #   \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
         | 
| 3611 | 
            +
                #   checking for a successful response from a target.
         | 
| 3208 3612 | 
             
                #
         | 
| 3209 | 
            -
                #    | 
| 3210 | 
            -
                #   setting.
         | 
| 3613 | 
            +
                #   With Network Load Balancers, you can't modify this setting.
         | 
| 3211 3614 | 
             
                #
         | 
| 3212 3615 | 
             
                # @return [Types::ModifyTargetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 3213 3616 | 
             
                #
         | 
| @@ -3254,7 +3657,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 3254 3657 | 
             
                #
         | 
| 3255 3658 | 
             
                #   resp = client.modify_target_group({
         | 
| 3256 3659 | 
             
                #     target_group_arn: "TargetGroupArn", # required
         | 
| 3257 | 
            -
                #     health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
         | 
| 3660 | 
            +
                #     health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
         | 
| 3258 3661 | 
             
                #     health_check_port: "HealthCheckPort",
         | 
| 3259 3662 | 
             
                #     health_check_path: "Path",
         | 
| 3260 3663 | 
             
                #     health_check_enabled: false,
         | 
| @@ -3263,7 +3666,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 3263 3666 | 
             
                #     healthy_threshold_count: 1,
         | 
| 3264 3667 | 
             
                #     unhealthy_threshold_count: 1,
         | 
| 3265 3668 | 
             
                #     matcher: {
         | 
| 3266 | 
            -
                #       http_code: "HttpCode", | 
| 3669 | 
            +
                #       http_code: "HttpCode",
         | 
| 3670 | 
            +
                #       grpc_code: "GrpcCode",
         | 
| 3267 3671 | 
             
                #     },
         | 
| 3268 3672 | 
             
                #   })
         | 
| 3269 3673 | 
             
                #
         | 
| @@ -3272,10 +3676,10 @@ module Aws::ElasticLoadBalancingV2 | |
| 3272 3676 | 
             
                #   resp.target_groups #=> Array
         | 
| 3273 3677 | 
             
                #   resp.target_groups[0].target_group_arn #=> String
         | 
| 3274 3678 | 
             
                #   resp.target_groups[0].target_group_name #=> String
         | 
| 3275 | 
            -
                #   resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS"
         | 
| 3679 | 
            +
                #   resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
         | 
| 3276 3680 | 
             
                #   resp.target_groups[0].port #=> Integer
         | 
| 3277 3681 | 
             
                #   resp.target_groups[0].vpc_id #=> String
         | 
| 3278 | 
            -
                #   resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS"
         | 
| 3682 | 
            +
                #   resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
         | 
| 3279 3683 | 
             
                #   resp.target_groups[0].health_check_port #=> String
         | 
| 3280 3684 | 
             
                #   resp.target_groups[0].health_check_enabled #=> Boolean
         | 
| 3281 3685 | 
             
                #   resp.target_groups[0].health_check_interval_seconds #=> Integer
         | 
| @@ -3284,9 +3688,12 @@ module Aws::ElasticLoadBalancingV2 | |
| 3284 3688 | 
             
                #   resp.target_groups[0].unhealthy_threshold_count #=> Integer
         | 
| 3285 3689 | 
             
                #   resp.target_groups[0].health_check_path #=> String
         | 
| 3286 3690 | 
             
                #   resp.target_groups[0].matcher.http_code #=> String
         | 
| 3691 | 
            +
                #   resp.target_groups[0].matcher.grpc_code #=> String
         | 
| 3287 3692 | 
             
                #   resp.target_groups[0].load_balancer_arns #=> Array
         | 
| 3288 3693 | 
             
                #   resp.target_groups[0].load_balancer_arns[0] #=> String
         | 
| 3289 | 
            -
                #   resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda"
         | 
| 3694 | 
            +
                #   resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda", "alb"
         | 
| 3695 | 
            +
                #   resp.target_groups[0].protocol_version #=> String
         | 
| 3696 | 
            +
                #   resp.target_groups[0].ip_address_type #=> String, one of "ipv4", "ipv6"
         | 
| 3290 3697 | 
             
                #
         | 
| 3291 3698 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup AWS API Documentation
         | 
| 3292 3699 | 
             
                #
         | 
| @@ -3389,18 +3796,12 @@ module Aws::ElasticLoadBalancingV2 | |
| 3389 3796 | 
             
                # CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. You can
         | 
| 3390 3797 | 
             
                # register instances of these types by IP address.
         | 
| 3391 3798 | 
             
                #
         | 
| 3392 | 
            -
                # To remove a target from a target group, use DeregisterTargets.
         | 
| 3393 | 
            -
                #
         | 
| 3394 3799 | 
             
                # @option params [required, String] :target_group_arn
         | 
| 3395 3800 | 
             
                #   The Amazon Resource Name (ARN) of the target group.
         | 
| 3396 3801 | 
             
                #
         | 
| 3397 3802 | 
             
                # @option params [required, Array<Types::TargetDescription>] :targets
         | 
| 3398 3803 | 
             
                #   The targets.
         | 
| 3399 3804 | 
             
                #
         | 
| 3400 | 
            -
                #   To register a target by instance ID, specify the instance ID. To
         | 
| 3401 | 
            -
                #   register a target by IP address, specify the IP address. To register a
         | 
| 3402 | 
            -
                #   Lambda function, specify the ARN of the Lambda function.
         | 
| 3403 | 
            -
                #
         | 
| 3404 3805 | 
             
                # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
         | 
| 3405 3806 | 
             
                #
         | 
| 3406 3807 | 
             
                #
         | 
| @@ -3461,13 +3862,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 3461 3862 | 
             
                  req.send_request(options)
         | 
| 3462 3863 | 
             
                end
         | 
| 3463 3864 |  | 
| 3464 | 
            -
                # Removes the specified certificate from the  | 
| 3465 | 
            -
                #
         | 
| 3466 | 
            -
                # You can't remove the default certificate for a listener. To replace
         | 
| 3467 | 
            -
                # the default certificate, call ModifyListener.
         | 
| 3468 | 
            -
                #
         | 
| 3469 | 
            -
                # To list the certificates for your listener, use
         | 
| 3470 | 
            -
                # DescribeListenerCertificates.
         | 
| 3865 | 
            +
                # Removes the specified certificate from the certificate list for the
         | 
| 3866 | 
            +
                # specified HTTPS or TLS listener.
         | 
| 3471 3867 | 
             
                #
         | 
| 3472 3868 | 
             
                # @option params [required, String] :listener_arn
         | 
| 3473 3869 | 
             
                #   The Amazon Resource Name (ARN) of the listener.
         | 
| @@ -3501,9 +3897,9 @@ module Aws::ElasticLoadBalancingV2 | |
| 3501 3897 | 
             
                end
         | 
| 3502 3898 |  | 
| 3503 3899 | 
             
                # Removes the specified tags from the specified Elastic Load Balancing
         | 
| 3504 | 
            -
                #  | 
| 3505 | 
            -
                #
         | 
| 3506 | 
            -
                #  | 
| 3900 | 
            +
                # resources. You can remove the tags for one or more Application Load
         | 
| 3901 | 
            +
                # Balancers, Network Load Balancers, Gateway Load Balancers, target
         | 
| 3902 | 
            +
                # groups, listeners, or rules.
         | 
| 3507 3903 | 
             
                #
         | 
| 3508 3904 | 
             
                # @option params [required, Array<String>] :resource_arns
         | 
| 3509 3905 | 
             
                #   The Amazon Resource Name (ARN) of the resource.
         | 
| @@ -3547,15 +3943,14 @@ module Aws::ElasticLoadBalancingV2 | |
| 3547 3943 | 
             
                # Sets the type of IP addresses used by the subnets of the specified
         | 
| 3548 3944 | 
             
                # Application Load Balancer or Network Load Balancer.
         | 
| 3549 3945 | 
             
                #
         | 
| 3550 | 
            -
                # Network Load Balancers must use `ipv4`.
         | 
| 3551 | 
            -
                #
         | 
| 3552 3946 | 
             
                # @option params [required, String] :load_balancer_arn
         | 
| 3553 3947 | 
             
                #   The Amazon Resource Name (ARN) of the load balancer.
         | 
| 3554 3948 | 
             
                #
         | 
| 3555 3949 | 
             
                # @option params [required, String] :ip_address_type
         | 
| 3556 3950 | 
             
                #   The IP address type. The possible values are `ipv4` (for IPv4
         | 
| 3557 | 
            -
                #   addresses) and `dualstack` (for IPv4 and IPv6 addresses).  | 
| 3558 | 
            -
                #   load  | 
| 3951 | 
            +
                #   addresses) and `dualstack` (for IPv4 and IPv6 addresses). You can’t
         | 
| 3952 | 
            +
                #   specify `dualstack` for a load balancer with a UDP or TCP\_UDP
         | 
| 3953 | 
            +
                #   listener.
         | 
| 3559 3954 | 
             
                #
         | 
| 3560 3955 | 
             
                # @return [Types::SetIpAddressTypeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 3561 3956 | 
             
                #
         | 
| @@ -3653,6 +4048,20 @@ module Aws::ElasticLoadBalancingV2 | |
| 3653 4048 | 
             
                #   resp.rules[0].conditions[0].field #=> String
         | 
| 3654 4049 | 
             
                #   resp.rules[0].conditions[0].values #=> Array
         | 
| 3655 4050 | 
             
                #   resp.rules[0].conditions[0].values[0] #=> String
         | 
| 4051 | 
            +
                #   resp.rules[0].conditions[0].host_header_config.values #=> Array
         | 
| 4052 | 
            +
                #   resp.rules[0].conditions[0].host_header_config.values[0] #=> String
         | 
| 4053 | 
            +
                #   resp.rules[0].conditions[0].path_pattern_config.values #=> Array
         | 
| 4054 | 
            +
                #   resp.rules[0].conditions[0].path_pattern_config.values[0] #=> String
         | 
| 4055 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.http_header_name #=> String
         | 
| 4056 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.values #=> Array
         | 
| 4057 | 
            +
                #   resp.rules[0].conditions[0].http_header_config.values[0] #=> String
         | 
| 4058 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values #=> Array
         | 
| 4059 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values[0].key #=> String
         | 
| 4060 | 
            +
                #   resp.rules[0].conditions[0].query_string_config.values[0].value #=> String
         | 
| 4061 | 
            +
                #   resp.rules[0].conditions[0].http_request_method_config.values #=> Array
         | 
| 4062 | 
            +
                #   resp.rules[0].conditions[0].http_request_method_config.values[0] #=> String
         | 
| 4063 | 
            +
                #   resp.rules[0].conditions[0].source_ip_config.values #=> Array
         | 
| 4064 | 
            +
                #   resp.rules[0].conditions[0].source_ip_config.values[0] #=> String
         | 
| 3656 4065 | 
             
                #   resp.rules[0].actions #=> Array
         | 
| 3657 4066 | 
             
                #   resp.rules[0].actions[0].type #=> String, one of "forward", "authenticate-oidc", "authenticate-cognito", "redirect", "fixed-response"
         | 
| 3658 4067 | 
             
                #   resp.rules[0].actions[0].target_group_arn #=> String
         | 
| @@ -3688,6 +4097,11 @@ module Aws::ElasticLoadBalancingV2 | |
| 3688 4097 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.message_body #=> String
         | 
| 3689 4098 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.status_code #=> String
         | 
| 3690 4099 | 
             
                #   resp.rules[0].actions[0].fixed_response_config.content_type #=> String
         | 
| 4100 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups #=> Array
         | 
| 4101 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups[0].target_group_arn #=> String
         | 
| 4102 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_groups[0].weight #=> Integer
         | 
| 4103 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
         | 
| 4104 | 
            +
                #   resp.rules[0].actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
         | 
| 3691 4105 | 
             
                #   resp.rules[0].is_default #=> Boolean
         | 
| 3692 4106 | 
             
                #
         | 
| 3693 4107 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetRulePriorities AWS API Documentation
         | 
| @@ -3703,7 +4117,8 @@ module Aws::ElasticLoadBalancingV2 | |
| 3703 4117 | 
             
                # Application Load Balancer. The specified security groups override the
         | 
| 3704 4118 | 
             
                # previously associated security groups.
         | 
| 3705 4119 | 
             
                #
         | 
| 3706 | 
            -
                # You can't specify a security group for a Network Load Balancer | 
| 4120 | 
            +
                # You can't specify a security group for a Network Load Balancer or
         | 
| 4121 | 
            +
                # Gateway Load Balancer.
         | 
| 3707 4122 | 
             
                #
         | 
| 3708 4123 | 
             
                # @option params [required, String] :load_balancer_arn
         | 
| 3709 4124 | 
             
                #   The Amazon Resource Name (ARN) of the load balancer.
         | 
| @@ -3755,30 +4170,66 @@ module Aws::ElasticLoadBalancingV2 | |
| 3755 4170 | 
             
                  req.send_request(options)
         | 
| 3756 4171 | 
             
                end
         | 
| 3757 4172 |  | 
| 3758 | 
            -
                # Enables the Availability  | 
| 3759 | 
            -
                # specified Application Load Balancer | 
| 3760 | 
            -
                # previously enabled subnets.
         | 
| 4173 | 
            +
                # Enables the Availability Zones for the specified public subnets for
         | 
| 4174 | 
            +
                # the specified Application Load Balancer or Network Load Balancer. The
         | 
| 4175 | 
            +
                # specified subnets replace the previously enabled subnets.
         | 
| 3761 4176 | 
             
                #
         | 
| 3762 | 
            -
                #  | 
| 4177 | 
            +
                # When you specify subnets for a Network Load Balancer, you must include
         | 
| 4178 | 
            +
                # all subnets that were enabled previously, with their existing
         | 
| 4179 | 
            +
                # configurations, plus any additional subnets.
         | 
| 3763 4180 | 
             
                #
         | 
| 3764 4181 | 
             
                # @option params [required, String] :load_balancer_arn
         | 
| 3765 4182 | 
             
                #   The Amazon Resource Name (ARN) of the load balancer.
         | 
| 3766 4183 | 
             
                #
         | 
| 3767 4184 | 
             
                # @option params [Array<String>] :subnets
         | 
| 3768 | 
            -
                #   The IDs of the public subnets. You  | 
| 3769 | 
            -
                #   two Availability Zones. You can specify only one subnet per
         | 
| 4185 | 
            +
                #   The IDs of the public subnets. You can specify only one subnet per
         | 
| 3770 4186 | 
             
                #   Availability Zone. You must specify either subnets or subnet mappings.
         | 
| 3771 4187 | 
             
                #
         | 
| 4188 | 
            +
                #   \[Application Load Balancers\] You must specify subnets from at least
         | 
| 4189 | 
            +
                #   two Availability Zones.
         | 
| 4190 | 
            +
                #
         | 
| 4191 | 
            +
                #   \[Application Load Balancers on Outposts\] You must specify one
         | 
| 4192 | 
            +
                #   Outpost subnet.
         | 
| 4193 | 
            +
                #
         | 
| 4194 | 
            +
                #   \[Application Load Balancers on Local Zones\] You can specify subnets
         | 
| 4195 | 
            +
                #   from one or more Local Zones.
         | 
| 4196 | 
            +
                #
         | 
| 4197 | 
            +
                #   \[Network Load Balancers\] You can specify subnets from one or more
         | 
| 4198 | 
            +
                #   Availability Zones.
         | 
| 4199 | 
            +
                #
         | 
| 3772 4200 | 
             
                # @option params [Array<Types::SubnetMapping>] :subnet_mappings
         | 
| 3773 | 
            -
                #   The IDs of the public subnets. You  | 
| 3774 | 
            -
                #   two Availability Zones. You can specify only one subnet per
         | 
| 4201 | 
            +
                #   The IDs of the public subnets. You can specify only one subnet per
         | 
| 3775 4202 | 
             
                #   Availability Zone. You must specify either subnets or subnet mappings.
         | 
| 3776 4203 | 
             
                #
         | 
| 3777 | 
            -
                #   You  | 
| 4204 | 
            +
                #   \[Application Load Balancers\] You must specify subnets from at least
         | 
| 4205 | 
            +
                #   two Availability Zones. You cannot specify Elastic IP addresses for
         | 
| 4206 | 
            +
                #   your subnets.
         | 
| 4207 | 
            +
                #
         | 
| 4208 | 
            +
                #   \[Application Load Balancers on Outposts\] You must specify one
         | 
| 4209 | 
            +
                #   Outpost subnet.
         | 
| 4210 | 
            +
                #
         | 
| 4211 | 
            +
                #   \[Application Load Balancers on Local Zones\] You can specify subnets
         | 
| 4212 | 
            +
                #   from one or more Local Zones.
         | 
| 4213 | 
            +
                #
         | 
| 4214 | 
            +
                #   \[Network Load Balancers\] You can specify subnets from one or more
         | 
| 4215 | 
            +
                #   Availability Zones. You can specify one Elastic IP address per subnet
         | 
| 4216 | 
            +
                #   if you need static IP addresses for your internet-facing load
         | 
| 4217 | 
            +
                #   balancer. For internal load balancers, you can specify one private IP
         | 
| 4218 | 
            +
                #   address per subnet from the IPv4 range of the subnet. For
         | 
| 4219 | 
            +
                #   internet-facing load balancer, you can specify one IPv6 address per
         | 
| 4220 | 
            +
                #   subnet.
         | 
| 4221 | 
            +
                #
         | 
| 4222 | 
            +
                # @option params [String] :ip_address_type
         | 
| 4223 | 
            +
                #   \[Network Load Balancers\] The type of IP addresses used by the
         | 
| 4224 | 
            +
                #   subnets for your load balancer. The possible values are `ipv4` (for
         | 
| 4225 | 
            +
                #   IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses). You
         | 
| 4226 | 
            +
                #   can’t specify `dualstack` for a load balancer with a UDP or TCP\_UDP
         | 
| 4227 | 
            +
                #   listener. .
         | 
| 3778 4228 | 
             
                #
         | 
| 3779 4229 | 
             
                # @return [Types::SetSubnetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 3780 4230 | 
             
                #
         | 
| 3781 4231 | 
             
                #   * {Types::SetSubnetsOutput#availability_zones #availability_zones} => Array<Types::AvailabilityZone>
         | 
| 4232 | 
            +
                #   * {Types::SetSubnetsOutput#ip_address_type #ip_address_type} => String
         | 
| 3782 4233 | 
             
                #
         | 
| 3783 4234 | 
             
                #
         | 
| 3784 4235 | 
             
                # @example Example: To enable Availability Zones for a load balancer
         | 
| @@ -3816,8 +4267,11 @@ module Aws::ElasticLoadBalancingV2 | |
| 3816 4267 | 
             
                #       {
         | 
| 3817 4268 | 
             
                #         subnet_id: "SubnetId",
         | 
| 3818 4269 | 
             
                #         allocation_id: "AllocationId",
         | 
| 4270 | 
            +
                #         private_i_pv_4_address: "PrivateIPv4Address",
         | 
| 4271 | 
            +
                #         i_pv_6_address: "IPv6Address",
         | 
| 3819 4272 | 
             
                #       },
         | 
| 3820 4273 | 
             
                #     ],
         | 
| 4274 | 
            +
                #     ip_address_type: "ipv4", # accepts ipv4, dualstack
         | 
| 3821 4275 | 
             
                #   })
         | 
| 3822 4276 | 
             
                #
         | 
| 3823 4277 | 
             
                # @example Response structure
         | 
| @@ -3825,9 +4279,13 @@ module Aws::ElasticLoadBalancingV2 | |
| 3825 4279 | 
             
                #   resp.availability_zones #=> Array
         | 
| 3826 4280 | 
             
                #   resp.availability_zones[0].zone_name #=> String
         | 
| 3827 4281 | 
             
                #   resp.availability_zones[0].subnet_id #=> String
         | 
| 4282 | 
            +
                #   resp.availability_zones[0].outpost_id #=> String
         | 
| 3828 4283 | 
             
                #   resp.availability_zones[0].load_balancer_addresses #=> Array
         | 
| 3829 4284 | 
             
                #   resp.availability_zones[0].load_balancer_addresses[0].ip_address #=> String
         | 
| 3830 4285 | 
             
                #   resp.availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
         | 
| 4286 | 
            +
                #   resp.availability_zones[0].load_balancer_addresses[0].private_i_pv_4_address #=> String
         | 
| 4287 | 
            +
                #   resp.availability_zones[0].load_balancer_addresses[0].i_pv_6_address #=> String
         | 
| 4288 | 
            +
                #   resp.ip_address_type #=> String, one of "ipv4", "dualstack"
         | 
| 3831 4289 | 
             
                #
         | 
| 3832 4290 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets AWS API Documentation
         | 
| 3833 4291 | 
             
                #
         | 
| @@ -3851,7 +4309,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 3851 4309 | 
             
                    params: params,
         | 
| 3852 4310 | 
             
                    config: config)
         | 
| 3853 4311 | 
             
                  context[:gem_name] = 'aws-sdk-elasticloadbalancingv2'
         | 
| 3854 | 
            -
                  context[:gem_version] = '1. | 
| 4312 | 
            +
                  context[:gem_version] = '1.75.0'
         | 
| 3855 4313 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 3856 4314 | 
             
                end
         | 
| 3857 4315 |  | 
| @@ -3868,7 +4326,7 @@ module Aws::ElasticLoadBalancingV2 | |
| 3868 4326 | 
             
                # In between attempts, the waiter will sleep.
         | 
| 3869 4327 | 
             
                #
         | 
| 3870 4328 | 
             
                #     # polls in a loop, sleeping between attempts
         | 
| 3871 | 
            -
                #     client. | 
| 4329 | 
            +
                #     client.wait_until(waiter_name, params)
         | 
| 3872 4330 | 
             
                #
         | 
| 3873 4331 | 
             
                # ## Configuration
         | 
| 3874 4332 | 
             
                #
         | 
| @@ -3917,13 +4375,13 @@ module Aws::ElasticLoadBalancingV2 | |
| 3917 4375 | 
             
                # The following table lists the valid waiter names, the operations they call,
         | 
| 3918 4376 | 
             
                # and the default `:delay` and `:max_attempts` values.
         | 
| 3919 4377 | 
             
                #
         | 
| 3920 | 
            -
                # | waiter_name             | params | 
| 3921 | 
            -
                # | ----------------------- |  | 
| 3922 | 
            -
                # | load_balancer_available | {#describe_load_balancers} | 15       | 40            |
         | 
| 3923 | 
            -
                # | load_balancer_exists    | {#describe_load_balancers} | 15       | 40            |
         | 
| 3924 | 
            -
                # | load_balancers_deleted  | {#describe_load_balancers} | 15       | 40            |
         | 
| 3925 | 
            -
                # | target_deregistered     | {#describe_target_health}  | 15       | 40            |
         | 
| 3926 | 
            -
                # | target_in_service       | {#describe_target_health}  | 15       | 40            |
         | 
| 4378 | 
            +
                # | waiter_name             | params                           | :delay   | :max_attempts |
         | 
| 4379 | 
            +
                # | ----------------------- | -------------------------------- | -------- | ------------- |
         | 
| 4380 | 
            +
                # | load_balancer_available | {Client#describe_load_balancers} | 15       | 40            |
         | 
| 4381 | 
            +
                # | load_balancer_exists    | {Client#describe_load_balancers} | 15       | 40            |
         | 
| 4382 | 
            +
                # | load_balancers_deleted  | {Client#describe_load_balancers} | 15       | 40            |
         | 
| 4383 | 
            +
                # | target_deregistered     | {Client#describe_target_health}  | 15       | 40            |
         | 
| 4384 | 
            +
                # | target_in_service       | {Client#describe_target_health}  | 15       | 40            |
         | 
| 3927 4385 | 
             
                #
         | 
| 3928 4386 | 
             
                # @raise [Errors::FailureStateError] Raised when the waiter terminates
         | 
| 3929 4387 | 
             
                #   because the waiter has entered a state that it will not transition
         |