aws-sdk-elasticloadbalancingv2 1.40.1 → 1.45.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7d91fdb79da03521674f9055053d264761a1f9ff
4
- data.tar.gz: c31325b20fc051270cecc1d1a3db2f327503b131
2
+ SHA256:
3
+ metadata.gz: 44895d9fc02178f6bec2d2fdba71d6c32231b8ad5c07cec9d5222cb74ded02c2
4
+ data.tar.gz: 99bfc393a0ee676706769914c666d9a35f16504b6f07ced3f51f4f75961ad877
5
5
  SHA512:
6
- metadata.gz: a041d97a2bfecda4a53747199585a82c95a348c95e276b33b6d149c36ae812cd04be09c92d99d49ab0fa5da3677a932c2be4bdd687699486865d566aa2f58f19
7
- data.tar.gz: d2b8e1908bf889054beaf2a4b8a3973dbf1105d356075f0ab1d1c55abe2d894d96dd7a676f8a43549de1d3bbc0dd86876285dec8ee95cac62e8b7accab53687a
6
+ metadata.gz: 71d1b8e259883a1cb449ea9ee6cc3ad6bebe553c0b958f4ed4306c319130a03650da7a39ee5d316fc24f161bc4c26f202ed3dde4ec63dd4f510e892b68f4609f
7
+ data.tar.gz: ef958f2eb593db1d414518d6cb0441e58673cecbdd393e9bbff528bbd3cfbabd4e704e8e21e81b7380daf7d7f40961fc18be089972b642631f977a93995c1954
@@ -25,17 +25,20 @@ require_relative 'aws-sdk-elasticloadbalancingv2/customizations'
25
25
  # methods each accept a hash of request parameters and return a response
26
26
  # structure.
27
27
  #
28
+ # elastic_load_balancing_v2 = Aws::ElasticLoadBalancingV2::Client.new
29
+ # resp = elastic_load_balancing_v2.add_listener_certificates(params)
30
+ #
28
31
  # See {Client} for more information.
29
32
  #
30
33
  # # Errors
31
34
  #
32
- # Errors returned from Elastic Load Balancing all
33
- # extend {Errors::ServiceError}.
35
+ # Errors returned from Elastic Load Balancing are defined in the
36
+ # {Errors} module and all extend {Errors::ServiceError}.
34
37
  #
35
38
  # begin
36
39
  # # do stuff
37
40
  # rescue Aws::ElasticLoadBalancingV2::Errors::ServiceError
38
- # # rescues all service API errors
41
+ # # rescues all Elastic Load Balancing API errors
39
42
  # end
40
43
  #
41
44
  # See {Errors} for more information.
@@ -43,6 +46,6 @@ require_relative 'aws-sdk-elasticloadbalancingv2/customizations'
43
46
  # @service
44
47
  module Aws::ElasticLoadBalancingV2
45
48
 
46
- GEM_VERSION = '1.40.1'
49
+ GEM_VERSION = '1.45.1'
47
50
 
48
51
  end
@@ -24,12 +24,25 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/query.rb'
29
30
 
30
31
  Aws::Plugins::GlobalConfiguration.add_identifier(:elasticloadbalancingv2)
31
32
 
32
33
  module Aws::ElasticLoadBalancingV2
34
+ # An API client for ElasticLoadBalancingV2. To construct a client, you need to configure a `:region` and `:credentials`.
35
+ #
36
+ # client = Aws::ElasticLoadBalancingV2::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
41
+ #
42
+ # For details on configuring region and credentials see
43
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
44
+ #
45
+ # See {#initialize} for a full list of supported configuration options.
33
46
  class Client < Seahorse::Client::Base
34
47
 
35
48
  include Aws::ClientStubs
@@ -57,6 +70,7 @@ module Aws::ElasticLoadBalancingV2
57
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
60
74
  add_plugin(Aws::Plugins::SignatureV4)
61
75
  add_plugin(Aws::Plugins::Protocols::Query)
62
76
 
@@ -93,7 +107,7 @@ module Aws::ElasticLoadBalancingV2
93
107
  # @option options [required, String] :region
94
108
  # The AWS region to connect to. The configured `:region` is
95
109
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
97
111
  #
98
112
  # * `Aws.config[:region]`
99
113
  # * `ENV['AWS_REGION']`
@@ -108,6 +122,12 @@ module Aws::ElasticLoadBalancingV2
108
122
  # When set to `true`, a thread polling for endpoints will be running in
109
123
  # the background every 60 secs (default). Defaults to `false`.
110
124
  #
125
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
126
+ # Used only in `adaptive` retry mode. When true, the request will sleep
127
+ # until there is sufficent client side capacity to retry the request.
128
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
129
+ # not retry instead of sleeping.
130
+ #
111
131
  # @option options [Boolean] :client_side_monitoring (false)
112
132
  # When `true`, client-side metrics will be collected for all API requests from
113
133
  # this client.
@@ -132,6 +152,10 @@ module Aws::ElasticLoadBalancingV2
132
152
  # When `true`, an attempt is made to coerce request parameters into
133
153
  # the required types.
134
154
  #
155
+ # @option options [Boolean] :correct_clock_skew (true)
156
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
157
+ # a clock skew correction and retry requests with skewed client clocks.
158
+ #
135
159
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
160
  # Set to true to disable SDK automatically adding host prefix
137
161
  # to default service endpoint when available.
@@ -139,7 +163,7 @@ module Aws::ElasticLoadBalancingV2
139
163
  # @option options [String] :endpoint
140
164
  # The client endpoint is normally constructed from the `:region`
141
165
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
143
167
  #
144
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +178,7 @@ module Aws::ElasticLoadBalancingV2
154
178
  # requests fetching endpoints information. Defaults to 60 sec.
155
179
  #
156
180
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
182
  #
159
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
184
  # The log formatter.
@@ -166,15 +190,29 @@ module Aws::ElasticLoadBalancingV2
166
190
  # The Logger instance to send log messages to. If this option
167
191
  # is not set, logging will be disabled.
168
192
  #
193
+ # @option options [Integer] :max_attempts (3)
194
+ # An integer representing the maximum number attempts that will be made for
195
+ # a single request, including the initial attempt. For example,
196
+ # setting this value to 5 will result in a request being retried up to
197
+ # 4 times. Used in `standard` and `adaptive` retry modes.
198
+ #
169
199
  # @option options [String] :profile ("default")
170
200
  # Used when loading credentials from the shared credentials file
171
201
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
202
  #
203
+ # @option options [Proc] :retry_backoff
204
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
205
+ # This option is only used in the `legacy` retry mode.
206
+ #
173
207
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
208
+ # The base delay in seconds used by the default backoff function. This option
209
+ # is only used in the `legacy` retry mode.
175
210
  #
176
211
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
212
+ # A delay randomiser function used by the default backoff function.
213
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
214
+ # otherwise a Proc that takes and returns a number. This option is only used
215
+ # in the `legacy` retry mode.
178
216
  #
179
217
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
218
  #
@@ -182,11 +220,30 @@ module Aws::ElasticLoadBalancingV2
182
220
  # The maximum number of times to retry failed requests. Only
183
221
  # ~ 500 level server errors and certain ~ 400 level client errors
184
222
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
223
+ # checksum errors, networking errors, timeout errors, auth errors,
224
+ # endpoint discovery, and errors from expired credentials.
225
+ # This option is only used in the `legacy` retry mode.
187
226
  #
188
227
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
228
+ # The maximum number of seconds to delay between retries (0 for no limit)
229
+ # used by the default backoff function. This option is only used in the
230
+ # `legacy` retry mode.
231
+ #
232
+ # @option options [String] :retry_mode ("legacy")
233
+ # Specifies which retry algorithm to use. Values are:
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
190
247
  #
191
248
  # @option options [String] :secret_access_key
192
249
  #
@@ -209,16 +266,15 @@ module Aws::ElasticLoadBalancingV2
209
266
  # requests through. Formatted like 'http://proxy.com:123'.
210
267
  #
211
268
  # @option options [Float] :http_open_timeout (15) The number of
212
- # seconds to wait when opening a HTTP session before rasing a
269
+ # seconds to wait when opening a HTTP session before raising a
213
270
  # `Timeout::Error`.
214
271
  #
215
272
  # @option options [Integer] :http_read_timeout (60) The default
216
273
  # number of seconds to wait for response data. This value can
217
- # safely be set
218
- # per-request on the session yeidled by {#session_for}.
274
+ # safely be set per-request on the session.
219
275
  #
220
276
  # @option options [Float] :http_idle_timeout (5) The number of
221
- # seconds a connection is allowed to sit idble before it is
277
+ # seconds a connection is allowed to sit idle before it is
222
278
  # considered stale. Stale connections are closed and removed
223
279
  # from the pool before making a request.
224
280
  #
@@ -227,7 +283,7 @@ module Aws::ElasticLoadBalancingV2
227
283
  # request body. This option has no effect unless the request has
228
284
  # "Expect" header set to "100-continue". Defaults to `nil` which
229
285
  # disables this behaviour. This value can safely be set per
230
- # request on the session yeidled by {#session_for}.
286
+ # request on the session.
231
287
  #
232
288
  # @option options [Boolean] :http_wire_trace (false) When `true`,
233
289
  # HTTP debug output will be sent to the `:logger`.
@@ -466,6 +522,28 @@ module Aws::ElasticLoadBalancingV2
466
522
  # \[Application Load Balancer\] If the action type is `fixed-response`,
467
523
  # you drop specified client requests and return a custom HTTP response.
468
524
  #
525
+ # @option params [Array<String>] :alpn_policy
526
+ # \[TLS listeners\] The name of the Application-Layer Protocol
527
+ # Negotiation (ALPN) policy. You can specify one policy name. The
528
+ # following are the possible values:
529
+ #
530
+ # * `HTTP1Only`
531
+ #
532
+ # * `HTTP2Only`
533
+ #
534
+ # * `HTTP2Optional`
535
+ #
536
+ # * `HTTP2Preferred`
537
+ #
538
+ # * `None`
539
+ #
540
+ # For more information, see [ALPN Policies][1] in the *Network Load
541
+ # Balancers Guide*.
542
+ #
543
+ #
544
+ #
545
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
546
+ #
469
547
  # @return [Types::CreateListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
470
548
  #
471
549
  # * {Types::CreateListenerOutput#listeners #listeners} => Array&lt;Types::Listener&gt;
@@ -628,6 +706,7 @@ module Aws::ElasticLoadBalancingV2
628
706
  # },
629
707
  # },
630
708
  # ],
709
+ # alpn_policy: ["AlpnPolicyValue"],
631
710
  # })
632
711
  #
633
712
  # @example Response structure
@@ -681,6 +760,8 @@ module Aws::ElasticLoadBalancingV2
681
760
  # resp.listeners[0].default_actions[0].forward_config.target_groups[0].weight #=> Integer
682
761
  # resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
683
762
  # resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
763
+ # resp.listeners[0].alpn_policy #=> Array
764
+ # resp.listeners[0].alpn_policy[0] #=> String
684
765
  #
685
766
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener AWS API Documentation
686
767
  #
@@ -1747,6 +1828,8 @@ module Aws::ElasticLoadBalancingV2
1747
1828
  # * {Types::DescribeListenersOutput#listeners #listeners} => Array&lt;Types::Listener&gt;
1748
1829
  # * {Types::DescribeListenersOutput#next_marker #next_marker} => String
1749
1830
  #
1831
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1832
+ #
1750
1833
  #
1751
1834
  # @example Example: To describe a listener
1752
1835
  #
@@ -1836,6 +1919,8 @@ module Aws::ElasticLoadBalancingV2
1836
1919
  # resp.listeners[0].default_actions[0].forward_config.target_groups[0].weight #=> Integer
1837
1920
  # resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
1838
1921
  # resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
1922
+ # resp.listeners[0].alpn_policy #=> Array
1923
+ # resp.listeners[0].alpn_policy[0] #=> String
1839
1924
  # resp.next_marker #=> String
1840
1925
  #
1841
1926
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListeners AWS API Documentation
@@ -1947,6 +2032,8 @@ module Aws::ElasticLoadBalancingV2
1947
2032
  # * {Types::DescribeLoadBalancersOutput#load_balancers #load_balancers} => Array&lt;Types::LoadBalancer&gt;
1948
2033
  # * {Types::DescribeLoadBalancersOutput#next_marker #next_marker} => String
1949
2034
  #
2035
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2036
+ #
1950
2037
  #
1951
2038
  # @example Example: To describe a load balancer
1952
2039
  #
@@ -2024,6 +2111,13 @@ module Aws::ElasticLoadBalancingV2
2024
2111
  # resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack"
2025
2112
  # resp.next_marker #=> String
2026
2113
  #
2114
+ #
2115
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
2116
+ #
2117
+ # * load_balancer_available
2118
+ # * load_balancer_exists
2119
+ # * load_balancers_deleted
2120
+ #
2027
2121
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancers AWS API Documentation
2028
2122
  #
2029
2123
  # @overload describe_load_balancers(params = {})
@@ -2496,6 +2590,8 @@ module Aws::ElasticLoadBalancingV2
2496
2590
  # * {Types::DescribeTargetGroupsOutput#target_groups #target_groups} => Array&lt;Types::TargetGroup&gt;
2497
2591
  # * {Types::DescribeTargetGroupsOutput#next_marker #next_marker} => String
2498
2592
  #
2593
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2594
+ #
2499
2595
  #
2500
2596
  # @example Example: To describe a target group
2501
2597
  #
@@ -2677,6 +2773,12 @@ module Aws::ElasticLoadBalancingV2
2677
2773
  # 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"
2678
2774
  # resp.target_health_descriptions[0].target_health.description #=> String
2679
2775
  #
2776
+ #
2777
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
2778
+ #
2779
+ # * target_deregistered
2780
+ # * target_in_service
2781
+ #
2680
2782
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetHealth AWS API Documentation
2681
2783
  #
2682
2784
  # @overload describe_target_health(params = {})
@@ -2772,6 +2874,28 @@ module Aws::ElasticLoadBalancingV2
2772
2874
  # \[Application Load Balancer\] If the action type is `fixed-response`,
2773
2875
  # you drop specified client requests and return a custom HTTP response.
2774
2876
  #
2877
+ # @option params [Array<String>] :alpn_policy
2878
+ # \[TLS listeners\] The name of the Application-Layer Protocol
2879
+ # Negotiation (ALPN) policy. You can specify one policy name. The
2880
+ # following are the possible values:
2881
+ #
2882
+ # * `HTTP1Only`
2883
+ #
2884
+ # * `HTTP2Only`
2885
+ #
2886
+ # * `HTTP2Optional`
2887
+ #
2888
+ # * `HTTP2Preferred`
2889
+ #
2890
+ # * `None`
2891
+ #
2892
+ # For more information, see [ALPN Policies][1] in the *Network Load
2893
+ # Balancers Guide*.
2894
+ #
2895
+ #
2896
+ #
2897
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
2898
+ #
2775
2899
  # @return [Types::ModifyListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2776
2900
  #
2777
2901
  # * {Types::ModifyListenerOutput#listeners #listeners} => Array&lt;Types::Listener&gt;
@@ -2919,6 +3043,7 @@ module Aws::ElasticLoadBalancingV2
2919
3043
  # },
2920
3044
  # },
2921
3045
  # ],
3046
+ # alpn_policy: ["AlpnPolicyValue"],
2922
3047
  # })
2923
3048
  #
2924
3049
  # @example Response structure
@@ -2972,6 +3097,8 @@ module Aws::ElasticLoadBalancingV2
2972
3097
  # resp.listeners[0].default_actions[0].forward_config.target_groups[0].weight #=> Integer
2973
3098
  # resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.enabled #=> Boolean
2974
3099
  # resp.listeners[0].default_actions[0].forward_config.target_group_stickiness_config.duration_seconds #=> Integer
3100
+ # resp.listeners[0].alpn_policy #=> Array
3101
+ # resp.listeners[0].alpn_policy[0] #=> String
2975
3102
  #
2976
3103
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener AWS API Documentation
2977
3104
  #
@@ -4142,7 +4269,7 @@ module Aws::ElasticLoadBalancingV2
4142
4269
  params: params,
4143
4270
  config: config)
4144
4271
  context[:gem_name] = 'aws-sdk-elasticloadbalancingv2'
4145
- context[:gem_version] = '1.40.1'
4272
+ context[:gem_version] = '1.45.1'
4146
4273
  Seahorse::Client::Request.new(handlers, context)
4147
4274
  end
4148
4275
 
@@ -4208,13 +4335,13 @@ module Aws::ElasticLoadBalancingV2
4208
4335
  # The following table lists the valid waiter names, the operations they call,
4209
4336
  # and the default `:delay` and `:max_attempts` values.
4210
4337
  #
4211
- # | waiter_name | params | :delay | :max_attempts |
4212
- # | ----------------------- | -------------------------- | -------- | ------------- |
4213
- # | load_balancer_available | {#describe_load_balancers} | 15 | 40 |
4214
- # | load_balancer_exists | {#describe_load_balancers} | 15 | 40 |
4215
- # | load_balancers_deleted | {#describe_load_balancers} | 15 | 40 |
4216
- # | target_deregistered | {#describe_target_health} | 15 | 40 |
4217
- # | target_in_service | {#describe_target_health} | 15 | 40 |
4338
+ # | waiter_name | params | :delay | :max_attempts |
4339
+ # | ----------------------- | -------------------------------- | -------- | ------------- |
4340
+ # | load_balancer_available | {Client#describe_load_balancers} | 15 | 40 |
4341
+ # | load_balancer_exists | {Client#describe_load_balancers} | 15 | 40 |
4342
+ # | load_balancers_deleted | {Client#describe_load_balancers} | 15 | 40 |
4343
+ # | target_deregistered | {Client#describe_target_health} | 15 | 40 |
4344
+ # | target_in_service | {Client#describe_target_health} | 15 | 40 |
4218
4345
  #
4219
4346
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
4220
4347
  # because the waiter has entered a state that it will not transition
@@ -11,6 +11,7 @@ module Aws::ElasticLoadBalancingV2
11
11
 
12
12
  include Seahorse::Model
13
13
 
14
+ ALPNPolicyNotSupportedException = Shapes::StructureShape.new(name: 'ALPNPolicyNotSupportedException')
14
15
  Action = Shapes::StructureShape.new(name: 'Action')
15
16
  ActionOrder = Shapes::IntegerShape.new(name: 'ActionOrder')
16
17
  ActionTypeEnum = Shapes::StringShape.new(name: 'ActionTypeEnum')
@@ -21,6 +22,8 @@ module Aws::ElasticLoadBalancingV2
21
22
  AddTagsOutput = Shapes::StructureShape.new(name: 'AddTagsOutput')
22
23
  AllocationId = Shapes::StringShape.new(name: 'AllocationId')
23
24
  AllocationIdNotFoundException = Shapes::StructureShape.new(name: 'AllocationIdNotFoundException')
25
+ AlpnPolicyName = Shapes::ListShape.new(name: 'AlpnPolicyName')
26
+ AlpnPolicyValue = Shapes::StringShape.new(name: 'AlpnPolicyValue')
24
27
  AuthenticateCognitoActionAuthenticationRequestExtraParams = Shapes::MapShape.new(name: 'AuthenticateCognitoActionAuthenticationRequestExtraParams')
25
28
  AuthenticateCognitoActionAuthenticationRequestParamName = Shapes::StringShape.new(name: 'AuthenticateCognitoActionAuthenticationRequestParamName')
26
29
  AuthenticateCognitoActionAuthenticationRequestParamValue = Shapes::StringShape.new(name: 'AuthenticateCognitoActionAuthenticationRequestParamValue')
@@ -284,6 +287,8 @@ module Aws::ElasticLoadBalancingV2
284
287
  VpcId = Shapes::StringShape.new(name: 'VpcId')
285
288
  ZoneName = Shapes::StringShape.new(name: 'ZoneName')
286
289
 
290
+ ALPNPolicyNotSupportedException.struct_class = Types::ALPNPolicyNotSupportedException
291
+
287
292
  Action.add_member(:type, Shapes::ShapeRef.new(shape: ActionTypeEnum, required: true, location_name: "Type"))
288
293
  Action.add_member(:target_group_arn, Shapes::ShapeRef.new(shape: TargetGroupArn, location_name: "TargetGroupArn"))
289
294
  Action.add_member(:authenticate_oidc_config, Shapes::ShapeRef.new(shape: AuthenticateOidcActionConfig, location_name: "AuthenticateOidcConfig"))
@@ -311,6 +316,8 @@ module Aws::ElasticLoadBalancingV2
311
316
 
312
317
  AllocationIdNotFoundException.struct_class = Types::AllocationIdNotFoundException
313
318
 
319
+ AlpnPolicyName.member = Shapes::ShapeRef.new(shape: AlpnPolicyValue)
320
+
314
321
  AuthenticateCognitoActionAuthenticationRequestExtraParams.key = Shapes::ShapeRef.new(shape: AuthenticateCognitoActionAuthenticationRequestParamName)
315
322
  AuthenticateCognitoActionAuthenticationRequestExtraParams.value = Shapes::ShapeRef.new(shape: AuthenticateCognitoActionAuthenticationRequestParamValue)
316
323
 
@@ -370,6 +377,7 @@ module Aws::ElasticLoadBalancingV2
370
377
  CreateListenerInput.add_member(:ssl_policy, Shapes::ShapeRef.new(shape: SslPolicyName, location_name: "SslPolicy"))
371
378
  CreateListenerInput.add_member(:certificates, Shapes::ShapeRef.new(shape: CertificateList, location_name: "Certificates"))
372
379
  CreateListenerInput.add_member(:default_actions, Shapes::ShapeRef.new(shape: Actions, required: true, location_name: "DefaultActions"))
380
+ CreateListenerInput.add_member(:alpn_policy, Shapes::ShapeRef.new(shape: AlpnPolicyName, location_name: "AlpnPolicy"))
373
381
  CreateListenerInput.struct_class = Types::CreateListenerInput
374
382
 
375
383
  CreateListenerOutput.add_member(:listeners, Shapes::ShapeRef.new(shape: Listeners, location_name: "Listeners"))
@@ -592,6 +600,7 @@ module Aws::ElasticLoadBalancingV2
592
600
  Listener.add_member(:certificates, Shapes::ShapeRef.new(shape: CertificateList, location_name: "Certificates"))
593
601
  Listener.add_member(:ssl_policy, Shapes::ShapeRef.new(shape: SslPolicyName, location_name: "SslPolicy"))
594
602
  Listener.add_member(:default_actions, Shapes::ShapeRef.new(shape: Actions, location_name: "DefaultActions"))
603
+ Listener.add_member(:alpn_policy, Shapes::ShapeRef.new(shape: AlpnPolicyName, location_name: "AlpnPolicy"))
595
604
  Listener.struct_class = Types::Listener
596
605
 
597
606
  ListenerArns.member = Shapes::ShapeRef.new(shape: ListenerArn)
@@ -648,6 +657,7 @@ module Aws::ElasticLoadBalancingV2
648
657
  ModifyListenerInput.add_member(:ssl_policy, Shapes::ShapeRef.new(shape: SslPolicyName, location_name: "SslPolicy"))
649
658
  ModifyListenerInput.add_member(:certificates, Shapes::ShapeRef.new(shape: CertificateList, location_name: "Certificates"))
650
659
  ModifyListenerInput.add_member(:default_actions, Shapes::ShapeRef.new(shape: Actions, location_name: "DefaultActions"))
660
+ ModifyListenerInput.add_member(:alpn_policy, Shapes::ShapeRef.new(shape: AlpnPolicyName, location_name: "AlpnPolicy"))
651
661
  ModifyListenerInput.struct_class = Types::ModifyListenerInput
652
662
 
653
663
  ModifyListenerOutput.add_member(:listeners, Shapes::ShapeRef.new(shape: Listeners, location_name: "Listeners"))
@@ -986,6 +996,7 @@ module Aws::ElasticLoadBalancingV2
986
996
  o.errors << Shapes::ShapeRef.new(shape: TooManyActionsException)
987
997
  o.errors << Shapes::ShapeRef.new(shape: InvalidLoadBalancerActionException)
988
998
  o.errors << Shapes::ShapeRef.new(shape: TooManyUniqueTargetGroupsPerLoadBalancerException)
999
+ o.errors << Shapes::ShapeRef.new(shape: ALPNPolicyNotSupportedException)
989
1000
  end)
990
1001
 
991
1002
  api.add_operation(:create_load_balancer, Seahorse::Model::Operation.new.tap do |o|
@@ -1236,6 +1247,7 @@ module Aws::ElasticLoadBalancingV2
1236
1247
  o.errors << Shapes::ShapeRef.new(shape: TooManyActionsException)
1237
1248
  o.errors << Shapes::ShapeRef.new(shape: InvalidLoadBalancerActionException)
1238
1249
  o.errors << Shapes::ShapeRef.new(shape: TooManyUniqueTargetGroupsPerLoadBalancerException)
1250
+ o.errors << Shapes::ShapeRef.new(shape: ALPNPolicyNotSupportedException)
1239
1251
  end)
1240
1252
 
1241
1253
  api.add_operation(:modify_load_balancer_attributes, Seahorse::Model::Operation.new.tap do |o|
@@ -6,10 +6,79 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::ElasticLoadBalancingV2
9
+
10
+ # When ElasticLoadBalancingV2 returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::ElasticLoadBalancingV2::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all ElasticLoadBalancingV2 errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::ElasticLoadBalancingV2::Errors::ServiceError
18
+ # # rescues all ElasticLoadBalancingV2 API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {ALPNPolicyNotSupportedException}
29
+ # * {AllocationIdNotFoundException}
30
+ # * {AvailabilityZoneNotSupportedException}
31
+ # * {CertificateNotFoundException}
32
+ # * {DuplicateListenerException}
33
+ # * {DuplicateLoadBalancerNameException}
34
+ # * {DuplicateTagKeysException}
35
+ # * {DuplicateTargetGroupNameException}
36
+ # * {HealthUnavailableException}
37
+ # * {IncompatibleProtocolsException}
38
+ # * {InvalidConfigurationRequestException}
39
+ # * {InvalidLoadBalancerActionException}
40
+ # * {InvalidSchemeException}
41
+ # * {InvalidSecurityGroupException}
42
+ # * {InvalidSubnetException}
43
+ # * {InvalidTargetException}
44
+ # * {ListenerNotFoundException}
45
+ # * {LoadBalancerNotFoundException}
46
+ # * {OperationNotPermittedException}
47
+ # * {PriorityInUseException}
48
+ # * {ResourceInUseException}
49
+ # * {RuleNotFoundException}
50
+ # * {SSLPolicyNotFoundException}
51
+ # * {SubnetNotFoundException}
52
+ # * {TargetGroupAssociationLimitException}
53
+ # * {TargetGroupNotFoundException}
54
+ # * {TooManyActionsException}
55
+ # * {TooManyCertificatesException}
56
+ # * {TooManyListenersException}
57
+ # * {TooManyLoadBalancersException}
58
+ # * {TooManyRegistrationsForTargetIdException}
59
+ # * {TooManyRulesException}
60
+ # * {TooManyTagsException}
61
+ # * {TooManyTargetGroupsException}
62
+ # * {TooManyTargetsException}
63
+ # * {TooManyUniqueTargetGroupsPerLoadBalancerException}
64
+ # * {UnsupportedProtocolException}
65
+ #
66
+ # Additionally, error classes are dynamically generated for service errors based on the error code
67
+ # if they are not defined above.
9
68
  module Errors
10
69
 
11
70
  extend Aws::Errors::DynamicErrors
12
71
 
72
+ class ALPNPolicyNotSupportedException < ServiceError
73
+
74
+ # @param [Seahorse::Client::RequestContext] context
75
+ # @param [String] message
76
+ # @param [Aws::ElasticLoadBalancingV2::Types::ALPNPolicyNotSupportedException] data
77
+ def initialize(context, message, data = Aws::EmptyStructure.new)
78
+ super(context, message, data)
79
+ end
80
+ end
81
+
13
82
  class AllocationIdNotFoundException < ServiceError
14
83
 
15
84
  # @param [Seahorse::Client::RequestContext] context
@@ -18,7 +87,6 @@ module Aws::ElasticLoadBalancingV2
18
87
  def initialize(context, message, data = Aws::EmptyStructure.new)
19
88
  super(context, message, data)
20
89
  end
21
-
22
90
  end
23
91
 
24
92
  class AvailabilityZoneNotSupportedException < ServiceError
@@ -29,7 +97,6 @@ module Aws::ElasticLoadBalancingV2
29
97
  def initialize(context, message, data = Aws::EmptyStructure.new)
30
98
  super(context, message, data)
31
99
  end
32
-
33
100
  end
34
101
 
35
102
  class CertificateNotFoundException < ServiceError
@@ -40,7 +107,6 @@ module Aws::ElasticLoadBalancingV2
40
107
  def initialize(context, message, data = Aws::EmptyStructure.new)
41
108
  super(context, message, data)
42
109
  end
43
-
44
110
  end
45
111
 
46
112
  class DuplicateListenerException < ServiceError
@@ -51,7 +117,6 @@ module Aws::ElasticLoadBalancingV2
51
117
  def initialize(context, message, data = Aws::EmptyStructure.new)
52
118
  super(context, message, data)
53
119
  end
54
-
55
120
  end
56
121
 
57
122
  class DuplicateLoadBalancerNameException < ServiceError
@@ -62,7 +127,6 @@ module Aws::ElasticLoadBalancingV2
62
127
  def initialize(context, message, data = Aws::EmptyStructure.new)
63
128
  super(context, message, data)
64
129
  end
65
-
66
130
  end
67
131
 
68
132
  class DuplicateTagKeysException < ServiceError
@@ -73,7 +137,6 @@ module Aws::ElasticLoadBalancingV2
73
137
  def initialize(context, message, data = Aws::EmptyStructure.new)
74
138
  super(context, message, data)
75
139
  end
76
-
77
140
  end
78
141
 
79
142
  class DuplicateTargetGroupNameException < ServiceError
@@ -84,7 +147,6 @@ module Aws::ElasticLoadBalancingV2
84
147
  def initialize(context, message, data = Aws::EmptyStructure.new)
85
148
  super(context, message, data)
86
149
  end
87
-
88
150
  end
89
151
 
90
152
  class HealthUnavailableException < ServiceError
@@ -95,7 +157,6 @@ module Aws::ElasticLoadBalancingV2
95
157
  def initialize(context, message, data = Aws::EmptyStructure.new)
96
158
  super(context, message, data)
97
159
  end
98
-
99
160
  end
100
161
 
101
162
  class IncompatibleProtocolsException < ServiceError
@@ -106,7 +167,6 @@ module Aws::ElasticLoadBalancingV2
106
167
  def initialize(context, message, data = Aws::EmptyStructure.new)
107
168
  super(context, message, data)
108
169
  end
109
-
110
170
  end
111
171
 
112
172
  class InvalidConfigurationRequestException < ServiceError
@@ -117,7 +177,6 @@ module Aws::ElasticLoadBalancingV2
117
177
  def initialize(context, message, data = Aws::EmptyStructure.new)
118
178
  super(context, message, data)
119
179
  end
120
-
121
180
  end
122
181
 
123
182
  class InvalidLoadBalancerActionException < ServiceError
@@ -128,7 +187,6 @@ module Aws::ElasticLoadBalancingV2
128
187
  def initialize(context, message, data = Aws::EmptyStructure.new)
129
188
  super(context, message, data)
130
189
  end
131
-
132
190
  end
133
191
 
134
192
  class InvalidSchemeException < ServiceError
@@ -139,7 +197,6 @@ module Aws::ElasticLoadBalancingV2
139
197
  def initialize(context, message, data = Aws::EmptyStructure.new)
140
198
  super(context, message, data)
141
199
  end
142
-
143
200
  end
144
201
 
145
202
  class InvalidSecurityGroupException < ServiceError
@@ -150,7 +207,6 @@ module Aws::ElasticLoadBalancingV2
150
207
  def initialize(context, message, data = Aws::EmptyStructure.new)
151
208
  super(context, message, data)
152
209
  end
153
-
154
210
  end
155
211
 
156
212
  class InvalidSubnetException < ServiceError
@@ -161,7 +217,6 @@ module Aws::ElasticLoadBalancingV2
161
217
  def initialize(context, message, data = Aws::EmptyStructure.new)
162
218
  super(context, message, data)
163
219
  end
164
-
165
220
  end
166
221
 
167
222
  class InvalidTargetException < ServiceError
@@ -172,7 +227,6 @@ module Aws::ElasticLoadBalancingV2
172
227
  def initialize(context, message, data = Aws::EmptyStructure.new)
173
228
  super(context, message, data)
174
229
  end
175
-
176
230
  end
177
231
 
178
232
  class ListenerNotFoundException < ServiceError
@@ -183,7 +237,6 @@ module Aws::ElasticLoadBalancingV2
183
237
  def initialize(context, message, data = Aws::EmptyStructure.new)
184
238
  super(context, message, data)
185
239
  end
186
-
187
240
  end
188
241
 
189
242
  class LoadBalancerNotFoundException < ServiceError
@@ -194,7 +247,6 @@ module Aws::ElasticLoadBalancingV2
194
247
  def initialize(context, message, data = Aws::EmptyStructure.new)
195
248
  super(context, message, data)
196
249
  end
197
-
198
250
  end
199
251
 
200
252
  class OperationNotPermittedException < ServiceError
@@ -205,7 +257,6 @@ module Aws::ElasticLoadBalancingV2
205
257
  def initialize(context, message, data = Aws::EmptyStructure.new)
206
258
  super(context, message, data)
207
259
  end
208
-
209
260
  end
210
261
 
211
262
  class PriorityInUseException < ServiceError
@@ -216,7 +267,6 @@ module Aws::ElasticLoadBalancingV2
216
267
  def initialize(context, message, data = Aws::EmptyStructure.new)
217
268
  super(context, message, data)
218
269
  end
219
-
220
270
  end
221
271
 
222
272
  class ResourceInUseException < ServiceError
@@ -227,7 +277,6 @@ module Aws::ElasticLoadBalancingV2
227
277
  def initialize(context, message, data = Aws::EmptyStructure.new)
228
278
  super(context, message, data)
229
279
  end
230
-
231
280
  end
232
281
 
233
282
  class RuleNotFoundException < ServiceError
@@ -238,7 +287,6 @@ module Aws::ElasticLoadBalancingV2
238
287
  def initialize(context, message, data = Aws::EmptyStructure.new)
239
288
  super(context, message, data)
240
289
  end
241
-
242
290
  end
243
291
 
244
292
  class SSLPolicyNotFoundException < ServiceError
@@ -249,7 +297,6 @@ module Aws::ElasticLoadBalancingV2
249
297
  def initialize(context, message, data = Aws::EmptyStructure.new)
250
298
  super(context, message, data)
251
299
  end
252
-
253
300
  end
254
301
 
255
302
  class SubnetNotFoundException < ServiceError
@@ -260,7 +307,6 @@ module Aws::ElasticLoadBalancingV2
260
307
  def initialize(context, message, data = Aws::EmptyStructure.new)
261
308
  super(context, message, data)
262
309
  end
263
-
264
310
  end
265
311
 
266
312
  class TargetGroupAssociationLimitException < ServiceError
@@ -271,7 +317,6 @@ module Aws::ElasticLoadBalancingV2
271
317
  def initialize(context, message, data = Aws::EmptyStructure.new)
272
318
  super(context, message, data)
273
319
  end
274
-
275
320
  end
276
321
 
277
322
  class TargetGroupNotFoundException < ServiceError
@@ -282,7 +327,6 @@ module Aws::ElasticLoadBalancingV2
282
327
  def initialize(context, message, data = Aws::EmptyStructure.new)
283
328
  super(context, message, data)
284
329
  end
285
-
286
330
  end
287
331
 
288
332
  class TooManyActionsException < ServiceError
@@ -293,7 +337,6 @@ module Aws::ElasticLoadBalancingV2
293
337
  def initialize(context, message, data = Aws::EmptyStructure.new)
294
338
  super(context, message, data)
295
339
  end
296
-
297
340
  end
298
341
 
299
342
  class TooManyCertificatesException < ServiceError
@@ -304,7 +347,6 @@ module Aws::ElasticLoadBalancingV2
304
347
  def initialize(context, message, data = Aws::EmptyStructure.new)
305
348
  super(context, message, data)
306
349
  end
307
-
308
350
  end
309
351
 
310
352
  class TooManyListenersException < ServiceError
@@ -315,7 +357,6 @@ module Aws::ElasticLoadBalancingV2
315
357
  def initialize(context, message, data = Aws::EmptyStructure.new)
316
358
  super(context, message, data)
317
359
  end
318
-
319
360
  end
320
361
 
321
362
  class TooManyLoadBalancersException < ServiceError
@@ -326,7 +367,6 @@ module Aws::ElasticLoadBalancingV2
326
367
  def initialize(context, message, data = Aws::EmptyStructure.new)
327
368
  super(context, message, data)
328
369
  end
329
-
330
370
  end
331
371
 
332
372
  class TooManyRegistrationsForTargetIdException < ServiceError
@@ -337,7 +377,6 @@ module Aws::ElasticLoadBalancingV2
337
377
  def initialize(context, message, data = Aws::EmptyStructure.new)
338
378
  super(context, message, data)
339
379
  end
340
-
341
380
  end
342
381
 
343
382
  class TooManyRulesException < ServiceError
@@ -348,7 +387,6 @@ module Aws::ElasticLoadBalancingV2
348
387
  def initialize(context, message, data = Aws::EmptyStructure.new)
349
388
  super(context, message, data)
350
389
  end
351
-
352
390
  end
353
391
 
354
392
  class TooManyTagsException < ServiceError
@@ -359,7 +397,6 @@ module Aws::ElasticLoadBalancingV2
359
397
  def initialize(context, message, data = Aws::EmptyStructure.new)
360
398
  super(context, message, data)
361
399
  end
362
-
363
400
  end
364
401
 
365
402
  class TooManyTargetGroupsException < ServiceError
@@ -370,7 +407,6 @@ module Aws::ElasticLoadBalancingV2
370
407
  def initialize(context, message, data = Aws::EmptyStructure.new)
371
408
  super(context, message, data)
372
409
  end
373
-
374
410
  end
375
411
 
376
412
  class TooManyTargetsException < ServiceError
@@ -381,7 +417,6 @@ module Aws::ElasticLoadBalancingV2
381
417
  def initialize(context, message, data = Aws::EmptyStructure.new)
382
418
  super(context, message, data)
383
419
  end
384
-
385
420
  end
386
421
 
387
422
  class TooManyUniqueTargetGroupsPerLoadBalancerException < ServiceError
@@ -392,7 +427,6 @@ module Aws::ElasticLoadBalancingV2
392
427
  def initialize(context, message, data = Aws::EmptyStructure.new)
393
428
  super(context, message, data)
394
429
  end
395
-
396
430
  end
397
431
 
398
432
  class UnsupportedProtocolException < ServiceError
@@ -403,7 +437,6 @@ module Aws::ElasticLoadBalancingV2
403
437
  def initialize(context, message, data = Aws::EmptyStructure.new)
404
438
  super(context, message, data)
405
439
  end
406
-
407
440
  end
408
441
 
409
442
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::ElasticLoadBalancingV2
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -8,6 +8,12 @@
8
8
  module Aws::ElasticLoadBalancingV2
9
9
  module Types
10
10
 
11
+ # The specified ALPN policy is not supported.
12
+ #
13
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ALPNPolicyNotSupportedException AWS API Documentation
14
+ #
15
+ class ALPNPolicyNotSupportedException < Aws::EmptyStructure; end
16
+
11
17
  # Information about an action.
12
18
  #
13
19
  # @note When making an API call, you may pass Action
@@ -572,6 +578,7 @@ module Aws::ElasticLoadBalancingV2
572
578
  # },
573
579
  # },
574
580
  # ],
581
+ # alpn_policy: ["AlpnPolicyValue"],
575
582
  # }
576
583
  #
577
584
  # @!attribute [rw] load_balancer_arn
@@ -656,6 +663,29 @@ module Aws::ElasticLoadBalancingV2
656
663
  # custom HTTP response.
657
664
  # @return [Array<Types::Action>]
658
665
  #
666
+ # @!attribute [rw] alpn_policy
667
+ # \[TLS listeners\] The name of the Application-Layer Protocol
668
+ # Negotiation (ALPN) policy. You can specify one policy name. The
669
+ # following are the possible values:
670
+ #
671
+ # * `HTTP1Only`
672
+ #
673
+ # * `HTTP2Only`
674
+ #
675
+ # * `HTTP2Optional`
676
+ #
677
+ # * `HTTP2Preferred`
678
+ #
679
+ # * `None`
680
+ #
681
+ # For more information, see [ALPN Policies][1] in the *Network Load
682
+ # Balancers Guide*.
683
+ #
684
+ #
685
+ #
686
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
687
+ # @return [Array<String>]
688
+ #
659
689
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListenerInput AWS API Documentation
660
690
  #
661
691
  class CreateListenerInput < Struct.new(
@@ -664,7 +694,8 @@ module Aws::ElasticLoadBalancingV2
664
694
  :port,
665
695
  :ssl_policy,
666
696
  :certificates,
667
- :default_actions)
697
+ :default_actions,
698
+ :alpn_policy)
668
699
  include Aws::Structure
669
700
  end
670
701
 
@@ -2068,6 +2099,11 @@ module Aws::ElasticLoadBalancingV2
2068
2099
  # The default actions for the listener.
2069
2100
  # @return [Array<Types::Action>]
2070
2101
  #
2102
+ # @!attribute [rw] alpn_policy
2103
+ # \[TLS listener\] The name of the Application-Layer Protocol
2104
+ # Negotiation (ALPN) policy.
2105
+ # @return [Array<String>]
2106
+ #
2071
2107
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Listener AWS API Documentation
2072
2108
  #
2073
2109
  class Listener < Struct.new(
@@ -2077,7 +2113,8 @@ module Aws::ElasticLoadBalancingV2
2077
2113
  :protocol,
2078
2114
  :certificates,
2079
2115
  :ssl_policy,
2080
- :default_actions)
2116
+ :default_actions,
2117
+ :alpn_policy)
2081
2118
  include Aws::Structure
2082
2119
  end
2083
2120
 
@@ -2393,6 +2430,7 @@ module Aws::ElasticLoadBalancingV2
2393
2430
  # },
2394
2431
  # },
2395
2432
  # ],
2433
+ # alpn_policy: ["AlpnPolicyValue"],
2396
2434
  # }
2397
2435
  #
2398
2436
  # @!attribute [rw] listener_arn
@@ -2476,6 +2514,29 @@ module Aws::ElasticLoadBalancingV2
2476
2514
  # custom HTTP response.
2477
2515
  # @return [Array<Types::Action>]
2478
2516
  #
2517
+ # @!attribute [rw] alpn_policy
2518
+ # \[TLS listeners\] The name of the Application-Layer Protocol
2519
+ # Negotiation (ALPN) policy. You can specify one policy name. The
2520
+ # following are the possible values:
2521
+ #
2522
+ # * `HTTP1Only`
2523
+ #
2524
+ # * `HTTP2Only`
2525
+ #
2526
+ # * `HTTP2Optional`
2527
+ #
2528
+ # * `HTTP2Preferred`
2529
+ #
2530
+ # * `None`
2531
+ #
2532
+ # For more information, see [ALPN Policies][1] in the *Network Load
2533
+ # Balancers Guide*.
2534
+ #
2535
+ #
2536
+ #
2537
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
2538
+ # @return [Array<String>]
2539
+ #
2479
2540
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListenerInput AWS API Documentation
2480
2541
  #
2481
2542
  class ModifyListenerInput < Struct.new(
@@ -2484,7 +2545,8 @@ module Aws::ElasticLoadBalancingV2
2484
2545
  :protocol,
2485
2546
  :ssl_policy,
2486
2547
  :certificates,
2487
- :default_actions)
2548
+ :default_actions,
2549
+ :alpn_policy)
2488
2550
  include Aws::Structure
2489
2551
  end
2490
2552
 
@@ -3834,8 +3896,9 @@ module Aws::ElasticLoadBalancingV2
3834
3896
  # values are `lb_cookie` for Application Load Balancers or
3835
3897
  # `source_ip` for Network Load Balancers.
3836
3898
  #
3837
- # The following attributes are supported by Application Load Balancers
3838
- # if the target is not a Lambda function:
3899
+ # The following attributes are supported only if the load balancer is
3900
+ # an Application Load Balancer and the target is an instance or an IP
3901
+ # address:
3839
3902
  #
3840
3903
  # * `load_balancing.algorithm.type` - The load balancing algorithm
3841
3904
  # determines how the load balancer selects targets when routing
@@ -3843,11 +3906,11 @@ module Aws::ElasticLoadBalancingV2
3843
3906
  # `least_outstanding_requests`. The default is `round_robin`.
3844
3907
  #
3845
3908
  # * `slow_start.duration_seconds` - The time period, in seconds,
3846
- # during which a newly registered target receives a linearly
3847
- # increasing share of the traffic to the target group. After this
3848
- # time period ends, the target receives its full share of traffic.
3849
- # The range is 30-900 seconds (15 minutes). Slow start mode is
3850
- # disabled by default.
3909
+ # during which a newly registered target receives an increasing
3910
+ # share of the traffic to the target group. After this time period
3911
+ # ends, the target receives its full share of traffic. The range is
3912
+ # 30-900 seconds (15 minutes). Slow start mode is disabled by
3913
+ # default.
3851
3914
  #
3852
3915
  # * `stickiness.lb_cookie.duration_seconds` - The time period, in
3853
3916
  # seconds, during which requests from a client should be routed to
@@ -3856,16 +3919,16 @@ module Aws::ElasticLoadBalancingV2
3856
3919
  # second to 1 week (604800 seconds). The default value is 1 day
3857
3920
  # (86400 seconds).
3858
3921
  #
3859
- # The following attribute is supported only if the target is a Lambda
3860
- # function.
3922
+ # The following attribute is supported only if the load balancer is an
3923
+ # Application Load Balancer and the target is a Lambda function:
3861
3924
  #
3862
3925
  # * `lambda.multi_value_headers.enabled` - Indicates whether the
3863
- # request and response headers exchanged between the load balancer
3864
- # and the Lambda function include arrays of values or strings. The
3865
- # value is `true` or `false`. The default is `false`. If the value
3866
- # is `false` and the request contains a duplicate header field name
3867
- # or query parameter key, the load balancer uses the last value sent
3868
- # by the client.
3926
+ # request and response headers that are exchanged between the load
3927
+ # balancer and the Lambda function include arrays of values or
3928
+ # strings. The value is `true` or `false`. The default is `false`.
3929
+ # If the value is `false` and the request contains a duplicate
3930
+ # header field name or query parameter key, the load balancer uses
3931
+ # the last value sent by the client.
3869
3932
  #
3870
3933
  # ^
3871
3934
  #
@@ -8,6 +8,71 @@
8
8
  require 'aws-sdk-core/waiters'
9
9
 
10
10
  module Aws::ElasticLoadBalancingV2
11
+ # Waiters are utility methods that poll for a particular state to occur
12
+ # on a client. Waiters can fail after a number of attempts at a polling
13
+ # interval defined for the service client.
14
+ #
15
+ # For a list of operations that can be waited for and the
16
+ # client methods called for each operation, see the table below or the
17
+ # {Client#wait_until} field documentation for the {Client}.
18
+ #
19
+ # # Invoking a Waiter
20
+ # To invoke a waiter, call #wait_until on a {Client}. The first parameter
21
+ # is the waiter name, which is specific to the service client and indicates
22
+ # which operation is being waited for. The second parameter is a hash of
23
+ # parameters that are passed to the client method called by the waiter,
24
+ # which varies according to the waiter name.
25
+ #
26
+ # # Wait Failures
27
+ # To catch errors in a waiter, use WaiterFailed,
28
+ # as shown in the following example.
29
+ #
30
+ # rescue rescue Aws::Waiters::Errors::WaiterFailed => error
31
+ # puts "failed waiting for instance running: #{error.message}
32
+ # end
33
+ #
34
+ # # Configuring a Waiter
35
+ # Each waiter has a default polling interval and a maximum number of
36
+ # attempts it will make before returning control to your program.
37
+ # To set these values, use the `max_attempts` and `delay` parameters
38
+ # in your `#wait_until` call.
39
+ # The following example waits for up to 25 seconds, polling every five seconds.
40
+ #
41
+ # client.wait_until(...) do |w|
42
+ # w.max_attempts = 5
43
+ # w.delay = 5
44
+ # end
45
+ #
46
+ # To disable wait failures, set the value of either of these parameters
47
+ # to `nil`.
48
+ #
49
+ # # Extending a Waiter
50
+ # To modify the behavior of waiters, you can register callbacks that are
51
+ # triggered before each polling attempt and before waiting.
52
+ #
53
+ # The following example implements an exponential backoff in a waiter
54
+ # by doubling the amount of time to wait on every attempt.
55
+ #
56
+ # client.wait_until(...) do |w|
57
+ # w.interval = 0 # disable normal sleep
58
+ # w.before_wait do |n, resp|
59
+ # sleep(n ** 2)
60
+ # end
61
+ # end
62
+ #
63
+ # # Available Waiters
64
+ #
65
+ # The following table lists the valid waiter names, the operations they call,
66
+ # and the default `:delay` and `:max_attempts` values.
67
+ #
68
+ # | waiter_name | params | :delay | :max_attempts |
69
+ # | ----------------------- | -------------------------------- | -------- | ------------- |
70
+ # | load_balancer_available | {Client#describe_load_balancers} | 15 | 40 |
71
+ # | load_balancer_exists | {Client#describe_load_balancers} | 15 | 40 |
72
+ # | load_balancers_deleted | {Client#describe_load_balancers} | 15 | 40 |
73
+ # | target_deregistered | {Client#describe_target_health} | 15 | 40 |
74
+ # | target_in_service | {Client#describe_target_health} | 15 | 40 |
75
+ #
11
76
  module Waiters
12
77
 
13
78
  class LoadBalancerAvailable
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-elasticloadbalancingv2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.40.1
4
+ version: 1.45.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-02 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.71.0
22
+ version: 3.99.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.71.0
32
+ version: 3.99.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  version: '0'
83
83
  requirements: []
84
84
  rubyforge_project:
85
- rubygems_version: 2.5.2.3
85
+ rubygems_version: 2.7.6.2
86
86
  signing_key:
87
87
  specification_version: 4
88
88
  summary: AWS SDK for Ruby - Elastic Load Balancing v2