aws-sdk-fms 1.52.0 → 1.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,7 @@ module Aws::FMS
14
14
  include Seahorse::Model
15
15
 
16
16
  AWSAccountId = Shapes::StringShape.new(name: 'AWSAccountId')
17
+ AWSAccountIdList = Shapes::ListShape.new(name: 'AWSAccountIdList')
17
18
  AccountRoleStatus = Shapes::StringShape.new(name: 'AccountRoleStatus')
18
19
  ActionTarget = Shapes::StructureShape.new(name: 'ActionTarget')
19
20
  App = Shapes::StructureShape.new(name: 'App')
@@ -28,7 +29,12 @@ module Aws::FMS
28
29
  AwsEc2NetworkInterfaceViolation = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceViolation')
29
30
  AwsEc2NetworkInterfaceViolations = Shapes::ListShape.new(name: 'AwsEc2NetworkInterfaceViolations')
30
31
  AwsVPCSecurityGroupViolation = Shapes::StructureShape.new(name: 'AwsVPCSecurityGroupViolation')
32
+ Base62Id = Shapes::StringShape.new(name: 'Base62Id')
31
33
  BasicInteger = Shapes::IntegerShape.new(name: 'BasicInteger')
34
+ BatchAssociateResourceRequest = Shapes::StructureShape.new(name: 'BatchAssociateResourceRequest')
35
+ BatchAssociateResourceResponse = Shapes::StructureShape.new(name: 'BatchAssociateResourceResponse')
36
+ BatchDisassociateResourceRequest = Shapes::StructureShape.new(name: 'BatchDisassociateResourceRequest')
37
+ BatchDisassociateResourceResponse = Shapes::StructureShape.new(name: 'BatchDisassociateResourceResponse')
32
38
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
33
39
  CIDR = Shapes::StringShape.new(name: 'CIDR')
34
40
  ComplianceViolator = Shapes::StructureShape.new(name: 'ComplianceViolator')
@@ -42,12 +48,16 @@ module Aws::FMS
42
48
  DeleteNotificationChannelRequest = Shapes::StructureShape.new(name: 'DeleteNotificationChannelRequest')
43
49
  DeletePolicyRequest = Shapes::StructureShape.new(name: 'DeletePolicyRequest')
44
50
  DeleteProtocolsListRequest = Shapes::StructureShape.new(name: 'DeleteProtocolsListRequest')
51
+ DeleteResourceSetRequest = Shapes::StructureShape.new(name: 'DeleteResourceSetRequest')
45
52
  DependentServiceName = Shapes::StringShape.new(name: 'DependentServiceName')
53
+ Description = Shapes::StringShape.new(name: 'Description')
46
54
  DestinationType = Shapes::StringShape.new(name: 'DestinationType')
47
55
  DetailedInfo = Shapes::StringShape.new(name: 'DetailedInfo')
48
56
  DisassociateAdminAccountRequest = Shapes::StructureShape.new(name: 'DisassociateAdminAccountRequest')
49
57
  DisassociateThirdPartyFirewallRequest = Shapes::StructureShape.new(name: 'DisassociateThirdPartyFirewallRequest')
50
58
  DisassociateThirdPartyFirewallResponse = Shapes::StructureShape.new(name: 'DisassociateThirdPartyFirewallResponse')
59
+ DiscoveredResource = Shapes::StructureShape.new(name: 'DiscoveredResource')
60
+ DiscoveredResourceList = Shapes::ListShape.new(name: 'DiscoveredResourceList')
51
61
  DnsDuplicateRuleGroupViolation = Shapes::StructureShape.new(name: 'DnsDuplicateRuleGroupViolation')
52
62
  DnsRuleGroupLimitExceededViolation = Shapes::StructureShape.new(name: 'DnsRuleGroupLimitExceededViolation')
53
63
  DnsRuleGroupPriorities = Shapes::ListShape.new(name: 'DnsRuleGroupPriorities')
@@ -66,6 +76,9 @@ module Aws::FMS
66
76
  ExpectedRoute = Shapes::StructureShape.new(name: 'ExpectedRoute')
67
77
  ExpectedRoutes = Shapes::ListShape.new(name: 'ExpectedRoutes')
68
78
  FMSPolicyUpdateFirewallCreationConfigAction = Shapes::StructureShape.new(name: 'FMSPolicyUpdateFirewallCreationConfigAction')
79
+ FailedItem = Shapes::StructureShape.new(name: 'FailedItem')
80
+ FailedItemList = Shapes::ListShape.new(name: 'FailedItemList')
81
+ FailedItemReason = Shapes::StringShape.new(name: 'FailedItemReason')
69
82
  FirewallDeploymentModel = Shapes::StringShape.new(name: 'FirewallDeploymentModel')
70
83
  FirewallPolicyId = Shapes::StringShape.new(name: 'FirewallPolicyId')
71
84
  FirewallPolicyName = Shapes::StringShape.new(name: 'FirewallPolicyName')
@@ -85,11 +98,15 @@ module Aws::FMS
85
98
  GetProtectionStatusResponse = Shapes::StructureShape.new(name: 'GetProtectionStatusResponse')
86
99
  GetProtocolsListRequest = Shapes::StructureShape.new(name: 'GetProtocolsListRequest')
87
100
  GetProtocolsListResponse = Shapes::StructureShape.new(name: 'GetProtocolsListResponse')
101
+ GetResourceSetRequest = Shapes::StructureShape.new(name: 'GetResourceSetRequest')
102
+ GetResourceSetResponse = Shapes::StructureShape.new(name: 'GetResourceSetResponse')
88
103
  GetThirdPartyFirewallAssociationStatusRequest = Shapes::StructureShape.new(name: 'GetThirdPartyFirewallAssociationStatusRequest')
89
104
  GetThirdPartyFirewallAssociationStatusResponse = Shapes::StructureShape.new(name: 'GetThirdPartyFirewallAssociationStatusResponse')
90
105
  GetViolationDetailsRequest = Shapes::StructureShape.new(name: 'GetViolationDetailsRequest')
91
106
  GetViolationDetailsResponse = Shapes::StructureShape.new(name: 'GetViolationDetailsResponse')
92
107
  IPPortNumber = Shapes::IntegerShape.new(name: 'IPPortNumber')
108
+ Identifier = Shapes::StringShape.new(name: 'Identifier')
109
+ IdentifierList = Shapes::ListShape.new(name: 'IdentifierList')
93
110
  InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
94
111
  InvalidInputException = Shapes::StructureShape.new(name: 'InvalidInputException')
95
112
  InvalidOperationException = Shapes::StructureShape.new(name: 'InvalidOperationException')
@@ -102,6 +119,8 @@ module Aws::FMS
102
119
  ListAppsListsResponse = Shapes::StructureShape.new(name: 'ListAppsListsResponse')
103
120
  ListComplianceStatusRequest = Shapes::StructureShape.new(name: 'ListComplianceStatusRequest')
104
121
  ListComplianceStatusResponse = Shapes::StructureShape.new(name: 'ListComplianceStatusResponse')
122
+ ListDiscoveredResourcesRequest = Shapes::StructureShape.new(name: 'ListDiscoveredResourcesRequest')
123
+ ListDiscoveredResourcesResponse = Shapes::StructureShape.new(name: 'ListDiscoveredResourcesResponse')
105
124
  ListId = Shapes::StringShape.new(name: 'ListId')
106
125
  ListMemberAccountsRequest = Shapes::StructureShape.new(name: 'ListMemberAccountsRequest')
107
126
  ListMemberAccountsResponse = Shapes::StructureShape.new(name: 'ListMemberAccountsResponse')
@@ -109,6 +128,10 @@ module Aws::FMS
109
128
  ListPoliciesResponse = Shapes::StructureShape.new(name: 'ListPoliciesResponse')
110
129
  ListProtocolsListsRequest = Shapes::StructureShape.new(name: 'ListProtocolsListsRequest')
111
130
  ListProtocolsListsResponse = Shapes::StructureShape.new(name: 'ListProtocolsListsResponse')
131
+ ListResourceSetResourcesRequest = Shapes::StructureShape.new(name: 'ListResourceSetResourcesRequest')
132
+ ListResourceSetResourcesResponse = Shapes::StructureShape.new(name: 'ListResourceSetResourcesResponse')
133
+ ListResourceSetsRequest = Shapes::StructureShape.new(name: 'ListResourceSetsRequest')
134
+ ListResourceSetsResponse = Shapes::StructureShape.new(name: 'ListResourceSetsResponse')
112
135
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
113
136
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
114
137
  ListThirdPartyFirewallFirewallPoliciesRequest = Shapes::StructureShape.new(name: 'ListThirdPartyFirewallFirewallPoliciesRequest')
@@ -116,6 +139,7 @@ module Aws::FMS
116
139
  ManagedServiceData = Shapes::StringShape.new(name: 'ManagedServiceData')
117
140
  MarketplaceSubscriptionOnboardingStatus = Shapes::StringShape.new(name: 'MarketplaceSubscriptionOnboardingStatus')
118
141
  MemberAccounts = Shapes::ListShape.new(name: 'MemberAccounts')
142
+ Name = Shapes::StringShape.new(name: 'Name')
119
143
  NetworkFirewallAction = Shapes::StringShape.new(name: 'NetworkFirewallAction')
120
144
  NetworkFirewallActionList = Shapes::ListShape.new(name: 'NetworkFirewallActionList')
121
145
  NetworkFirewallBlackHoleRouteDetectedViolation = Shapes::StructureShape.new(name: 'NetworkFirewallBlackHoleRouteDetectedViolation')
@@ -168,17 +192,26 @@ module Aws::FMS
168
192
  PutPolicyResponse = Shapes::StructureShape.new(name: 'PutPolicyResponse')
169
193
  PutProtocolsListRequest = Shapes::StructureShape.new(name: 'PutProtocolsListRequest')
170
194
  PutProtocolsListResponse = Shapes::StructureShape.new(name: 'PutProtocolsListResponse')
195
+ PutResourceSetRequest = Shapes::StructureShape.new(name: 'PutResourceSetRequest')
196
+ PutResourceSetResponse = Shapes::StructureShape.new(name: 'PutResourceSetResponse')
171
197
  ReferenceRule = Shapes::StringShape.new(name: 'ReferenceRule')
172
198
  RemediationAction = Shapes::StructureShape.new(name: 'RemediationAction')
173
199
  RemediationActionDescription = Shapes::StringShape.new(name: 'RemediationActionDescription')
174
200
  RemediationActionType = Shapes::StringShape.new(name: 'RemediationActionType')
175
201
  RemediationActionWithOrder = Shapes::StructureShape.new(name: 'RemediationActionWithOrder')
202
+ Resource = Shapes::StructureShape.new(name: 'Resource')
176
203
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
177
204
  ResourceCount = Shapes::IntegerShape.new(name: 'ResourceCount')
205
+ ResourceDescription = Shapes::StringShape.new(name: 'ResourceDescription')
178
206
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
179
207
  ResourceIdList = Shapes::ListShape.new(name: 'ResourceIdList')
208
+ ResourceList = Shapes::ListShape.new(name: 'ResourceList')
180
209
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
181
210
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
211
+ ResourceSet = Shapes::StructureShape.new(name: 'ResourceSet')
212
+ ResourceSetIds = Shapes::ListShape.new(name: 'ResourceSetIds')
213
+ ResourceSetSummary = Shapes::StructureShape.new(name: 'ResourceSetSummary')
214
+ ResourceSetSummaryList = Shapes::ListShape.new(name: 'ResourceSetSummaryList')
182
215
  ResourceTag = Shapes::StructureShape.new(name: 'ResourceTag')
183
216
  ResourceTagKey = Shapes::StringShape.new(name: 'ResourceTagKey')
184
217
  ResourceTagValue = Shapes::StringShape.new(name: 'ResourceTagValue')
@@ -228,6 +261,8 @@ module Aws::FMS
228
261
  ViolationReason = Shapes::StringShape.new(name: 'ViolationReason')
229
262
  ViolationTarget = Shapes::StringShape.new(name: 'ViolationTarget')
230
263
 
264
+ AWSAccountIdList.member = Shapes::ShapeRef.new(shape: AWSAccountId)
265
+
231
266
  ActionTarget.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "ResourceId"))
232
267
  ActionTarget.add_member(:description, Shapes::ShapeRef.new(shape: LengthBoundedString, location_name: "Description"))
233
268
  ActionTarget.struct_class = Types::ActionTarget
@@ -281,6 +316,22 @@ module Aws::FMS
281
316
  AwsVPCSecurityGroupViolation.add_member(:possible_security_group_remediation_actions, Shapes::ShapeRef.new(shape: SecurityGroupRemediationActions, location_name: "PossibleSecurityGroupRemediationActions"))
282
317
  AwsVPCSecurityGroupViolation.struct_class = Types::AwsVPCSecurityGroupViolation
283
318
 
319
+ BatchAssociateResourceRequest.add_member(:resource_set_identifier, Shapes::ShapeRef.new(shape: Identifier, required: true, location_name: "ResourceSetIdentifier"))
320
+ BatchAssociateResourceRequest.add_member(:items, Shapes::ShapeRef.new(shape: IdentifierList, required: true, location_name: "Items"))
321
+ BatchAssociateResourceRequest.struct_class = Types::BatchAssociateResourceRequest
322
+
323
+ BatchAssociateResourceResponse.add_member(:resource_set_identifier, Shapes::ShapeRef.new(shape: Identifier, required: true, location_name: "ResourceSetIdentifier"))
324
+ BatchAssociateResourceResponse.add_member(:failed_items, Shapes::ShapeRef.new(shape: FailedItemList, required: true, location_name: "FailedItems"))
325
+ BatchAssociateResourceResponse.struct_class = Types::BatchAssociateResourceResponse
326
+
327
+ BatchDisassociateResourceRequest.add_member(:resource_set_identifier, Shapes::ShapeRef.new(shape: Identifier, required: true, location_name: "ResourceSetIdentifier"))
328
+ BatchDisassociateResourceRequest.add_member(:items, Shapes::ShapeRef.new(shape: IdentifierList, required: true, location_name: "Items"))
329
+ BatchDisassociateResourceRequest.struct_class = Types::BatchDisassociateResourceRequest
330
+
331
+ BatchDisassociateResourceResponse.add_member(:resource_set_identifier, Shapes::ShapeRef.new(shape: Identifier, required: true, location_name: "ResourceSetIdentifier"))
332
+ BatchDisassociateResourceResponse.add_member(:failed_items, Shapes::ShapeRef.new(shape: FailedItemList, required: true, location_name: "FailedItems"))
333
+ BatchDisassociateResourceResponse.struct_class = Types::BatchDisassociateResourceResponse
334
+
284
335
  ComplianceViolator.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "ResourceId"))
285
336
  ComplianceViolator.add_member(:violation_reason, Shapes::ShapeRef.new(shape: ViolationReason, location_name: "ViolationReason"))
286
337
  ComplianceViolator.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
@@ -309,6 +360,9 @@ module Aws::FMS
309
360
  DeleteProtocolsListRequest.add_member(:list_id, Shapes::ShapeRef.new(shape: ListId, required: true, location_name: "ListId"))
310
361
  DeleteProtocolsListRequest.struct_class = Types::DeleteProtocolsListRequest
311
362
 
363
+ DeleteResourceSetRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: Base62Id, required: true, location_name: "Identifier"))
364
+ DeleteResourceSetRequest.struct_class = Types::DeleteResourceSetRequest
365
+
312
366
  DisassociateAdminAccountRequest.struct_class = Types::DisassociateAdminAccountRequest
313
367
 
314
368
  DisassociateThirdPartyFirewallRequest.add_member(:third_party_firewall, Shapes::ShapeRef.new(shape: ThirdPartyFirewall, required: true, location_name: "ThirdPartyFirewall"))
@@ -317,6 +371,14 @@ module Aws::FMS
317
371
  DisassociateThirdPartyFirewallResponse.add_member(:third_party_firewall_status, Shapes::ShapeRef.new(shape: ThirdPartyFirewallAssociationStatus, location_name: "ThirdPartyFirewallStatus"))
318
372
  DisassociateThirdPartyFirewallResponse.struct_class = Types::DisassociateThirdPartyFirewallResponse
319
373
 
374
+ DiscoveredResource.add_member(:uri, Shapes::ShapeRef.new(shape: Identifier, location_name: "URI"))
375
+ DiscoveredResource.add_member(:account_id, Shapes::ShapeRef.new(shape: AWSAccountId, location_name: "AccountId"))
376
+ DiscoveredResource.add_member(:type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "Type"))
377
+ DiscoveredResource.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "Name"))
378
+ DiscoveredResource.struct_class = Types::DiscoveredResource
379
+
380
+ DiscoveredResourceList.member = Shapes::ShapeRef.new(shape: DiscoveredResource)
381
+
320
382
  DnsDuplicateRuleGroupViolation.add_member(:violation_target, Shapes::ShapeRef.new(shape: ViolationTarget, location_name: "ViolationTarget"))
321
383
  DnsDuplicateRuleGroupViolation.add_member(:violation_target_description, Shapes::ShapeRef.new(shape: LengthBoundedString, location_name: "ViolationTargetDescription"))
322
384
  DnsDuplicateRuleGroupViolation.struct_class = Types::DnsDuplicateRuleGroupViolation
@@ -400,6 +462,12 @@ module Aws::FMS
400
462
  FMSPolicyUpdateFirewallCreationConfigAction.add_member(:firewall_creation_config, Shapes::ShapeRef.new(shape: ManagedServiceData, location_name: "FirewallCreationConfig"))
401
463
  FMSPolicyUpdateFirewallCreationConfigAction.struct_class = Types::FMSPolicyUpdateFirewallCreationConfigAction
402
464
 
465
+ FailedItem.add_member(:uri, Shapes::ShapeRef.new(shape: Identifier, location_name: "URI"))
466
+ FailedItem.add_member(:reason, Shapes::ShapeRef.new(shape: FailedItemReason, location_name: "Reason"))
467
+ FailedItem.struct_class = Types::FailedItem
468
+
469
+ FailedItemList.member = Shapes::ShapeRef.new(shape: FailedItem)
470
+
403
471
  FirewallSubnetIsOutOfScopeViolation.add_member(:firewall_subnet_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "FirewallSubnetId"))
404
472
  FirewallSubnetIsOutOfScopeViolation.add_member(:vpc_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "VpcId"))
405
473
  FirewallSubnetIsOutOfScopeViolation.add_member(:subnet_availability_zone, Shapes::ShapeRef.new(shape: LengthBoundedString, location_name: "SubnetAvailabilityZone"))
@@ -469,6 +537,13 @@ module Aws::FMS
469
537
  GetProtocolsListResponse.add_member(:protocols_list_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ProtocolsListArn"))
470
538
  GetProtocolsListResponse.struct_class = Types::GetProtocolsListResponse
471
539
 
540
+ GetResourceSetRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: Base62Id, required: true, location_name: "Identifier"))
541
+ GetResourceSetRequest.struct_class = Types::GetResourceSetRequest
542
+
543
+ GetResourceSetResponse.add_member(:resource_set, Shapes::ShapeRef.new(shape: ResourceSet, required: true, location_name: "ResourceSet"))
544
+ GetResourceSetResponse.add_member(:resource_set_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceSetArn"))
545
+ GetResourceSetResponse.struct_class = Types::GetResourceSetResponse
546
+
472
547
  GetThirdPartyFirewallAssociationStatusRequest.add_member(:third_party_firewall, Shapes::ShapeRef.new(shape: ThirdPartyFirewall, required: true, location_name: "ThirdPartyFirewall"))
473
548
  GetThirdPartyFirewallAssociationStatusRequest.struct_class = Types::GetThirdPartyFirewallAssociationStatusRequest
474
549
 
@@ -485,6 +560,8 @@ module Aws::FMS
485
560
  GetViolationDetailsResponse.add_member(:violation_detail, Shapes::ShapeRef.new(shape: ViolationDetail, location_name: "ViolationDetail"))
486
561
  GetViolationDetailsResponse.struct_class = Types::GetViolationDetailsResponse
487
562
 
563
+ IdentifierList.member = Shapes::ShapeRef.new(shape: Identifier)
564
+
488
565
  InternalErrorException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
489
566
  InternalErrorException.struct_class = Types::InternalErrorException
490
567
 
@@ -523,6 +600,16 @@ module Aws::FMS
523
600
  ListComplianceStatusResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
524
601
  ListComplianceStatusResponse.struct_class = Types::ListComplianceStatusResponse
525
602
 
603
+ ListDiscoveredResourcesRequest.add_member(:member_account_ids, Shapes::ShapeRef.new(shape: AWSAccountIdList, required: true, location_name: "MemberAccountIds"))
604
+ ListDiscoveredResourcesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
605
+ ListDiscoveredResourcesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PaginationMaxResults, location_name: "MaxResults"))
606
+ ListDiscoveredResourcesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
607
+ ListDiscoveredResourcesRequest.struct_class = Types::ListDiscoveredResourcesRequest
608
+
609
+ ListDiscoveredResourcesResponse.add_member(:items, Shapes::ShapeRef.new(shape: DiscoveredResourceList, location_name: "Items"))
610
+ ListDiscoveredResourcesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
611
+ ListDiscoveredResourcesResponse.struct_class = Types::ListDiscoveredResourcesResponse
612
+
526
613
  ListMemberAccountsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
527
614
  ListMemberAccountsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PaginationMaxResults, location_name: "MaxResults"))
528
615
  ListMemberAccountsRequest.struct_class = Types::ListMemberAccountsRequest
@@ -548,6 +635,23 @@ module Aws::FMS
548
635
  ListProtocolsListsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
549
636
  ListProtocolsListsResponse.struct_class = Types::ListProtocolsListsResponse
550
637
 
638
+ ListResourceSetResourcesRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "Identifier"))
639
+ ListResourceSetResourcesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PaginationMaxResults, location_name: "MaxResults"))
640
+ ListResourceSetResourcesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
641
+ ListResourceSetResourcesRequest.struct_class = Types::ListResourceSetResourcesRequest
642
+
643
+ ListResourceSetResourcesResponse.add_member(:items, Shapes::ShapeRef.new(shape: ResourceList, required: true, location_name: "Items"))
644
+ ListResourceSetResourcesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
645
+ ListResourceSetResourcesResponse.struct_class = Types::ListResourceSetResourcesResponse
646
+
647
+ ListResourceSetsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
648
+ ListResourceSetsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PaginationMaxResults, location_name: "MaxResults"))
649
+ ListResourceSetsRequest.struct_class = Types::ListResourceSetsRequest
650
+
651
+ ListResourceSetsResponse.add_member(:resource_sets, Shapes::ShapeRef.new(shape: ResourceSetSummaryList, location_name: "ResourceSets"))
652
+ ListResourceSetsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
653
+ ListResourceSetsResponse.struct_class = Types::ListResourceSetsResponse
654
+
551
655
  ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
552
656
  ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
553
657
 
@@ -685,6 +789,8 @@ module Aws::FMS
685
789
  Policy.add_member(:delete_unused_fm_managed_resources, Shapes::ShapeRef.new(shape: Boolean, location_name: "DeleteUnusedFMManagedResources"))
686
790
  Policy.add_member(:include_map, Shapes::ShapeRef.new(shape: CustomerPolicyScopeMap, location_name: "IncludeMap"))
687
791
  Policy.add_member(:exclude_map, Shapes::ShapeRef.new(shape: CustomerPolicyScopeMap, location_name: "ExcludeMap"))
792
+ Policy.add_member(:resource_set_ids, Shapes::ShapeRef.new(shape: ResourceSetIds, location_name: "ResourceSetIds"))
793
+ Policy.add_member(:policy_description, Shapes::ShapeRef.new(shape: ResourceDescription, location_name: "PolicyDescription"))
688
794
  Policy.struct_class = Types::Policy
689
795
 
690
796
  PolicyComplianceDetail.add_member(:policy_owner, Shapes::ShapeRef.new(shape: AWSAccountId, location_name: "PolicyOwner"))
@@ -786,6 +892,14 @@ module Aws::FMS
786
892
  PutProtocolsListResponse.add_member(:protocols_list_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ProtocolsListArn"))
787
893
  PutProtocolsListResponse.struct_class = Types::PutProtocolsListResponse
788
894
 
895
+ PutResourceSetRequest.add_member(:resource_set, Shapes::ShapeRef.new(shape: ResourceSet, required: true, location_name: "ResourceSet"))
896
+ PutResourceSetRequest.add_member(:tag_list, Shapes::ShapeRef.new(shape: TagList, location_name: "TagList"))
897
+ PutResourceSetRequest.struct_class = Types::PutResourceSetRequest
898
+
899
+ PutResourceSetResponse.add_member(:resource_set, Shapes::ShapeRef.new(shape: ResourceSet, required: true, location_name: "ResourceSet"))
900
+ PutResourceSetResponse.add_member(:resource_set_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceSetArn"))
901
+ PutResourceSetResponse.struct_class = Types::PutResourceSetResponse
902
+
789
903
  RemediationAction.add_member(:description, Shapes::ShapeRef.new(shape: LengthBoundedString, location_name: "Description"))
790
904
  RemediationAction.add_member(:ec2_create_route_action, Shapes::ShapeRef.new(shape: EC2CreateRouteAction, location_name: "EC2CreateRouteAction"))
791
905
  RemediationAction.add_member(:ec2_replace_route_action, Shapes::ShapeRef.new(shape: EC2ReplaceRouteAction, location_name: "EC2ReplaceRouteAction"))
@@ -801,11 +915,35 @@ module Aws::FMS
801
915
  RemediationActionWithOrder.add_member(:order, Shapes::ShapeRef.new(shape: BasicInteger, location_name: "Order"))
802
916
  RemediationActionWithOrder.struct_class = Types::RemediationActionWithOrder
803
917
 
918
+ Resource.add_member(:uri, Shapes::ShapeRef.new(shape: Identifier, required: true, location_name: "URI"))
919
+ Resource.add_member(:account_id, Shapes::ShapeRef.new(shape: AWSAccountId, location_name: "AccountId"))
920
+ Resource.struct_class = Types::Resource
921
+
804
922
  ResourceIdList.member = Shapes::ShapeRef.new(shape: ResourceId)
805
923
 
924
+ ResourceList.member = Shapes::ShapeRef.new(shape: Resource)
925
+
806
926
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
807
927
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
808
928
 
929
+ ResourceSet.add_member(:id, Shapes::ShapeRef.new(shape: Base62Id, location_name: "Id"))
930
+ ResourceSet.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
931
+ ResourceSet.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
932
+ ResourceSet.add_member(:update_token, Shapes::ShapeRef.new(shape: UpdateToken, location_name: "UpdateToken"))
933
+ ResourceSet.add_member(:resource_type_list, Shapes::ShapeRef.new(shape: ResourceTypeList, required: true, location_name: "ResourceTypeList"))
934
+ ResourceSet.add_member(:last_update_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "LastUpdateTime"))
935
+ ResourceSet.struct_class = Types::ResourceSet
936
+
937
+ ResourceSetIds.member = Shapes::ShapeRef.new(shape: Base62Id)
938
+
939
+ ResourceSetSummary.add_member(:id, Shapes::ShapeRef.new(shape: Base62Id, location_name: "Id"))
940
+ ResourceSetSummary.add_member(:name, Shapes::ShapeRef.new(shape: Name, location_name: "Name"))
941
+ ResourceSetSummary.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
942
+ ResourceSetSummary.add_member(:last_update_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "LastUpdateTime"))
943
+ ResourceSetSummary.struct_class = Types::ResourceSetSummary
944
+
945
+ ResourceSetSummaryList.member = Shapes::ShapeRef.new(shape: ResourceSetSummary)
946
+
809
947
  ResourceTag.add_member(:key, Shapes::ShapeRef.new(shape: ResourceTagKey, required: true, location_name: "Key"))
810
948
  ResourceTag.add_member(:value, Shapes::ShapeRef.new(shape: ResourceTagValue, location_name: "Value"))
811
949
  ResourceTag.struct_class = Types::ResourceTag
@@ -1005,6 +1143,31 @@ module Aws::FMS
1005
1143
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1006
1144
  end)
1007
1145
 
1146
+ api.add_operation(:batch_associate_resource, Seahorse::Model::Operation.new.tap do |o|
1147
+ o.name = "BatchAssociateResource"
1148
+ o.http_method = "POST"
1149
+ o.http_request_uri = "/"
1150
+ o.input = Shapes::ShapeRef.new(shape: BatchAssociateResourceRequest)
1151
+ o.output = Shapes::ShapeRef.new(shape: BatchAssociateResourceResponse)
1152
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1153
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1154
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1155
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1156
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1157
+ end)
1158
+
1159
+ api.add_operation(:batch_disassociate_resource, Seahorse::Model::Operation.new.tap do |o|
1160
+ o.name = "BatchDisassociateResource"
1161
+ o.http_method = "POST"
1162
+ o.http_request_uri = "/"
1163
+ o.input = Shapes::ShapeRef.new(shape: BatchDisassociateResourceRequest)
1164
+ o.output = Shapes::ShapeRef.new(shape: BatchDisassociateResourceResponse)
1165
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1166
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1167
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1168
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1169
+ end)
1170
+
1008
1171
  api.add_operation(:delete_apps_list, Seahorse::Model::Operation.new.tap do |o|
1009
1172
  o.name = "DeleteAppsList"
1010
1173
  o.http_method = "POST"
@@ -1051,6 +1214,18 @@ module Aws::FMS
1051
1214
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1052
1215
  end)
1053
1216
 
1217
+ api.add_operation(:delete_resource_set, Seahorse::Model::Operation.new.tap do |o|
1218
+ o.name = "DeleteResourceSet"
1219
+ o.http_method = "POST"
1220
+ o.http_request_uri = "/"
1221
+ o.input = Shapes::ShapeRef.new(shape: DeleteResourceSetRequest)
1222
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1223
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1224
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1225
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1226
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1227
+ end)
1228
+
1054
1229
  api.add_operation(:disassociate_admin_account, Seahorse::Model::Operation.new.tap do |o|
1055
1230
  o.name = "DisassociateAdminAccount"
1056
1231
  o.http_method = "POST"
@@ -1153,6 +1328,18 @@ module Aws::FMS
1153
1328
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1154
1329
  end)
1155
1330
 
1331
+ api.add_operation(:get_resource_set, Seahorse::Model::Operation.new.tap do |o|
1332
+ o.name = "GetResourceSet"
1333
+ o.http_method = "POST"
1334
+ o.http_request_uri = "/"
1335
+ o.input = Shapes::ShapeRef.new(shape: GetResourceSetRequest)
1336
+ o.output = Shapes::ShapeRef.new(shape: GetResourceSetResponse)
1337
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1338
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1339
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1340
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1341
+ end)
1342
+
1156
1343
  api.add_operation(:get_third_party_firewall_association_status, Seahorse::Model::Operation.new.tap do |o|
1157
1344
  o.name = "GetThirdPartyFirewallAssociationStatus"
1158
1345
  o.http_method = "POST"
@@ -1210,6 +1397,17 @@ module Aws::FMS
1210
1397
  )
1211
1398
  end)
1212
1399
 
1400
+ api.add_operation(:list_discovered_resources, Seahorse::Model::Operation.new.tap do |o|
1401
+ o.name = "ListDiscoveredResources"
1402
+ o.http_method = "POST"
1403
+ o.http_request_uri = "/"
1404
+ o.input = Shapes::ShapeRef.new(shape: ListDiscoveredResourcesRequest)
1405
+ o.output = Shapes::ShapeRef.new(shape: ListDiscoveredResourcesResponse)
1406
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1407
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1408
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1409
+ end)
1410
+
1213
1411
  api.add_operation(:list_member_accounts, Seahorse::Model::Operation.new.tap do |o|
1214
1412
  o.name = "ListMemberAccounts"
1215
1413
  o.http_method = "POST"
@@ -1261,6 +1459,29 @@ module Aws::FMS
1261
1459
  )
1262
1460
  end)
1263
1461
 
1462
+ api.add_operation(:list_resource_set_resources, Seahorse::Model::Operation.new.tap do |o|
1463
+ o.name = "ListResourceSetResources"
1464
+ o.http_method = "POST"
1465
+ o.http_request_uri = "/"
1466
+ o.input = Shapes::ShapeRef.new(shape: ListResourceSetResourcesRequest)
1467
+ o.output = Shapes::ShapeRef.new(shape: ListResourceSetResourcesResponse)
1468
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1469
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1470
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1471
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1472
+ end)
1473
+
1474
+ api.add_operation(:list_resource_sets, Seahorse::Model::Operation.new.tap do |o|
1475
+ o.name = "ListResourceSets"
1476
+ o.http_method = "POST"
1477
+ o.http_request_uri = "/"
1478
+ o.input = Shapes::ShapeRef.new(shape: ListResourceSetsRequest)
1479
+ o.output = Shapes::ShapeRef.new(shape: ListResourceSetsResponse)
1480
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1481
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1482
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1483
+ end)
1484
+
1264
1485
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
1265
1486
  o.name = "ListTagsForResource"
1266
1487
  o.http_method = "POST"
@@ -1342,6 +1563,18 @@ module Aws::FMS
1342
1563
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1343
1564
  end)
1344
1565
 
1566
+ api.add_operation(:put_resource_set, Seahorse::Model::Operation.new.tap do |o|
1567
+ o.name = "PutResourceSet"
1568
+ o.http_method = "POST"
1569
+ o.http_request_uri = "/"
1570
+ o.input = Shapes::ShapeRef.new(shape: PutResourceSetRequest)
1571
+ o.output = Shapes::ShapeRef.new(shape: PutResourceSetResponse)
1572
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1573
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1574
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1575
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
1576
+ end)
1577
+
1345
1578
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
1346
1579
  o.name = "TagResource"
1347
1580
  o.http_method = "POST"
@@ -50,6 +50,9 @@ module Aws::FMS
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -29,82 +29,81 @@ module Aws::FMS
29
29
  # @api private
30
30
  RULES = <<-JSON
31
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
- dCI6eyJ1cmwiOiJodHRwczovL2Ztcy1maXBzLntSZWdpb259LntQYXJ0aXRp
77
- b25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9
78
- LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRp
79
- b25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJs
80
- ZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBv
81
- ciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZu
82
- IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0
83
- cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
84
- eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
85
- QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
86
- b3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
87
- dGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
88
- IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9mbXMtZmlwcy57UmVn
89
- aW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
90
- Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0seyJj
91
- b25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0IHRo
92
- aXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUiOiJl
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
+ c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfV0sInR5cGUiOiJ0
54
+ cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVx
55
+ dWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJlcnJv
56
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRklQUyBhbmQgY3VzdG9tIGVu
57
+ ZHBvaW50IGFyZSBub3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJj
58
+ b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
59
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
60
+ VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZp
61
+ Z3VyYXRpb246IER1YWxzdGFjayBhbmQgY3VzdG9tIGVuZHBvaW50IGFyZSBu
62
+ b3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJjb25kaXRpb25zIjpb
63
+ XSwiZW5kcG9pbnQiOnsidXJsIjp7InJlZiI6IkVuZHBvaW50In0sInByb3Bl
64
+ cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
65
+ fSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3Yi
66
+ Olt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX0seyJmbiI6ImJvb2xlYW5FcXVh
67
+ bHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0
68
+ eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
69
+ b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
70
+ Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMi
71
+ XX1dfSx7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
72
+ OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
73
+ InN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVz
74
+ IjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6
75
+ Ly9mbXMtZmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFj
76
+ a0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0
77
+ eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoi
78
+ RklQUyBhbmQgRHVhbFN0YWNrIGFyZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0
79
+ aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBvbmUgb3IgYm90aCIsInR5cGUiOiJl
93
80
  cnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
94
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0eXBl
95
- IjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
96
- YW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3Yi
97
- Olt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFj
98
- ayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
99
- W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZm1zLntSZWdpb259LntQ
100
- YXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRp
101
- ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJj
102
- b25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBi
103
- dXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2si
104
- LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50
105
- Ijp7InVybCI6Imh0dHBzOi8vZm1zLntSZWdpb259LntQYXJ0aXRpb25SZXN1
106
- bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0s
107
- InR5cGUiOiJlbmRwb2ludCJ9XX1dfQ==
81
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19XSwidHlwZSI6InRy
82
+ ZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1
83
+ YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJy
84
+ ZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0
85
+ eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbXSwidHlwZSI6
86
+ InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7
87
+ InVybCI6Imh0dHBzOi8vZm1zLWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJl
88
+ c3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9
89
+ fSwidHlwZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVy
90
+ cm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2Vz
91
+ IG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0
92
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
93
+ VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6
94
+ W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6
95
+ W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRp
96
+ b25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0
97
+ cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
98
+ cmwiOiJodHRwczovL2Ztcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2R1
99
+ YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6
100
+ e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10sImVy
101
+ cm9yIjoiRHVhbFN0YWNrIGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9u
102
+ IGRvZXMgbm90IHN1cHBvcnQgRHVhbFN0YWNrIiwidHlwZSI6ImVycm9yIn1d
103
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczov
104
+ L2Ztcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
105
+ cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
106
+ fV19XX0=
108
107
 
109
108
  JSON
110
109
  end