aws-sdk-ssmincidents 1.19.0 → 1.21.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: f6b2ee80c3185adba475faa323cdcb7aad23956b8e8bed5c0df3618fc028c0c2
4
- data.tar.gz: f6a3606e949f6714d562b103cb01827cae2a8bda0ded4a4cdc05d4818317cf3d
3
+ metadata.gz: 1172a9defe1aa5af2063fc48e262108b8a605966e943e84a085917016215daf1
4
+ data.tar.gz: 6d15ee176e28ea246276f8f3f381877d4e6445e4ad17123338ddacc54f60b1fb
5
5
  SHA512:
6
- metadata.gz: 4b68cd0b5b91f49994327420859795ba8210ea29e8d5f0a00fbfa5bd35d70b310a69758c181b4d1258b9ab729eba46aaa698bcda3d8c065d39474755459beebd
7
- data.tar.gz: 9ce6c014fb9b1f9370d6991cfe00dd21b9b46840974f5ffa71cd4ab2b6e3c2e852621fc231ab09dcac009dd436bd5fef09d68f5440e762bc94381fe3b30988f2
6
+ metadata.gz: 26dfb11b1d240cb6e2773272687561a4fb9395dee076a7bee880e6388891d2251beb9523b2490ad70399e00fcddba968a55d7cd33c6e7f8ed5f35db5d953b5c4
7
+ data.tar.gz: e726935e0c9ac6fcda23894b3c9644a2d21006c88686a9d09685a9ce462402a9d5a94b554d4dcdb246c359dfd3ffa1faf71974dc75a41ca8998daecdc4789aff
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.21.0 (2023-01-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
10
+
11
+ 1.20.0 (2022-11-16)
12
+ ------------------
13
+
14
+ * Feature - Add support for PagerDuty integrations on ResponsePlan, IncidentRecord, and RelatedItem APIs
15
+
4
16
  1.19.0 (2022-11-11)
5
17
  ------------------
6
18
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.19.0
1
+ 1.21.0
@@ -445,6 +445,10 @@ module Aws::SSMIncidents
445
445
  # @option params [required, Types::IncidentTemplate] :incident_template
446
446
  # Details used to create an incident when using this response plan.
447
447
  #
448
+ # @option params [Array<Types::Integration>] :integrations
449
+ # Information about third-party services integrated into the response
450
+ # plan.
451
+ #
448
452
  # @option params [required, String] :name
449
453
  # The short format name of the response plan. Can't include spaces.
450
454
  #
@@ -498,6 +502,17 @@ module Aws::SSMIncidents
498
502
  # summary: "IncidentSummary",
499
503
  # title: "IncidentTitle", # required
500
504
  # },
505
+ # integrations: [
506
+ # {
507
+ # pager_duty_configuration: {
508
+ # name: "PagerDutyConfigurationNameString", # required
509
+ # pager_duty_incident_configuration: { # required
510
+ # service_id: "PagerDutyIncidentConfigurationServiceIdString", # required
511
+ # },
512
+ # secret_id: "PagerDutyConfigurationSecretIdString", # required
513
+ # },
514
+ # },
515
+ # ],
501
516
  # name: "ResponsePlanName", # required
502
517
  # tags: {
503
518
  # "TagKey" => "TagValue",
@@ -868,6 +883,7 @@ module Aws::SSMIncidents
868
883
  # * {Types::GetResponsePlanOutput#display_name #display_name} => String
869
884
  # * {Types::GetResponsePlanOutput#engagements #engagements} => Array&lt;String&gt;
870
885
  # * {Types::GetResponsePlanOutput#incident_template #incident_template} => Types::IncidentTemplate
886
+ # * {Types::GetResponsePlanOutput#integrations #integrations} => Array&lt;Types::Integration&gt;
871
887
  # * {Types::GetResponsePlanOutput#name #name} => String
872
888
  #
873
889
  # @example Request syntax with placeholder values
@@ -902,6 +918,10 @@ module Aws::SSMIncidents
902
918
  # resp.incident_template.notification_targets[0].sns_topic_arn #=> String
903
919
  # resp.incident_template.summary #=> String
904
920
  # resp.incident_template.title #=> String
921
+ # resp.integrations #=> Array
922
+ # resp.integrations[0].pager_duty_configuration.name #=> String
923
+ # resp.integrations[0].pager_duty_configuration.pager_duty_incident_configuration.service_id #=> String
924
+ # resp.integrations[0].pager_duty_configuration.secret_id #=> String
905
925
  # resp.name #=> String
906
926
  #
907
927
  # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResponsePlan AWS API Documentation
@@ -1074,6 +1094,9 @@ module Aws::SSMIncidents
1074
1094
  # resp.related_items[0].identifier.type #=> String, one of "ANALYSIS", "INCIDENT", "METRIC", "PARENT", "ATTACHMENT", "OTHER", "AUTOMATION", "INVOLVED_RESOURCE", "TASK"
1075
1095
  # resp.related_items[0].identifier.value.arn #=> String
1076
1096
  # resp.related_items[0].identifier.value.metric_definition #=> String
1097
+ # resp.related_items[0].identifier.value.pager_duty_incident_detail.auto_resolve #=> Boolean
1098
+ # resp.related_items[0].identifier.value.pager_duty_incident_detail.id #=> String
1099
+ # resp.related_items[0].identifier.value.pager_duty_incident_detail.secret_id #=> String
1077
1100
  # resp.related_items[0].identifier.value.url #=> String
1078
1101
  # resp.related_items[0].title #=> String
1079
1102
  #
@@ -1386,6 +1409,11 @@ module Aws::SSMIncidents
1386
1409
  # value: { # required
1387
1410
  # arn: "Arn",
1388
1411
  # metric_definition: "MetricDefinition",
1412
+ # pager_duty_incident_detail: {
1413
+ # auto_resolve: false,
1414
+ # id: "PagerDutyIncidentDetailIdString", # required
1415
+ # secret_id: "PagerDutyIncidentDetailSecretIdString",
1416
+ # },
1389
1417
  # url: "Url",
1390
1418
  # },
1391
1419
  # },
@@ -1630,6 +1658,11 @@ module Aws::SSMIncidents
1630
1658
  # value: { # required
1631
1659
  # arn: "Arn",
1632
1660
  # metric_definition: "MetricDefinition",
1661
+ # pager_duty_incident_detail: {
1662
+ # auto_resolve: false,
1663
+ # id: "PagerDutyIncidentDetailIdString", # required
1664
+ # secret_id: "PagerDutyIncidentDetailSecretIdString",
1665
+ # },
1633
1666
  # url: "Url",
1634
1667
  # },
1635
1668
  # },
@@ -1640,6 +1673,11 @@ module Aws::SSMIncidents
1640
1673
  # value: { # required
1641
1674
  # arn: "Arn",
1642
1675
  # metric_definition: "MetricDefinition",
1676
+ # pager_duty_incident_detail: {
1677
+ # auto_resolve: false,
1678
+ # id: "PagerDutyIncidentDetailIdString", # required
1679
+ # secret_id: "PagerDutyIncidentDetailSecretIdString",
1680
+ # },
1643
1681
  # url: "Url",
1644
1682
  # },
1645
1683
  # },
@@ -1768,6 +1806,10 @@ module Aws::SSMIncidents
1768
1806
  # The short format name of the incident. The title can't contain
1769
1807
  # spaces.
1770
1808
  #
1809
+ # @option params [Array<Types::Integration>] :integrations
1810
+ # Information about third-party services integrated into the response
1811
+ # plan.
1812
+ #
1771
1813
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1772
1814
  #
1773
1815
  # @example Request syntax with placeholder values
@@ -1812,6 +1854,17 @@ module Aws::SSMIncidents
1812
1854
  # "TagKey" => "TagValue",
1813
1855
  # },
1814
1856
  # incident_template_title: "IncidentTitle",
1857
+ # integrations: [
1858
+ # {
1859
+ # pager_duty_configuration: {
1860
+ # name: "PagerDutyConfigurationNameString", # required
1861
+ # pager_duty_incident_configuration: { # required
1862
+ # service_id: "PagerDutyIncidentConfigurationServiceIdString", # required
1863
+ # },
1864
+ # secret_id: "PagerDutyConfigurationSecretIdString", # required
1865
+ # },
1866
+ # },
1867
+ # ],
1815
1868
  # })
1816
1869
  #
1817
1870
  # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateResponsePlan AWS API Documentation
@@ -1905,7 +1958,7 @@ module Aws::SSMIncidents
1905
1958
  params: params,
1906
1959
  config: config)
1907
1960
  context[:gem_name] = 'aws-sdk-ssmincidents'
1908
- context[:gem_version] = '1.19.0'
1961
+ context[:gem_version] = '1.21.0'
1909
1962
  Seahorse::Client::Request.new(handlers, context)
1910
1963
  end
1911
1964
 
@@ -82,6 +82,8 @@ module Aws::SSMIncidents
82
82
  IncidentTitle = Shapes::StringShape.new(name: 'IncidentTitle')
83
83
  Integer = Shapes::IntegerShape.new(name: 'Integer')
84
84
  IntegerList = Shapes::ListShape.new(name: 'IntegerList')
85
+ Integration = Shapes::UnionShape.new(name: 'Integration')
86
+ Integrations = Shapes::ListShape.new(name: 'Integrations')
85
87
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
86
88
  ItemIdentifier = Shapes::StructureShape.new(name: 'ItemIdentifier')
87
89
  ItemType = Shapes::StringShape.new(name: 'ItemType')
@@ -103,6 +105,14 @@ module Aws::SSMIncidents
103
105
  NextToken = Shapes::StringShape.new(name: 'NextToken')
104
106
  NotificationTargetItem = Shapes::UnionShape.new(name: 'NotificationTargetItem')
105
107
  NotificationTargetSet = Shapes::ListShape.new(name: 'NotificationTargetSet')
108
+ PagerDutyConfiguration = Shapes::StructureShape.new(name: 'PagerDutyConfiguration')
109
+ PagerDutyConfigurationNameString = Shapes::StringShape.new(name: 'PagerDutyConfigurationNameString')
110
+ PagerDutyConfigurationSecretIdString = Shapes::StringShape.new(name: 'PagerDutyConfigurationSecretIdString')
111
+ PagerDutyIncidentConfiguration = Shapes::StructureShape.new(name: 'PagerDutyIncidentConfiguration')
112
+ PagerDutyIncidentConfigurationServiceIdString = Shapes::StringShape.new(name: 'PagerDutyIncidentConfigurationServiceIdString')
113
+ PagerDutyIncidentDetail = Shapes::StructureShape.new(name: 'PagerDutyIncidentDetail')
114
+ PagerDutyIncidentDetailIdString = Shapes::StringShape.new(name: 'PagerDutyIncidentDetailIdString')
115
+ PagerDutyIncidentDetailSecretIdString = Shapes::StringShape.new(name: 'PagerDutyIncidentDetailSecretIdString')
106
116
  Policy = Shapes::StringShape.new(name: 'Policy')
107
117
  PolicyId = Shapes::StringShape.new(name: 'PolicyId')
108
118
  PutResourcePolicyInput = Shapes::StructureShape.new(name: 'PutResourcePolicyInput')
@@ -255,6 +265,7 @@ module Aws::SSMIncidents
255
265
  CreateResponsePlanInput.add_member(:display_name, Shapes::ShapeRef.new(shape: ResponsePlanDisplayName, location_name: "displayName"))
256
266
  CreateResponsePlanInput.add_member(:engagements, Shapes::ShapeRef.new(shape: EngagementSet, location_name: "engagements"))
257
267
  CreateResponsePlanInput.add_member(:incident_template, Shapes::ShapeRef.new(shape: IncidentTemplate, required: true, location_name: "incidentTemplate"))
268
+ CreateResponsePlanInput.add_member(:integrations, Shapes::ShapeRef.new(shape: Integrations, location_name: "integrations"))
258
269
  CreateResponsePlanInput.add_member(:name, Shapes::ShapeRef.new(shape: ResponsePlanName, required: true, location_name: "name"))
259
270
  CreateResponsePlanInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
260
271
  CreateResponsePlanInput.struct_class = Types::CreateResponsePlanInput
@@ -373,6 +384,7 @@ module Aws::SSMIncidents
373
384
  GetResponsePlanOutput.add_member(:display_name, Shapes::ShapeRef.new(shape: ResponsePlanDisplayName, location_name: "displayName"))
374
385
  GetResponsePlanOutput.add_member(:engagements, Shapes::ShapeRef.new(shape: EngagementSet, location_name: "engagements"))
375
386
  GetResponsePlanOutput.add_member(:incident_template, Shapes::ShapeRef.new(shape: IncidentTemplate, required: true, location_name: "incidentTemplate"))
387
+ GetResponsePlanOutput.add_member(:integrations, Shapes::ShapeRef.new(shape: Integrations, location_name: "integrations"))
376
388
  GetResponsePlanOutput.add_member(:name, Shapes::ShapeRef.new(shape: ResponsePlanName, required: true, location_name: "name"))
377
389
  GetResponsePlanOutput.struct_class = Types::GetResponsePlanOutput
378
390
 
@@ -426,6 +438,14 @@ module Aws::SSMIncidents
426
438
 
427
439
  IntegerList.member = Shapes::ShapeRef.new(shape: Integer)
428
440
 
441
+ Integration.add_member(:pager_duty_configuration, Shapes::ShapeRef.new(shape: PagerDutyConfiguration, location_name: "pagerDutyConfiguration"))
442
+ Integration.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
443
+ Integration.add_member_subclass(:pager_duty_configuration, Types::Integration::PagerDutyConfiguration)
444
+ Integration.add_member_subclass(:unknown, Types::Integration::Unknown)
445
+ Integration.struct_class = Types::Integration
446
+
447
+ Integrations.member = Shapes::ShapeRef.new(shape: Integration)
448
+
429
449
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, required: true, location_name: "message"))
430
450
  InternalServerException.struct_class = Types::InternalServerException
431
451
 
@@ -435,10 +455,12 @@ module Aws::SSMIncidents
435
455
 
436
456
  ItemValue.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "arn"))
437
457
  ItemValue.add_member(:metric_definition, Shapes::ShapeRef.new(shape: MetricDefinition, location_name: "metricDefinition"))
458
+ ItemValue.add_member(:pager_duty_incident_detail, Shapes::ShapeRef.new(shape: PagerDutyIncidentDetail, location_name: "pagerDutyIncidentDetail"))
438
459
  ItemValue.add_member(:url, Shapes::ShapeRef.new(shape: Url, location_name: "url"))
439
460
  ItemValue.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
440
461
  ItemValue.add_member_subclass(:arn, Types::ItemValue::Arn)
441
462
  ItemValue.add_member_subclass(:metric_definition, Types::ItemValue::MetricDefinition)
463
+ ItemValue.add_member_subclass(:pager_duty_incident_detail, Types::ItemValue::PagerDutyIncidentDetail)
442
464
  ItemValue.add_member_subclass(:url, Types::ItemValue::Url)
443
465
  ItemValue.add_member_subclass(:unknown, Types::ItemValue::Unknown)
444
466
  ItemValue.struct_class = Types::ItemValue
@@ -503,6 +525,19 @@ module Aws::SSMIncidents
503
525
 
504
526
  NotificationTargetSet.member = Shapes::ShapeRef.new(shape: NotificationTargetItem)
505
527
 
528
+ PagerDutyConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: PagerDutyConfigurationNameString, required: true, location_name: "name"))
529
+ PagerDutyConfiguration.add_member(:pager_duty_incident_configuration, Shapes::ShapeRef.new(shape: PagerDutyIncidentConfiguration, required: true, location_name: "pagerDutyIncidentConfiguration"))
530
+ PagerDutyConfiguration.add_member(:secret_id, Shapes::ShapeRef.new(shape: PagerDutyConfigurationSecretIdString, required: true, location_name: "secretId"))
531
+ PagerDutyConfiguration.struct_class = Types::PagerDutyConfiguration
532
+
533
+ PagerDutyIncidentConfiguration.add_member(:service_id, Shapes::ShapeRef.new(shape: PagerDutyIncidentConfigurationServiceIdString, required: true, location_name: "serviceId"))
534
+ PagerDutyIncidentConfiguration.struct_class = Types::PagerDutyIncidentConfiguration
535
+
536
+ PagerDutyIncidentDetail.add_member(:auto_resolve, Shapes::ShapeRef.new(shape: Boolean, location_name: "autoResolve"))
537
+ PagerDutyIncidentDetail.add_member(:id, Shapes::ShapeRef.new(shape: PagerDutyIncidentDetailIdString, required: true, location_name: "id"))
538
+ PagerDutyIncidentDetail.add_member(:secret_id, Shapes::ShapeRef.new(shape: PagerDutyIncidentDetailSecretIdString, location_name: "secretId"))
539
+ PagerDutyIncidentDetail.struct_class = Types::PagerDutyIncidentDetail
540
+
506
541
  PutResourcePolicyInput.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "policy"))
507
542
  PutResourcePolicyInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "resourceArn"))
508
543
  PutResourcePolicyInput.struct_class = Types::PutResourcePolicyInput
@@ -699,6 +734,7 @@ module Aws::SSMIncidents
699
734
  UpdateResponsePlanInput.add_member(:incident_template_summary, Shapes::ShapeRef.new(shape: IncidentSummary, location_name: "incidentTemplateSummary"))
700
735
  UpdateResponsePlanInput.add_member(:incident_template_tags, Shapes::ShapeRef.new(shape: TagMapUpdate, location_name: "incidentTemplateTags"))
701
736
  UpdateResponsePlanInput.add_member(:incident_template_title, Shapes::ShapeRef.new(shape: IncidentTitle, location_name: "incidentTemplateTitle"))
737
+ UpdateResponsePlanInput.add_member(:integrations, Shapes::ShapeRef.new(shape: Integrations, location_name: "integrations"))
702
738
  UpdateResponsePlanInput.struct_class = Types::UpdateResponsePlanInput
703
739
 
704
740
  UpdateResponsePlanOutput.struct_class = Types::UpdateResponsePlanOutput
@@ -9,104 +9,43 @@
9
9
 
10
10
  module Aws::SSMIncidents
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) && (url = Aws::Endpoints::Matchers.parse_url(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://ssm-incidents-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://ssm-incidents-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://ssm-incidents.#{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://ssm-incidents.#{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
- 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
- dCI6eyJ1cmwiOiJodHRwczovL3NzbS1pbmNpZGVudHMtZmlwcy57UmVnaW9u
77
- fS57UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9w
78
- ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19
79
- LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNr
80
- IGFyZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3Vw
81
- cG9ydCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRp
82
- b25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJV
83
- c2VGSVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
84
- ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUs
85
- eyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1
86
- bHQifSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVz
87
- IjpbeyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3si
88
- Y29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3Nt
89
- LWluY2lkZW50cy1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5z
90
- U3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUi
91
- OiJlbmRwb2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJ
92
- UFMgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3Vw
93
- cG9ydCBGSVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7
94
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
95
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
96
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
97
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
98
- In0sInN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1
99
- bGVzIjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0
100
- cHM6Ly9zc20taW5jaWRlbnRzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQj
101
- ZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJz
102
- Ijp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwi
103
- ZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRp
104
- b24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3Ii
105
- fV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBz
106
- Oi8vc3NtLWluY2lkZW50cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ru
107
- c1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
108
- IjoiZW5kcG9pbnQifV19XX0=
109
-
110
- JSON
111
50
  end
112
51
  end