aws-sdk-rds 1.156.0 → 1.157.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: 5dba65aa86909d37219eea5e309a32867787fa1e3a09a38808b6832784d71074
4
- data.tar.gz: ecaf303c9a600d12fbd3dc17c62cb4b0d6b121e653b4b0b53b0a968d2f4e25dc
3
+ metadata.gz: b1e8d3862902bf29c15e9a4b6f1fff6686e740870b9ea437681adb52d95df817
4
+ data.tar.gz: 803c7833bf32b7372f518f276d9bd1afb6fb209bfbba01bfb3e382eb22191d54
5
5
  SHA512:
6
- metadata.gz: 3af0d6edbfe17f9415fe039294544d0b0dbe59825f4ccabb074fa016defef85f5ab5ef5ddf8ff61796f37fb17c17919c0626dac22f5c05b807d253093ff9b2bb
7
- data.tar.gz: e5622ab5ff112e847588008e9976b370bbbd672a16809d4a1dad6f18cc037c762d0c58c8c90a2a734d7c29936fbd02d68949d36dbfd7f04826b349826315ccb1
6
+ metadata.gz: 1e594e98a5e9cf0bc7e0dddecb7924a0d8de44842c0ad896bde42994b92c997bc1e53bd64c2d5cfd180f411f138c6573dc810c7a23e238eefe16ee94b77915c3
7
+ data.tar.gz: a9b361ad976f3e005de2c705b8c9ad74d39951f9857e86589f018e8b055cc715ba4d950a8d8df4cbd2e1744f352dd3d17aa4e8933e6c8d6e6cbd03ae0e3ee6b3
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.157.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Relational Database Service - This release adds support for exporting DB cluster data to Amazon S3.
8
+
4
9
  1.156.0 (2022-09-19)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.156.0
1
+ 1.157.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
  require 'aws-sdk-rds/plugins/cross_region_copying.rb'
36
36
 
@@ -80,9 +80,10 @@ module Aws::RDS
80
80
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
81
  add_plugin(Aws::Plugins::DefaultsMode)
82
82
  add_plugin(Aws::Plugins::RecursionDetection)
83
- add_plugin(Aws::Plugins::SignatureV4)
83
+ add_plugin(Aws::Plugins::Sign)
84
84
  add_plugin(Aws::Plugins::Protocols::Query)
85
85
  add_plugin(Aws::RDS::Plugins::CrossRegionCopying)
86
+ add_plugin(Aws::RDS::Plugins::Endpoints)
86
87
 
87
88
  # @overload initialize(options)
88
89
  # @param [Hash] options
@@ -289,6 +290,19 @@ module Aws::RDS
289
290
  # ** Please note ** When response stubbing is enabled, no HTTP
290
291
  # requests are made, and retries are disabled.
291
292
  #
293
+ # @option options [Aws::TokenProvider] :token_provider
294
+ # A Bearer Token Provider. This can be an instance of any one of the
295
+ # following classes:
296
+ #
297
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
298
+ # tokens.
299
+ #
300
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
301
+ # access token generated from `aws login`.
302
+ #
303
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
304
+ # will be used to search for tokens configured for your profile in shared configuration files.
305
+ #
292
306
  # @option options [Boolean] :use_dualstack_endpoint
293
307
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
294
308
  # will be used if available.
@@ -302,6 +316,9 @@ module Aws::RDS
302
316
  # When `true`, request parameters are validated before
303
317
  # sending the request.
304
318
  #
319
+ # @option options [Aws::RDS::EndpointProvider] :endpoint_provider
320
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::RDS::EndpointParameters`
321
+ #
305
322
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
306
323
  # requests through. Formatted like 'http://proxy.com:123'.
307
324
  #
@@ -892,6 +909,7 @@ module Aws::RDS
892
909
  # * {Types::ExportTask#total_extracted_data_in_gb #total_extracted_data_in_gb} => Integer
893
910
  # * {Types::ExportTask#failure_cause #failure_cause} => String
894
911
  # * {Types::ExportTask#warning_message #warning_message} => String
912
+ # * {Types::ExportTask#source_type #source_type} => String
895
913
  #
896
914
  # @example Request syntax with placeholder values
897
915
  #
@@ -917,6 +935,7 @@ module Aws::RDS
917
935
  # resp.total_extracted_data_in_gb #=> Integer
918
936
  # resp.failure_cause #=> String
919
937
  # resp.warning_message #=> String
938
+ # resp.source_type #=> String, one of "SNAPSHOT", "CLUSTER"
920
939
  #
921
940
  # @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CancelExportTask AWS API Documentation
922
941
  #
@@ -10820,6 +10839,10 @@ module Aws::RDS
10820
10839
  #
10821
10840
  # * `aurora-postgresql13`
10822
10841
  #
10842
+ # * `aurora-postgresql14`
10843
+ #
10844
+ # * `custom-oracle-ee-19`
10845
+ #
10823
10846
  # * `mariadb10.2`
10824
10847
  #
10825
10848
  # * `mariadb10.3`
@@ -10834,6 +10857,18 @@ module Aws::RDS
10834
10857
  #
10835
10858
  # * `mysql8.0`
10836
10859
  #
10860
+ # * `oracle-ee-19`
10861
+ #
10862
+ # * `oracle-ee-cdb-19`
10863
+ #
10864
+ # * `oracle-ee-cdb-21`
10865
+ #
10866
+ # * `oracle-se2-19`
10867
+ #
10868
+ # * `oracle-se2-cdb-19`
10869
+ #
10870
+ # * `oracle-se2-cdb-21`
10871
+ #
10837
10872
  # * `postgres10`
10838
10873
  #
10839
10874
  # * `postgres11`
@@ -11349,6 +11384,9 @@ module Aws::RDS
11349
11384
  #
11350
11385
  # Constraints: Minimum 20, maximum 100.
11351
11386
  #
11387
+ # @option params [String] :source_type
11388
+ # The type of source for the export.
11389
+ #
11352
11390
  # @return [Types::ExportTasksMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
11353
11391
  #
11354
11392
  # * {Types::ExportTasksMessage#marker #marker} => String
@@ -11369,6 +11407,7 @@ module Aws::RDS
11369
11407
  # ],
11370
11408
  # marker: "String",
11371
11409
  # max_records: 1,
11410
+ # source_type: "SNAPSHOT", # accepts SNAPSHOT, CLUSTER
11372
11411
  # })
11373
11412
  #
11374
11413
  # @example Response structure
@@ -11391,6 +11430,7 @@ module Aws::RDS
11391
11430
  # resp.export_tasks[0].total_extracted_data_in_gb #=> Integer
11392
11431
  # resp.export_tasks[0].failure_cause #=> String
11393
11432
  # resp.export_tasks[0].warning_message #=> String
11433
+ # resp.export_tasks[0].source_type #=> String, one of "SNAPSHOT", "CLUSTER"
11394
11434
  #
11395
11435
  # @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks AWS API Documentation
11396
11436
  #
@@ -22346,6 +22386,7 @@ module Aws::RDS
22346
22386
  # * {Types::ExportTask#total_extracted_data_in_gb #total_extracted_data_in_gb} => Integer
22347
22387
  # * {Types::ExportTask#failure_cause #failure_cause} => String
22348
22388
  # * {Types::ExportTask#warning_message #warning_message} => String
22389
+ # * {Types::ExportTask#source_type #source_type} => String
22349
22390
  #
22350
22391
  # @example Request syntax with placeholder values
22351
22392
  #
@@ -22377,6 +22418,7 @@ module Aws::RDS
22377
22418
  # resp.total_extracted_data_in_gb #=> Integer
22378
22419
  # resp.failure_cause #=> String
22379
22420
  # resp.warning_message #=> String
22421
+ # resp.source_type #=> String, one of "SNAPSHOT", "CLUSTER"
22380
22422
  #
22381
22423
  # @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask AWS API Documentation
22382
22424
  #
@@ -23027,7 +23069,7 @@ module Aws::RDS
23027
23069
  params: params,
23028
23070
  config: config)
23029
23071
  context[:gem_name] = 'aws-sdk-rds'
23030
- context[:gem_version] = '1.156.0'
23072
+ context[:gem_version] = '1.157.0'
23031
23073
  Seahorse::Client::Request.new(handlers, context)
23032
23074
  end
23033
23075
 
@@ -332,6 +332,7 @@ module Aws::RDS
332
332
  EventSubscriptionsList = Shapes::ListShape.new(name: 'EventSubscriptionsList')
333
333
  EventSubscriptionsMessage = Shapes::StructureShape.new(name: 'EventSubscriptionsMessage')
334
334
  EventsMessage = Shapes::StructureShape.new(name: 'EventsMessage')
335
+ ExportSourceType = Shapes::StringShape.new(name: 'ExportSourceType')
335
336
  ExportTask = Shapes::StructureShape.new(name: 'ExportTask')
336
337
  ExportTaskAlreadyExistsFault = Shapes::StructureShape.new(name: 'ExportTaskAlreadyExistsFault')
337
338
  ExportTaskNotFoundFault = Shapes::StructureShape.new(name: 'ExportTaskNotFoundFault')
@@ -2029,6 +2030,7 @@ module Aws::RDS
2029
2030
  DescribeExportTasksMessage.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filters"))
2030
2031
  DescribeExportTasksMessage.add_member(:marker, Shapes::ShapeRef.new(shape: String, location_name: "Marker"))
2031
2032
  DescribeExportTasksMessage.add_member(:max_records, Shapes::ShapeRef.new(shape: MaxRecords, location_name: "MaxRecords"))
2033
+ DescribeExportTasksMessage.add_member(:source_type, Shapes::ShapeRef.new(shape: ExportSourceType, location_name: "SourceType"))
2032
2034
  DescribeExportTasksMessage.struct_class = Types::DescribeExportTasksMessage
2033
2035
 
2034
2036
  DescribeGlobalClustersMessage.add_member(:global_cluster_identifier, Shapes::ShapeRef.new(shape: String, location_name: "GlobalClusterIdentifier"))
@@ -2212,6 +2214,7 @@ module Aws::RDS
2212
2214
  ExportTask.add_member(:total_extracted_data_in_gb, Shapes::ShapeRef.new(shape: Integer, location_name: "TotalExtractedDataInGB"))
2213
2215
  ExportTask.add_member(:failure_cause, Shapes::ShapeRef.new(shape: String, location_name: "FailureCause"))
2214
2216
  ExportTask.add_member(:warning_message, Shapes::ShapeRef.new(shape: String, location_name: "WarningMessage"))
2217
+ ExportTask.add_member(:source_type, Shapes::ShapeRef.new(shape: ExportSourceType, location_name: "SourceType"))
2215
2218
  ExportTask.struct_class = Types::ExportTask
2216
2219
 
2217
2220
  ExportTaskAlreadyExistsFault.struct_class = Types::ExportTaskAlreadyExistsFault
@@ -5254,6 +5257,7 @@ module Aws::RDS
5254
5257
  o.output = Shapes::ShapeRef.new(shape: ExportTask)
5255
5258
  o.errors << Shapes::ShapeRef.new(shape: DBSnapshotNotFoundFault)
5256
5259
  o.errors << Shapes::ShapeRef.new(shape: DBClusterSnapshotNotFoundFault)
5260
+ o.errors << Shapes::ShapeRef.new(shape: DBClusterNotFoundFault)
5257
5261
  o.errors << Shapes::ShapeRef.new(shape: ExportTaskAlreadyExistsFault)
5258
5262
  o.errors << Shapes::ShapeRef.new(shape: InvalidS3BucketFault)
5259
5263
  o.errors << Shapes::ShapeRef.new(shape: IamRoleNotFoundFault)
@@ -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::RDS
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,137 @@
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::RDS
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
+ dCI6eyJ1cmwiOiJodHRwczovL3Jkcy1maXBzLntSZWdpb259LntQYXJ0aXRp
77
+ b25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9
78
+ LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRp
79
+ b25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJs
80
+ ZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBv
81
+ ciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZu
82
+ IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0
83
+ cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
84
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
85
+ QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
86
+ b3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
87
+ dGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
88
+ IjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lv
89
+ biJ9LCJyZHMuY2EtY2VudHJhbC0xIl19XSwiZW5kcG9pbnQiOnsidXJsIjoi
90
+ aHR0cHM6Ly9yZHMtZmlwcy5jYS1jZW50cmFsLTEuYW1hem9uYXdzLmNvbSIs
91
+ InByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2lu
92
+ dCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2
93
+ IjpbeyJyZWYiOiJSZWdpb24ifSwicmRzLnVzLWVhc3QtMSJdfV0sImVuZHBv
94
+ aW50Ijp7InVybCI6Imh0dHBzOi8vcmRzLWZpcHMudXMtZWFzdC0xLmFtYXpv
95
+ bmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
96
+ IjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1
97
+ YWxzIiwiYXJndiI6W3sicmVmIjoiUmVnaW9uIn0sInJkcy51cy1lYXN0LTIi
98
+ XX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3Jkcy1maXBzLnVzLWVh
99
+ c3QtMi5hbWF6b25hd3MuY29tIiwicHJvcGVydGllcyI6e30sImhlYWRlcnMi
100
+ Ont9fSwidHlwZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6
101
+ InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJyZHMu
102
+ dXMtd2VzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yZHMt
103
+ Zmlwcy51cy13ZXN0LTEuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9
104
+ LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9u
105
+ cyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdp
106
+ b24ifSwicmRzLnVzLXdlc3QtMiJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0
107
+ dHBzOi8vcmRzLWZpcHMudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20iLCJwcm9w
108
+ ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7
109
+ ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6WyJh
110
+ d3MtdXMtZ292Iix7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBh
111
+ cnRpdGlvblJlc3VsdCJ9LCJuYW1lIl19XX1dLCJlbmRwb2ludCI6eyJ1cmwi
112
+ OiJodHRwczovL3Jkcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1
113
+ ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoi
114
+ ZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwi
115
+ OiJodHRwczovL3Jkcy1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQj
116
+ ZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
117
+ cGUiOiJlbmRwb2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6
118
+ IkZJUFMgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qg
119
+ c3VwcG9ydCBGSVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMi
120
+ Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1
121
+ YWxTdGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
122
+ bmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVl
123
+ LHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVz
124
+ dWx0In0sInN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIs
125
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoi
126
+ aHR0cHM6Ly9yZHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3Rh
127
+ Y2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwi
128
+ dHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6
129
+ IkR1YWxTdGFjayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2Vz
130
+ IG5vdCBzdXBwb3J0IER1YWxTdGFjayIsInR5cGUiOiJlcnJvciJ9XX0seyJj
131
+ b25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yZHMu
132
+ e1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVy
133
+ dGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
134
+
135
+ JSON
136
+ end
137
+ end