aws-sdk-backup 1.47.0 → 1.49.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: c67ccdca9ee810cceb5cd067272e15a4c24174b933cc826e08514475bb513550
4
- data.tar.gz: 6f4f7adea2d3fb7d843399913b9c8615e975b174f8f9294ff20c8ce0985ebe25
3
+ metadata.gz: 696eb1a3b9d692dc50a1b4a3c074f21c7a49957f4e514eb5651a589bb5f40b01
4
+ data.tar.gz: 907b7d3f06b5dc0a8ec62a520fc1f8cf08334f6c5066057c2cfd75a731b9eefc
5
5
  SHA512:
6
- metadata.gz: 68252da0224210af6710bdb513496b9710350ddd06fa7fad341a4b472335c6dc6134bdc7970370f2462c7c4c9f20bd893003c4d537d6abaf3eb2f003429c3b9c
7
- data.tar.gz: d146b158d805d507badf1b41daf9f0e43e116b7bbb580a3897b2174a0d9453125c6c6e2b496fb6c2fd6337b07dbca1071b0dc81c7161f272fce5efc277ca4937
6
+ metadata.gz: c9cfc60bd7e340ee1743d68d5f52c9a92c662452d2d413ba2014368783db51a1e8fe546eb79e0f010eb23fa33e81d0b517f2773d30380345298ac1fc15b8c0ef
7
+ data.tar.gz: 95611be52588af2fec8d3b68fcdcf8238fda9d8ec8016dd661124ea91ac1706db7c7c3648c0664d12b07ef0505797b836d25f8178555c85442da41c02ca54c20
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.49.0 (2023-02-08)
5
+ ------------------
6
+
7
+ * Feature - This release added one attribute (resource name) in the output model of our 9 existing APIs in AWS backup so that customers will see the resource name at the output. No input required from Customers.
8
+
9
+ 1.48.0 (2023-01-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
15
+
4
16
  1.47.0 (2022-11-28)
5
17
  ------------------
6
18
 
@@ -245,4 +257,4 @@ Unreleased Changes
245
257
  1.0.0 (2019-01-16)
246
258
  ------------------
247
259
 
248
- * Feature - Initial release of `aws-sdk-backup`.
260
+ * Feature - Initial release of `aws-sdk-backup`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.47.0
1
+ 1.49.0
@@ -1206,6 +1206,7 @@ module Aws::Backup
1206
1206
  # * {Types::DescribeBackupJobOutput#is_parent #is_parent} => Boolean
1207
1207
  # * {Types::DescribeBackupJobOutput#number_of_child_jobs #number_of_child_jobs} => Integer
1208
1208
  # * {Types::DescribeBackupJobOutput#child_jobs_in_state #child_jobs_in_state} => Hash<String,Integer>
1209
+ # * {Types::DescribeBackupJobOutput#resource_name #resource_name} => String
1209
1210
  #
1210
1211
  # @example Request syntax with placeholder values
1211
1212
  #
@@ -1244,6 +1245,7 @@ module Aws::Backup
1244
1245
  # resp.number_of_child_jobs #=> Integer
1245
1246
  # resp.child_jobs_in_state #=> Hash
1246
1247
  # resp.child_jobs_in_state["BackupJobState"] #=> Integer
1248
+ # resp.resource_name #=> String
1247
1249
  #
1248
1250
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJob AWS API Documentation
1249
1251
  #
@@ -1344,6 +1346,7 @@ module Aws::Backup
1344
1346
  # resp.copy_job.number_of_child_jobs #=> Integer
1345
1347
  # resp.copy_job.child_jobs_in_state #=> Hash
1346
1348
  # resp.copy_job.child_jobs_in_state["CopyJobState"] #=> Integer
1349
+ # resp.copy_job.resource_name #=> String
1347
1350
  #
1348
1351
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeCopyJob AWS API Documentation
1349
1352
  #
@@ -1444,6 +1447,7 @@ module Aws::Backup
1444
1447
  # * {Types::DescribeProtectedResourceOutput#resource_arn #resource_arn} => String
1445
1448
  # * {Types::DescribeProtectedResourceOutput#resource_type #resource_type} => String
1446
1449
  # * {Types::DescribeProtectedResourceOutput#last_backup_time #last_backup_time} => Time
1450
+ # * {Types::DescribeProtectedResourceOutput#resource_name #resource_name} => String
1447
1451
  #
1448
1452
  # @example Request syntax with placeholder values
1449
1453
  #
@@ -1456,6 +1460,7 @@ module Aws::Backup
1456
1460
  # resp.resource_arn #=> String
1457
1461
  # resp.resource_type #=> String
1458
1462
  # resp.last_backup_time #=> Time
1463
+ # resp.resource_name #=> String
1459
1464
  #
1460
1465
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeProtectedResource AWS API Documentation
1461
1466
  #
@@ -1504,6 +1509,7 @@ module Aws::Backup
1504
1509
  # * {Types::DescribeRecoveryPointOutput#parent_recovery_point_arn #parent_recovery_point_arn} => String
1505
1510
  # * {Types::DescribeRecoveryPointOutput#composite_member_identifier #composite_member_identifier} => String
1506
1511
  # * {Types::DescribeRecoveryPointOutput#is_parent #is_parent} => Boolean
1512
+ # * {Types::DescribeRecoveryPointOutput#resource_name #resource_name} => String
1507
1513
  #
1508
1514
  # @example Request syntax with placeholder values
1509
1515
  #
@@ -1541,6 +1547,7 @@ module Aws::Backup
1541
1547
  # resp.parent_recovery_point_arn #=> String
1542
1548
  # resp.composite_member_identifier #=> String
1543
1549
  # resp.is_parent #=> Boolean
1550
+ # resp.resource_name #=> String
1544
1551
  #
1545
1552
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRecoveryPoint AWS API Documentation
1546
1553
  #
@@ -2374,6 +2381,7 @@ module Aws::Backup
2374
2381
  # resp.backup_jobs[0].backup_type #=> String
2375
2382
  # resp.backup_jobs[0].parent_job_id #=> String
2376
2383
  # resp.backup_jobs[0].is_parent #=> Boolean
2384
+ # resp.backup_jobs[0].resource_name #=> String
2377
2385
  # resp.next_token #=> String
2378
2386
  #
2379
2387
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupJobs AWS API Documentation
@@ -2765,6 +2773,7 @@ module Aws::Backup
2765
2773
  # resp.copy_jobs[0].number_of_child_jobs #=> Integer
2766
2774
  # resp.copy_jobs[0].child_jobs_in_state #=> Hash
2767
2775
  # resp.copy_jobs[0].child_jobs_in_state["CopyJobState"] #=> Integer
2776
+ # resp.copy_jobs[0].resource_name #=> String
2768
2777
  # resp.next_token #=> String
2769
2778
  #
2770
2779
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListCopyJobs AWS API Documentation
@@ -2901,6 +2910,7 @@ module Aws::Backup
2901
2910
  # resp.results[0].resource_arn #=> String
2902
2911
  # resp.results[0].resource_type #=> String
2903
2912
  # resp.results[0].last_backup_time #=> Time
2913
+ # resp.results[0].resource_name #=> String
2904
2914
  # resp.next_token #=> String
2905
2915
  #
2906
2916
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResources AWS API Documentation
@@ -3008,6 +3018,7 @@ module Aws::Backup
3008
3018
  # resp.recovery_points[0].parent_recovery_point_arn #=> String
3009
3019
  # resp.recovery_points[0].composite_member_identifier #=> String
3010
3020
  # resp.recovery_points[0].is_parent #=> Boolean
3021
+ # resp.recovery_points[0].resource_name #=> String
3011
3022
  #
3012
3023
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByBackupVault AWS API Documentation
3013
3024
  #
@@ -3116,6 +3127,7 @@ module Aws::Backup
3116
3127
  # resp.recovery_points[0].backup_vault_name #=> String
3117
3128
  # resp.recovery_points[0].is_parent #=> Boolean
3118
3129
  # resp.recovery_points[0].parent_recovery_point_arn #=> String
3130
+ # resp.recovery_points[0].resource_name #=> String
3119
3131
  #
3120
3132
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResource AWS API Documentation
3121
3133
  #
@@ -3436,8 +3448,11 @@ module Aws::Backup
3436
3448
  # maximum retention period for future backup and copy jobs that target a
3437
3449
  # backup vault.
3438
3450
  #
3439
- # <note markdown="1"> Backup Vault Lock has yet to receive a third-party assessment for SEC
3440
- # 17a-4(f) and CFTC.
3451
+ # <note markdown="1"> Backup Vault Lock has been assessed by Cohasset Associates for use in
3452
+ # environments that are subject to SEC 17a-4, CFTC, and FINRA
3453
+ # regulations. For more information about how Backup Vault Lock relates
3454
+ # to these regulations, see the [Cohasset Associates Compliance
3455
+ # Assessment.](samples/cohassetreport.zip)
3441
3456
  #
3442
3457
  # </note>
3443
3458
  #
@@ -4429,7 +4444,7 @@ module Aws::Backup
4429
4444
  params: params,
4430
4445
  config: config)
4431
4446
  context[:gem_name] = 'aws-sdk-backup'
4432
- context[:gem_version] = '1.47.0'
4447
+ context[:gem_version] = '1.49.0'
4433
4448
  Seahorse::Client::Request.new(handlers, context)
4434
4449
  end
4435
4450
 
@@ -312,6 +312,7 @@ module Aws::Backup
312
312
  BackupJob.add_member(:backup_type, Shapes::ShapeRef.new(shape: string, location_name: "BackupType"))
313
313
  BackupJob.add_member(:parent_job_id, Shapes::ShapeRef.new(shape: string, location_name: "ParentJobId"))
314
314
  BackupJob.add_member(:is_parent, Shapes::ShapeRef.new(shape: boolean, location_name: "IsParent"))
315
+ BackupJob.add_member(:resource_name, Shapes::ShapeRef.new(shape: string, location_name: "ResourceName"))
315
316
  BackupJob.struct_class = Types::BackupJob
316
317
 
317
318
  BackupJobChildJobsInState.key = Shapes::ShapeRef.new(shape: BackupJobState)
@@ -487,6 +488,7 @@ module Aws::Backup
487
488
  CopyJob.add_member(:composite_member_identifier, Shapes::ShapeRef.new(shape: string, location_name: "CompositeMemberIdentifier"))
488
489
  CopyJob.add_member(:number_of_child_jobs, Shapes::ShapeRef.new(shape: Long, location_name: "NumberOfChildJobs"))
489
490
  CopyJob.add_member(:child_jobs_in_state, Shapes::ShapeRef.new(shape: CopyJobChildJobsInState, location_name: "ChildJobsInState"))
491
+ CopyJob.add_member(:resource_name, Shapes::ShapeRef.new(shape: string, location_name: "ResourceName"))
490
492
  CopyJob.struct_class = Types::CopyJob
491
493
 
492
494
  CopyJobChildJobsInState.key = Shapes::ShapeRef.new(shape: CopyJobState)
@@ -639,6 +641,7 @@ module Aws::Backup
639
641
  DescribeBackupJobOutput.add_member(:is_parent, Shapes::ShapeRef.new(shape: boolean, location_name: "IsParent"))
640
642
  DescribeBackupJobOutput.add_member(:number_of_child_jobs, Shapes::ShapeRef.new(shape: Long, location_name: "NumberOfChildJobs"))
641
643
  DescribeBackupJobOutput.add_member(:child_jobs_in_state, Shapes::ShapeRef.new(shape: BackupJobChildJobsInState, location_name: "ChildJobsInState"))
644
+ DescribeBackupJobOutput.add_member(:resource_name, Shapes::ShapeRef.new(shape: string, location_name: "ResourceName"))
642
645
  DescribeBackupJobOutput.struct_class = Types::DescribeBackupJobOutput
643
646
 
644
647
  DescribeBackupVaultInput.add_member(:backup_vault_name, Shapes::ShapeRef.new(shape: string, required: true, location: "uri", location_name: "backupVaultName"))
@@ -687,6 +690,7 @@ module Aws::Backup
687
690
  DescribeProtectedResourceOutput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "ResourceArn"))
688
691
  DescribeProtectedResourceOutput.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
689
692
  DescribeProtectedResourceOutput.add_member(:last_backup_time, Shapes::ShapeRef.new(shape: timestamp, location_name: "LastBackupTime"))
693
+ DescribeProtectedResourceOutput.add_member(:resource_name, Shapes::ShapeRef.new(shape: string, location_name: "ResourceName"))
690
694
  DescribeProtectedResourceOutput.struct_class = Types::DescribeProtectedResourceOutput
691
695
 
692
696
  DescribeRecoveryPointInput.add_member(:backup_vault_name, Shapes::ShapeRef.new(shape: BackupVaultName, required: true, location: "uri", location_name: "backupVaultName"))
@@ -715,6 +719,7 @@ module Aws::Backup
715
719
  DescribeRecoveryPointOutput.add_member(:parent_recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "ParentRecoveryPointArn"))
716
720
  DescribeRecoveryPointOutput.add_member(:composite_member_identifier, Shapes::ShapeRef.new(shape: string, location_name: "CompositeMemberIdentifier"))
717
721
  DescribeRecoveryPointOutput.add_member(:is_parent, Shapes::ShapeRef.new(shape: boolean, location_name: "IsParent"))
722
+ DescribeRecoveryPointOutput.add_member(:resource_name, Shapes::ShapeRef.new(shape: string, location_name: "ResourceName"))
718
723
  DescribeRecoveryPointOutput.struct_class = Types::DescribeRecoveryPointOutput
719
724
 
720
725
  DescribeRegionSettingsInput.struct_class = Types::DescribeRegionSettingsInput
@@ -1103,6 +1108,7 @@ module Aws::Backup
1103
1108
  ProtectedResource.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "ResourceArn"))
1104
1109
  ProtectedResource.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
1105
1110
  ProtectedResource.add_member(:last_backup_time, Shapes::ShapeRef.new(shape: timestamp, location_name: "LastBackupTime"))
1111
+ ProtectedResource.add_member(:resource_name, Shapes::ShapeRef.new(shape: string, location_name: "ResourceName"))
1106
1112
  ProtectedResource.struct_class = Types::ProtectedResource
1107
1113
 
1108
1114
  ProtectedResourcesList.member = Shapes::ShapeRef.new(shape: ProtectedResource)
@@ -1143,6 +1149,7 @@ module Aws::Backup
1143
1149
  RecoveryPointByBackupVault.add_member(:parent_recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "ParentRecoveryPointArn"))
1144
1150
  RecoveryPointByBackupVault.add_member(:composite_member_identifier, Shapes::ShapeRef.new(shape: string, location_name: "CompositeMemberIdentifier"))
1145
1151
  RecoveryPointByBackupVault.add_member(:is_parent, Shapes::ShapeRef.new(shape: boolean, location_name: "IsParent"))
1152
+ RecoveryPointByBackupVault.add_member(:resource_name, Shapes::ShapeRef.new(shape: string, location_name: "ResourceName"))
1146
1153
  RecoveryPointByBackupVault.struct_class = Types::RecoveryPointByBackupVault
1147
1154
 
1148
1155
  RecoveryPointByBackupVaultList.member = Shapes::ShapeRef.new(shape: RecoveryPointByBackupVault)
@@ -1156,6 +1163,7 @@ module Aws::Backup
1156
1163
  RecoveryPointByResource.add_member(:backup_vault_name, Shapes::ShapeRef.new(shape: BackupVaultName, location_name: "BackupVaultName"))
1157
1164
  RecoveryPointByResource.add_member(:is_parent, Shapes::ShapeRef.new(shape: boolean, location_name: "IsParent"))
1158
1165
  RecoveryPointByResource.add_member(:parent_recovery_point_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "ParentRecoveryPointArn"))
1166
+ RecoveryPointByResource.add_member(:resource_name, Shapes::ShapeRef.new(shape: string, location_name: "ResourceName"))
1159
1167
  RecoveryPointByResource.struct_class = Types::RecoveryPointByResource
1160
1168
 
1161
1169
  RecoveryPointByResourceList.member = Shapes::ShapeRef.new(shape: RecoveryPointByResource)
@@ -9,103 +9,43 @@
9
9
 
10
10
  module Aws::Backup
11
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
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint)
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://backup-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ return Aws::Endpoints::Endpoint.new(url: "https://backup-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
+ end
37
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
+ end
39
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
+ return Aws::Endpoints::Endpoint.new(url: "https://backup.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
42
+ end
43
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
44
+ end
45
+ return Aws::Endpoints::Endpoint.new(url: "https://backup.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
46
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
47
+ raise ArgumentError, 'No endpoint could be resolved'
24
48
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
49
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
33
- YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
34
- ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
35
- aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
36
- ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
37
- IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
38
- bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
39
- aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
40
- IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
41
- IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
42
- aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
43
- Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
44
- cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
45
- bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
46
- YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
47
- bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
48
- ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
49
- IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
50
- b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
51
- ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
52
- dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
53
- c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfSx7ImZuIjoicGFy
54
- c2VVUkwiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XSwiYXNzaWduIjoi
55
- dXJsIn1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
56
- eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
57
- In0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZpZ3VyYXRpb246IEZJ
58
- UFMgYW5kIGN1c3RvbSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5
59
- cGUiOiJlcnJvciJ9LHsiY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwi
60
- cnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIs
61
- ImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sImVycm9y
62
- IjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBEdWFsc3RhY2sgYW5kIGN1c3Rv
63
- bSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5cGUiOiJlcnJvciJ9
64
- LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6eyJyZWYiOiJF
65
- bmRwb2ludCJ9LCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
66
- IjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
67
- YW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19LHsi
68
- Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0
69
- YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
70
- aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
71
- biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
72
- fSwic3VwcG9ydHNGSVBTIl19XX0seyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
73
- cmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBh
74
- cnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlw
75
- ZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50
76
- Ijp7InVybCI6Imh0dHBzOi8vYmFja3VwLWZpcHMue1JlZ2lvbn0ue1BhcnRp
77
- dGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6
78
- e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRp
79
- dGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUgZW5h
80
- YmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgb25l
81
- IG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3si
82
- Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9
83
- LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
84
- Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
85
- ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
86
- cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
87
- ZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlv
88
- bnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2JhY2t1cC1maXBz
89
- LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3Bl
90
- cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
91
- fSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxlZCBi
92
- dXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwidHlw
93
- ZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVx
94
- dWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0s
95
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
96
- Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRyIiwi
97
- YXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRzRHVh
98
- bFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
99
- b25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9iYWNrdXAue1Jl
100
- Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9Iiwi
101
- cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
102
- In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkR1YWxTdGFjayBpcyBl
103
- bmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IER1
104
- YWxTdGFjayIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbXSwi
105
- ZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9iYWNrdXAue1JlZ2lvbn0ue1Bh
106
- cnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhl
107
- YWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
108
-
109
- JSON
110
50
  end
111
51
  end