aws-sdk-storagegateway 1.67.0 → 1.69.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: efb632a9e84a6e0dc84b8e438919196f6bdc68f45acc78ee6b893848dad130db
4
- data.tar.gz: 7e4cec7bee6378f9f2b405638622b7c761a7861d5b2f19401fc4d06a3603bcb4
3
+ metadata.gz: 6f62d905a84e50fa08341a58e1444f6875cb6f7968f1de35e86f4a9504ef3eb5
4
+ data.tar.gz: f76aa9b6306e86b1354d204a6ddbaacaa4420d445503b8c0e21cf005198a81d2
5
5
  SHA512:
6
- metadata.gz: ccf6202a1f1ef7ab97bb19b877f45e348a7aa80c67fd8a6c49cb42f5bff9d81043a1f6f3c1f4b0fa6889fa0064d1ee32ae9cb3abf677ec114ab265a0c034f419
7
- data.tar.gz: 52567b1ecedba3a0e916512386f0af3a916c1c7db123ace69d7b36c74d95b24346491a7128b8bc1b005a6284d3b1694243ceca2732883a5bb9a87281ab5fd2f2
6
+ metadata.gz: 0eb5795a39004f3f091a398faae8225fe7496d66cd71df994a3fbfa16a1c904cfafacf49596d15a4eef8a8338f79e2e5042f02ace805a7c966edd1fcd2329abd
7
+ data.tar.gz: 8a347ef997dff947c23385a844fb97a3d70e452a581b377e54b8c48e3c3fadade58eae312de6932a88141aa06baa66a6add5a5aef62eefbec9eac31c4883ac00
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.69.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.68.0 (2022-04-21)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for minimum of 5 character length virtual tape barcodes.
13
+
4
14
  1.67.0 (2022-02-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.67.0
1
+ 1.69.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/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:storagegateway)
@@ -79,8 +79,9 @@ module Aws::StorageGateway
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::JsonRpc)
84
+ add_plugin(Aws::StorageGateway::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::StorageGateway
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::StorageGateway
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::StorageGateway::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::StorageGateway::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -787,8 +804,6 @@ module Aws::StorageGateway
787
804
  # is archived directly into the S3 storage class (S3 Glacier or S3
788
805
  # Glacier Deep Archive) that corresponds to the pool.
789
806
  #
790
- # Valid Values: `GLACIER` \| `DEEP_ARCHIVE`
791
- #
792
807
  # @option params [required, String] :tape_arn
793
808
  # The unique Amazon Resource Name (ARN) of the virtual tape that you
794
809
  # want to add to the tape pool.
@@ -800,8 +815,6 @@ module Aws::StorageGateway
800
815
  # eject the tape, the tape is archived directly into the storage class
801
816
  # (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.
802
817
  #
803
- # Valid Values: `GLACIER` \| `DEEP_ARCHIVE`
804
- #
805
818
  # @option params [Boolean] :bypass_governance_retention
806
819
  # Set permissions to bypass governance retention. If the lock type of
807
820
  # the archived tape is `Governance`, the tape's archived age is not
@@ -1330,8 +1343,7 @@ module Aws::StorageGateway
1330
1343
  #
1331
1344
  # @option params [String] :default_storage_class
1332
1345
  # The default storage class for objects put into an Amazon S3 bucket by
1333
- # the S3 File Gateway. The default value is `S3_INTELLIGENT_TIERING`.
1334
- # Optional.
1346
+ # the S3 File Gateway. The default value is `S3_STANDARD`. Optional.
1335
1347
  #
1336
1348
  # Valid Values: `S3_STANDARD` \| `S3_INTELLIGENT_TIERING` \|
1337
1349
  # `S3_STANDARD_IA` \| `S3_ONEZONE_IA`
@@ -1588,8 +1600,7 @@ module Aws::StorageGateway
1588
1600
  #
1589
1601
  # @option params [String] :default_storage_class
1590
1602
  # The default storage class for objects put into an Amazon S3 bucket by
1591
- # the S3 File Gateway. The default value is `S3_INTELLIGENT_TIERING`.
1592
- # Optional.
1603
+ # the S3 File Gateway. The default value is `S3_STANDARD`. Optional.
1593
1604
  #
1594
1605
  # Valid Values: `S3_STANDARD` \| `S3_INTELLIGENT_TIERING` \|
1595
1606
  # `S3_STANDARD_IA` \| `S3_ONEZONE_IA`
@@ -2287,8 +2298,6 @@ module Aws::StorageGateway
2287
2298
  # eject the tape, the tape is archived directly into the storage class
2288
2299
  # (S3 Glacier or S3 Deep Archive) that corresponds to the pool.
2289
2300
  #
2290
- # Valid Values: `GLACIER` \| `DEEP_ARCHIVE`
2291
- #
2292
2301
  # @option params [Boolean] :worm
2293
2302
  # Set to `TRUE` if the tape you are creating is to be configured as a
2294
2303
  # write-once-read-many (WORM) tape.
@@ -2419,8 +2428,6 @@ module Aws::StorageGateway
2419
2428
  # eject the tape, the tape is archived directly into the storage class
2420
2429
  # (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.
2421
2430
  #
2422
- # Valid Values: `GLACIER` \| `DEEP_ARCHIVE`
2423
- #
2424
2431
  # @option params [Boolean] :worm
2425
2432
  # Set to `TRUE` if the tape you are creating is to be configured as a
2426
2433
  # write-once-read-many (WORM) tape.
@@ -2753,7 +2760,7 @@ module Aws::StorageGateway
2753
2760
  # for a volume. For more information, see [Backing up your volumes][1].
2754
2761
  # In the `DeleteSnapshotSchedule` request, you identify the volume by
2755
2762
  # providing its Amazon Resource Name (ARN). This operation is only
2756
- # supported in stored and cached volume gateway types.
2763
+ # supported for cached volume gateway types.
2757
2764
  #
2758
2765
  # <note markdown="1"> To list or delete a snapshot, you must use the Amazon EC2 API. For
2759
2766
  # more information, go to [DescribeSnapshots][2] in the *Amazon Elastic
@@ -5391,7 +5398,7 @@ module Aws::StorageGateway
5391
5398
  end
5392
5399
 
5393
5400
  # Sends you notification through CloudWatch Events when all files
5394
- # written to your file share have been uploaded to Amazon S3.
5401
+ # written to your file share have been uploaded to S3. Amazon S3.
5395
5402
  #
5396
5403
  # Storage Gateway can send a notification through Amazon CloudWatch
5397
5404
  # Events when all files written to your file share up to that point in
@@ -5467,10 +5474,21 @@ module Aws::StorageGateway
5467
5474
  # additional requests. For more information, see [Getting notified about
5468
5475
  # file operations][1] in the *Storage Gateway User Guide*.
5469
5476
  #
5470
- # If you invoke the RefreshCache API when two requests are already being
5471
- # processed, any new request will cause an
5472
- # `InvalidGatewayRequestException` error because too many requests were
5473
- # sent to the server.
5477
+ # * Wait at least 60 seconds between consecutive RefreshCache API
5478
+ # requests.
5479
+ #
5480
+ # * RefreshCache does not evict cache entries if invoked consecutively
5481
+ # within 60 seconds of a previous RefreshCache request.
5482
+ #
5483
+ # * If you invoke the RefreshCache API when two requests are already
5484
+ # being processed, any new request will cause an
5485
+ # `InvalidGatewayRequestException` error because too many requests
5486
+ # were sent to the server.
5487
+ #
5488
+ # <note markdown="1"> The S3 bucket name does not need to be included when entering the list
5489
+ # of folders in the FolderList parameter.
5490
+ #
5491
+ # </note>
5474
5492
  #
5475
5493
  # For more information, see [Getting notified about file operations][1]
5476
5494
  # in the *Storage Gateway User Guide*.
@@ -6580,8 +6598,7 @@ module Aws::StorageGateway
6580
6598
  #
6581
6599
  # @option params [String] :default_storage_class
6582
6600
  # The default storage class for objects put into an Amazon S3 bucket by
6583
- # the S3 File Gateway. The default value is `S3_INTELLIGENT_TIERING`.
6584
- # Optional.
6601
+ # the S3 File Gateway. The default value is `S3_STANDARD`. Optional.
6585
6602
  #
6586
6603
  # Valid Values: `S3_STANDARD` \| `S3_INTELLIGENT_TIERING` \|
6587
6604
  # `S3_STANDARD_IA` \| `S3_ONEZONE_IA`
@@ -6759,8 +6776,7 @@ module Aws::StorageGateway
6759
6776
  #
6760
6777
  # @option params [String] :default_storage_class
6761
6778
  # The default storage class for objects put into an Amazon S3 bucket by
6762
- # the S3 File Gateway. The default value is `S3_INTELLIGENT_TIERING`.
6763
- # Optional.
6779
+ # the S3 File Gateway. The default value is `S3_STANDARD`. Optional.
6764
6780
  #
6765
6781
  # Valid Values: `S3_STANDARD` \| `S3_INTELLIGENT_TIERING` \|
6766
6782
  # `S3_STANDARD_IA` \| `S3_ONEZONE_IA`
@@ -7222,7 +7238,7 @@ module Aws::StorageGateway
7222
7238
  params: params,
7223
7239
  config: config)
7224
7240
  context[:gem_name] = 'aws-sdk-storagegateway'
7225
- context[:gem_version] = '1.67.0'
7241
+ context[:gem_version] = '1.69.0'
7226
7242
  Seahorse::Client::Request.new(handlers, context)
7227
7243
  end
7228
7244
 
@@ -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::StorageGateway
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,112 @@
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::StorageGateway
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
+ dCI6eyJ1cmwiOiJodHRwczovL3N0b3JhZ2VnYXRld2F5LWZpcHMue1JlZ2lv
77
+ bn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJv
78
+ cGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1d
79
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFj
80
+ ayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1
81
+ cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0
82
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
83
+ VXNlRklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
84
+ bmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVl
85
+ LHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVz
86
+ dWx0In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxl
87
+ cyI6W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
88
+ ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3N0
89
+ b3JhZ2VnYXRld2F5LWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNk
90
+ bnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
91
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoi
92
+ RklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBz
93
+ dXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
94
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVh
95
+ bFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
96
+ ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUs
97
+ eyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1
98
+ bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwi
99
+ cnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJo
100
+ dHRwczovL3N0b3JhZ2VnYXRld2F5LntSZWdpb259LntQYXJ0aXRpb25SZXN1
101
+ bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFk
102
+ ZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpb
103
+ XSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0
104
+ aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJy
105
+ b3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0
106
+ dHBzOi8vc3RvcmFnZWdhdGV3YXkue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3Vs
107
+ dCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwi
108
+ dHlwZSI6ImVuZHBvaW50In1dfV19
109
+
110
+ JSON
111
+ end
112
+ end