aws-sdk-elasticloadbalancingv2 1.80.0 → 1.82.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f00f6639c66b0d191e31bffcd6976dc90fb621cb26561a47e658dca1e2e06b2
4
- data.tar.gz: 145ab9d24da6556a977d261edc53fc261b6c4b56f7db35ad2e2e93060182fbc7
3
+ metadata.gz: 36d909b9b23256884bc26bddafe347ba7c3dfb16d0e00284e6153ccd6123c7ad
4
+ data.tar.gz: 63202f0eab4ba398fab80bbb7db0c4bdfd4c994c76eacaf8fdb545263b104d34
5
5
  SHA512:
6
- metadata.gz: 9b506e363c3986191883a5e93fb4eb0ec623554a658505a28595e49458d16fbf426b97d7213428648daea6569caf88d3c48ee339fcdae898f664f93f47186cc5
7
- data.tar.gz: b47975cd6781bfe4f5d0bec27e7b1d34b38845f51c97b913f6feae38740cd7e2fec696d1eedc6c2363ef234848afd2d36188d2f77e43a372040563ef1e5ced8d
6
+ metadata.gz: da94a977d782fa8f420b76da6ba561510bbfaad3cdcaab4c0f9849e3e0498f76e0d0abe57eee143694249a889354f1d2c0fd88d72d26195c3a12cc93b46585ff
7
+ data.tar.gz: fb0b7e32c43fc1510e56510e525fc8a76ddd6a63f121612d5e0ec4b90011ea51899bd8e23dbe3e1e152308a2e78431c34cab2e25ee4ec59667159b2e0d38410f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.82.0 (2022-11-17)
5
+ ------------------
6
+
7
+ * Feature - Provides new target group attributes to turn on/off cross zone load balancing and configure target group health for Network Load Balancers and Application Load Balancers. Provides improvements to health check configuration for Network Load Balancers.
8
+
9
+ 1.81.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.80.0 (2022-10-07)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.80.0
1
+ 1.82.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/query.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:elasticloadbalancingv2)
@@ -79,8 +79,9 @@ module Aws::ElasticLoadBalancingV2
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::Query)
84
+ add_plugin(Aws::ElasticLoadBalancingV2::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::ElasticLoadBalancingV2
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::ElasticLoadBalancingV2
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::ElasticLoadBalancingV2::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::ElasticLoadBalancingV2::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -1396,39 +1413,39 @@ module Aws::ElasticLoadBalancingV2
1396
1413
  #
1397
1414
  # @option params [Integer] :health_check_interval_seconds
1398
1415
  # The approximate amount of time, in seconds, between health checks of
1399
- # an individual target. If the target group protocol is HTTP or HTTPS,
1400
- # the default is 30 seconds. If the target group protocol is TCP, TLS,
1401
- # UDP, or TCP\_UDP, the supported values are 10 and 30 seconds and the
1402
- # default is 30 seconds. If the target group protocol is GENEVE, the
1403
- # default is 10 seconds. If the target type is `lambda`, the default is
1404
- # 35 seconds.
1416
+ # an individual target. The range is 5-300. If the target group protocol
1417
+ # is TCP, TLS, UDP, TCP\_UDP, HTTP or HTTPS, the default is 30 seconds.
1418
+ # If the target group protocol is GENEVE, the default is 10 seconds. If
1419
+ # the target type is `lambda`, the default is 35 seconds.
1405
1420
  #
1406
1421
  # @option params [Integer] :health_check_timeout_seconds
1407
1422
  # The amount of time, in seconds, during which no response from a target
1408
- # means a failed health check. For target groups with a protocol of
1409
- # HTTP, HTTPS, or GENEVE, the default is 5 seconds. For target groups
1410
- # with a protocol of TCP or TLS, this value must be 6 seconds for HTTP
1411
- # health checks and 10 seconds for TCP and HTTPS health checks. If the
1412
- # target type is `lambda`, the default is 30 seconds.
1423
+ # means a failed health check. The range is 2–120 seconds. For target
1424
+ # groups with a protocol of HTTP, the default is 6 seconds. For target
1425
+ # groups with a protocol of TCP, TLS or HTTPS, the default is 10
1426
+ # seconds. For target groups with a protocol of GENEVE, the default is 5
1427
+ # seconds. If the target type is `lambda`, the default is 30 seconds.
1413
1428
  #
1414
1429
  # @option params [Integer] :healthy_threshold_count
1415
- # The number of consecutive health checks successes required before
1416
- # considering an unhealthy target healthy. For target groups with a
1417
- # protocol of HTTP or HTTPS, the default is 5. For target groups with a
1418
- # protocol of TCP, TLS, or GENEVE, the default is 3. If the target type
1419
- # is `lambda`, the default is 5.
1430
+ # The number of consecutive health check successes required before
1431
+ # considering a target healthy. The range is 2-10. If the target group
1432
+ # protocol is TCP, TCP\_UDP, UDP, TLS, HTTP or HTTPS, the default is 5.
1433
+ # For target groups with a protocol of GENEVE, the default is 3. If the
1434
+ # target type is `lambda`, the default is 5.
1420
1435
  #
1421
1436
  # @option params [Integer] :unhealthy_threshold_count
1422
1437
  # The number of consecutive health check failures required before
1423
- # considering a target unhealthy. If the target group protocol is HTTP
1424
- # or HTTPS, the default is 2. If the target group protocol is TCP or
1425
- # TLS, this value must be the same as the healthy threshold count. If
1426
- # the target group protocol is GENEVE, the default is 3. If the target
1427
- # type is `lambda`, the default is 2.
1438
+ # considering a target unhealthy. The range is 2-10. If the target group
1439
+ # protocol is TCP, TCP\_UDP, UDP, TLS, HTTP or HTTPS, the default is 2.
1440
+ # For target groups with a protocol of GENEVE, the default is 3. If the
1441
+ # target type is `lambda`, the default is 5.
1428
1442
  #
1429
1443
  # @option params [Types::Matcher] :matcher
1430
1444
  # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
1431
- # checking for a successful response from a target.
1445
+ # checking for a successful response from a target. For target groups
1446
+ # with a protocol of TCP, TCP\_UDP, UDP or TLS the range is 200-599. For
1447
+ # target groups with a protocol of HTTP or HTTPS, the range is 200-499.
1448
+ # For target groups with a protocol of GENEVE, the range is 200-399.
1432
1449
  #
1433
1450
  # @option params [String] :target_type
1434
1451
  # The type of target that you must specify when registering targets with
@@ -3559,10 +3576,6 @@ module Aws::ElasticLoadBalancingV2
3559
3576
  # Modifies the health checks used when evaluating the health state of
3560
3577
  # the targets in the specified target group.
3561
3578
  #
3562
- # If the protocol of the target group is TCP, TLS, UDP, or TCP\_UDP, you
3563
- # can't modify the health check protocol, interval, timeout, or success
3564
- # codes.
3565
- #
3566
3579
  # @option params [required, String] :target_group_arn
3567
3580
  # The Amazon Resource Name (ARN) of the target group.
3568
3581
  #
@@ -3595,8 +3608,7 @@ module Aws::ElasticLoadBalancingV2
3595
3608
  #
3596
3609
  # @option params [Integer] :health_check_interval_seconds
3597
3610
  # The approximate amount of time, in seconds, between health checks of
3598
- # an individual target. For TCP health checks, the supported values are
3599
- # 10 or 30 seconds.
3611
+ # an individual target.
3600
3612
  #
3601
3613
  # @option params [Integer] :health_check_timeout_seconds
3602
3614
  # \[HTTP/HTTPS health checks\] The amount of time, in seconds, during
@@ -3608,13 +3620,14 @@ module Aws::ElasticLoadBalancingV2
3608
3620
  #
3609
3621
  # @option params [Integer] :unhealthy_threshold_count
3610
3622
  # The number of consecutive health check failures required before
3611
- # considering the target unhealthy. For target groups with a protocol of
3612
- # TCP or TLS, this value must be the same as the healthy threshold
3613
- # count.
3623
+ # considering the target unhealthy.
3614
3624
  #
3615
3625
  # @option params [Types::Matcher] :matcher
3616
3626
  # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
3617
- # checking for a successful response from a target.
3627
+ # checking for a successful response from a target. For target groups
3628
+ # with a protocol of TCP, TCP\_UDP, UDP or TLS the range is 200-599. For
3629
+ # target groups with a protocol of HTTP or HTTPS, the range is 200-499.
3630
+ # For target groups with a protocol of GENEVE, the range is 200-399.
3618
3631
  #
3619
3632
  # @return [Types::ModifyTargetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3620
3633
  #
@@ -4313,7 +4326,7 @@ module Aws::ElasticLoadBalancingV2
4313
4326
  params: params,
4314
4327
  config: config)
4315
4328
  context[:gem_name] = 'aws-sdk-elasticloadbalancingv2'
4316
- context[:gem_version] = '1.80.0'
4329
+ context[:gem_version] = '1.82.0'
4317
4330
  Seahorse::Client::Request.new(handlers, context)
4318
4331
  end
4319
4332
 
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ElasticLoadBalancingV2
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ElasticLoadBalancingV2
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL2VsYXN0aWNsb2FkYmFsYW5jaW5nLWZpcHMu
77
+ e1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9
78
+ IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBv
79
+ aW50In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1
80
+ YWxTdGFjayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMg
81
+ bm90IHN1cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsi
82
+ Y29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3si
83
+ cmVmIjoiVXNlRklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMi
84
+ Olt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3Yi
85
+ Olt0cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0
86
+ aW9uUmVzdWx0In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUi
87
+ LCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVs
88
+ ZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJn
89
+ diI6WyJhd3MtdXMtZ292Iix7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJl
90
+ ZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJuYW1lIl19XX1dLCJlbmRwb2ludCI6
91
+ eyJ1cmwiOiJodHRwczovL2VsYXN0aWNsb2FkYmFsYW5jaW5nLntSZWdpb259
92
+ LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9
93
+ LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9u
94
+ cyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZWxhc3RpY2xvYWRi
95
+ YWxhbmNpbmctZmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1
96
+ ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoi
97
+ ZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBT
98
+ IGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBv
99
+ cnQgRklQUyIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJm
100
+ biI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3Rh
101
+ Y2sifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
102
+ b25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZu
103
+ IjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9
104
+ LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxl
105
+ cyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBz
106
+ Oi8vZWxhc3RpY2xvYWRiYWxhbmNpbmcue1JlZ2lvbn0ue1BhcnRpdGlvblJl
107
+ c3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhl
108
+ YWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMi
109
+ OltdLCJlcnJvciI6IkR1YWxTdGFjayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBh
110
+ cnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IER1YWxTdGFjayIsInR5cGUiOiJl
111
+ cnJvciJ9XX0seyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoi
112
+ aHR0cHM6Ly9lbGFzdGljbG9hZGJhbGFuY2luZy57UmVnaW9ufS57UGFydGl0
113
+ aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVy
114
+ cyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
115
+
116
+ JSON
117
+ end
118
+ end