aws-sdk-elasticloadbalancingv2 1.80.0 → 1.82.0

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
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