aws-sdk-workspacesweb 1.4.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,8 @@ module Aws::WorkSpacesWeb
22
22
  AssociateNetworkSettingsResponse = Shapes::StructureShape.new(name: 'AssociateNetworkSettingsResponse')
23
23
  AssociateTrustStoreRequest = Shapes::StructureShape.new(name: 'AssociateTrustStoreRequest')
24
24
  AssociateTrustStoreResponse = Shapes::StructureShape.new(name: 'AssociateTrustStoreResponse')
25
+ AssociateUserAccessLoggingSettingsRequest = Shapes::StructureShape.new(name: 'AssociateUserAccessLoggingSettingsRequest')
26
+ AssociateUserAccessLoggingSettingsResponse = Shapes::StructureShape.new(name: 'AssociateUserAccessLoggingSettingsResponse')
25
27
  AssociateUserSettingsRequest = Shapes::StructureShape.new(name: 'AssociateUserSettingsRequest')
26
28
  AssociateUserSettingsResponse = Shapes::StructureShape.new(name: 'AssociateUserSettingsResponse')
27
29
  BrowserPolicy = Shapes::StringShape.new(name: 'BrowserPolicy')
@@ -49,6 +51,8 @@ module Aws::WorkSpacesWeb
49
51
  CreatePortalResponse = Shapes::StructureShape.new(name: 'CreatePortalResponse')
50
52
  CreateTrustStoreRequest = Shapes::StructureShape.new(name: 'CreateTrustStoreRequest')
51
53
  CreateTrustStoreResponse = Shapes::StructureShape.new(name: 'CreateTrustStoreResponse')
54
+ CreateUserAccessLoggingSettingsRequest = Shapes::StructureShape.new(name: 'CreateUserAccessLoggingSettingsRequest')
55
+ CreateUserAccessLoggingSettingsResponse = Shapes::StructureShape.new(name: 'CreateUserAccessLoggingSettingsResponse')
52
56
  CreateUserSettingsRequest = Shapes::StructureShape.new(name: 'CreateUserSettingsRequest')
53
57
  CreateUserSettingsResponse = Shapes::StructureShape.new(name: 'CreateUserSettingsResponse')
54
58
  DeleteBrowserSettingsRequest = Shapes::StructureShape.new(name: 'DeleteBrowserSettingsRequest')
@@ -61,6 +65,8 @@ module Aws::WorkSpacesWeb
61
65
  DeletePortalResponse = Shapes::StructureShape.new(name: 'DeletePortalResponse')
62
66
  DeleteTrustStoreRequest = Shapes::StructureShape.new(name: 'DeleteTrustStoreRequest')
63
67
  DeleteTrustStoreResponse = Shapes::StructureShape.new(name: 'DeleteTrustStoreResponse')
68
+ DeleteUserAccessLoggingSettingsRequest = Shapes::StructureShape.new(name: 'DeleteUserAccessLoggingSettingsRequest')
69
+ DeleteUserAccessLoggingSettingsResponse = Shapes::StructureShape.new(name: 'DeleteUserAccessLoggingSettingsResponse')
64
70
  DeleteUserSettingsRequest = Shapes::StructureShape.new(name: 'DeleteUserSettingsRequest')
65
71
  DeleteUserSettingsResponse = Shapes::StructureShape.new(name: 'DeleteUserSettingsResponse')
66
72
  DisassociateBrowserSettingsRequest = Shapes::StructureShape.new(name: 'DisassociateBrowserSettingsRequest')
@@ -69,6 +75,8 @@ module Aws::WorkSpacesWeb
69
75
  DisassociateNetworkSettingsResponse = Shapes::StructureShape.new(name: 'DisassociateNetworkSettingsResponse')
70
76
  DisassociateTrustStoreRequest = Shapes::StructureShape.new(name: 'DisassociateTrustStoreRequest')
71
77
  DisassociateTrustStoreResponse = Shapes::StructureShape.new(name: 'DisassociateTrustStoreResponse')
78
+ DisassociateUserAccessLoggingSettingsRequest = Shapes::StructureShape.new(name: 'DisassociateUserAccessLoggingSettingsRequest')
79
+ DisassociateUserAccessLoggingSettingsResponse = Shapes::StructureShape.new(name: 'DisassociateUserAccessLoggingSettingsResponse')
72
80
  DisassociateUserSettingsRequest = Shapes::StructureShape.new(name: 'DisassociateUserSettingsRequest')
73
81
  DisassociateUserSettingsResponse = Shapes::StructureShape.new(name: 'DisassociateUserSettingsResponse')
74
82
  DisconnectTimeoutInMinutes = Shapes::IntegerShape.new(name: 'DisconnectTimeoutInMinutes')
@@ -91,6 +99,8 @@ module Aws::WorkSpacesWeb
91
99
  GetTrustStoreCertificateResponse = Shapes::StructureShape.new(name: 'GetTrustStoreCertificateResponse')
92
100
  GetTrustStoreRequest = Shapes::StructureShape.new(name: 'GetTrustStoreRequest')
93
101
  GetTrustStoreResponse = Shapes::StructureShape.new(name: 'GetTrustStoreResponse')
102
+ GetUserAccessLoggingSettingsRequest = Shapes::StructureShape.new(name: 'GetUserAccessLoggingSettingsRequest')
103
+ GetUserAccessLoggingSettingsResponse = Shapes::StructureShape.new(name: 'GetUserAccessLoggingSettingsResponse')
94
104
  GetUserSettingsRequest = Shapes::StructureShape.new(name: 'GetUserSettingsRequest')
95
105
  GetUserSettingsResponse = Shapes::StructureShape.new(name: 'GetUserSettingsResponse')
96
106
  IdentityProvider = Shapes::StructureShape.new(name: 'IdentityProvider')
@@ -101,6 +111,7 @@ module Aws::WorkSpacesWeb
101
111
  IdentityProviderType = Shapes::StringShape.new(name: 'IdentityProviderType')
102
112
  IdleDisconnectTimeoutInMinutes = Shapes::IntegerShape.new(name: 'IdleDisconnectTimeoutInMinutes')
103
113
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
114
+ KinesisStreamArn = Shapes::StringShape.new(name: 'KinesisStreamArn')
104
115
  ListBrowserSettingsRequest = Shapes::StructureShape.new(name: 'ListBrowserSettingsRequest')
105
116
  ListBrowserSettingsResponse = Shapes::StructureShape.new(name: 'ListBrowserSettingsResponse')
106
117
  ListIdentityProvidersRequest = Shapes::StructureShape.new(name: 'ListIdentityProvidersRequest')
@@ -115,6 +126,8 @@ module Aws::WorkSpacesWeb
115
126
  ListTrustStoreCertificatesResponse = Shapes::StructureShape.new(name: 'ListTrustStoreCertificatesResponse')
116
127
  ListTrustStoresRequest = Shapes::StructureShape.new(name: 'ListTrustStoresRequest')
117
128
  ListTrustStoresResponse = Shapes::StructureShape.new(name: 'ListTrustStoresResponse')
129
+ ListUserAccessLoggingSettingsRequest = Shapes::StructureShape.new(name: 'ListUserAccessLoggingSettingsRequest')
130
+ ListUserAccessLoggingSettingsResponse = Shapes::StructureShape.new(name: 'ListUserAccessLoggingSettingsResponse')
118
131
  ListUserSettingsRequest = Shapes::StructureShape.new(name: 'ListUserSettingsRequest')
119
132
  ListUserSettingsResponse = Shapes::StructureShape.new(name: 'ListUserSettingsResponse')
120
133
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
@@ -168,8 +181,13 @@ module Aws::WorkSpacesWeb
168
181
  UpdatePortalResponse = Shapes::StructureShape.new(name: 'UpdatePortalResponse')
169
182
  UpdateTrustStoreRequest = Shapes::StructureShape.new(name: 'UpdateTrustStoreRequest')
170
183
  UpdateTrustStoreResponse = Shapes::StructureShape.new(name: 'UpdateTrustStoreResponse')
184
+ UpdateUserAccessLoggingSettingsRequest = Shapes::StructureShape.new(name: 'UpdateUserAccessLoggingSettingsRequest')
185
+ UpdateUserAccessLoggingSettingsResponse = Shapes::StructureShape.new(name: 'UpdateUserAccessLoggingSettingsResponse')
171
186
  UpdateUserSettingsRequest = Shapes::StructureShape.new(name: 'UpdateUserSettingsRequest')
172
187
  UpdateUserSettingsResponse = Shapes::StructureShape.new(name: 'UpdateUserSettingsResponse')
188
+ UserAccessLoggingSettings = Shapes::StructureShape.new(name: 'UserAccessLoggingSettings')
189
+ UserAccessLoggingSettingsList = Shapes::ListShape.new(name: 'UserAccessLoggingSettingsList')
190
+ UserAccessLoggingSettingsSummary = Shapes::StructureShape.new(name: 'UserAccessLoggingSettingsSummary')
173
191
  UserSettings = Shapes::StructureShape.new(name: 'UserSettings')
174
192
  UserSettingsList = Shapes::ListShape.new(name: 'UserSettingsList')
175
193
  UserSettingsSummary = Shapes::StructureShape.new(name: 'UserSettingsSummary')
@@ -209,6 +227,14 @@ module Aws::WorkSpacesWeb
209
227
  AssociateTrustStoreResponse.add_member(:trust_store_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "trustStoreArn"))
210
228
  AssociateTrustStoreResponse.struct_class = Types::AssociateTrustStoreResponse
211
229
 
230
+ AssociateUserAccessLoggingSettingsRequest.add_member(:portal_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "portalArn"))
231
+ AssociateUserAccessLoggingSettingsRequest.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "querystring", location_name: "userAccessLoggingSettingsArn"))
232
+ AssociateUserAccessLoggingSettingsRequest.struct_class = Types::AssociateUserAccessLoggingSettingsRequest
233
+
234
+ AssociateUserAccessLoggingSettingsResponse.add_member(:portal_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "portalArn"))
235
+ AssociateUserAccessLoggingSettingsResponse.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "userAccessLoggingSettingsArn"))
236
+ AssociateUserAccessLoggingSettingsResponse.struct_class = Types::AssociateUserAccessLoggingSettingsResponse
237
+
212
238
  AssociateUserSettingsRequest.add_member(:portal_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "portalArn"))
213
239
  AssociateUserSettingsRequest.add_member(:user_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "querystring", location_name: "userSettingsArn"))
214
240
  AssociateUserSettingsRequest.struct_class = Types::AssociateUserSettingsRequest
@@ -302,6 +328,14 @@ module Aws::WorkSpacesWeb
302
328
  CreateTrustStoreResponse.add_member(:trust_store_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "trustStoreArn"))
303
329
  CreateTrustStoreResponse.struct_class = Types::CreateTrustStoreResponse
304
330
 
331
+ CreateUserAccessLoggingSettingsRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
332
+ CreateUserAccessLoggingSettingsRequest.add_member(:kinesis_stream_arn, Shapes::ShapeRef.new(shape: KinesisStreamArn, required: true, location_name: "kinesisStreamArn"))
333
+ CreateUserAccessLoggingSettingsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
334
+ CreateUserAccessLoggingSettingsRequest.struct_class = Types::CreateUserAccessLoggingSettingsRequest
335
+
336
+ CreateUserAccessLoggingSettingsResponse.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "userAccessLoggingSettingsArn"))
337
+ CreateUserAccessLoggingSettingsResponse.struct_class = Types::CreateUserAccessLoggingSettingsResponse
338
+
305
339
  CreateUserSettingsRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
306
340
  CreateUserSettingsRequest.add_member(:copy_allowed, Shapes::ShapeRef.new(shape: EnabledType, required: true, location_name: "copyAllowed"))
307
341
  CreateUserSettingsRequest.add_member(:disconnect_timeout_in_minutes, Shapes::ShapeRef.new(shape: DisconnectTimeoutInMinutes, location_name: "disconnectTimeoutInMinutes"))
@@ -341,6 +375,11 @@ module Aws::WorkSpacesWeb
341
375
 
342
376
  DeleteTrustStoreResponse.struct_class = Types::DeleteTrustStoreResponse
343
377
 
378
+ DeleteUserAccessLoggingSettingsRequest.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "userAccessLoggingSettingsArn"))
379
+ DeleteUserAccessLoggingSettingsRequest.struct_class = Types::DeleteUserAccessLoggingSettingsRequest
380
+
381
+ DeleteUserAccessLoggingSettingsResponse.struct_class = Types::DeleteUserAccessLoggingSettingsResponse
382
+
344
383
  DeleteUserSettingsRequest.add_member(:user_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "userSettingsArn"))
345
384
  DeleteUserSettingsRequest.struct_class = Types::DeleteUserSettingsRequest
346
385
 
@@ -361,6 +400,11 @@ module Aws::WorkSpacesWeb
361
400
 
362
401
  DisassociateTrustStoreResponse.struct_class = Types::DisassociateTrustStoreResponse
363
402
 
403
+ DisassociateUserAccessLoggingSettingsRequest.add_member(:portal_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "portalArn"))
404
+ DisassociateUserAccessLoggingSettingsRequest.struct_class = Types::DisassociateUserAccessLoggingSettingsRequest
405
+
406
+ DisassociateUserAccessLoggingSettingsResponse.struct_class = Types::DisassociateUserAccessLoggingSettingsResponse
407
+
364
408
  DisassociateUserSettingsRequest.add_member(:portal_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "portalArn"))
365
409
  DisassociateUserSettingsRequest.struct_class = Types::DisassociateUserSettingsRequest
366
410
 
@@ -414,6 +458,12 @@ module Aws::WorkSpacesWeb
414
458
  GetTrustStoreResponse.add_member(:trust_store, Shapes::ShapeRef.new(shape: TrustStore, location_name: "trustStore"))
415
459
  GetTrustStoreResponse.struct_class = Types::GetTrustStoreResponse
416
460
 
461
+ GetUserAccessLoggingSettingsRequest.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "userAccessLoggingSettingsArn"))
462
+ GetUserAccessLoggingSettingsRequest.struct_class = Types::GetUserAccessLoggingSettingsRequest
463
+
464
+ GetUserAccessLoggingSettingsResponse.add_member(:user_access_logging_settings, Shapes::ShapeRef.new(shape: UserAccessLoggingSettings, location_name: "userAccessLoggingSettings"))
465
+ GetUserAccessLoggingSettingsResponse.struct_class = Types::GetUserAccessLoggingSettingsResponse
466
+
417
467
  GetUserSettingsRequest.add_member(:user_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "userSettingsArn"))
418
468
  GetUserSettingsRequest.struct_class = Types::GetUserSettingsRequest
419
469
 
@@ -497,6 +547,14 @@ module Aws::WorkSpacesWeb
497
547
  ListTrustStoresResponse.add_member(:trust_stores, Shapes::ShapeRef.new(shape: TrustStoreSummaryList, location_name: "trustStores"))
498
548
  ListTrustStoresResponse.struct_class = Types::ListTrustStoresResponse
499
549
 
550
+ ListUserAccessLoggingSettingsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
551
+ ListUserAccessLoggingSettingsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
552
+ ListUserAccessLoggingSettingsRequest.struct_class = Types::ListUserAccessLoggingSettingsRequest
553
+
554
+ ListUserAccessLoggingSettingsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
555
+ ListUserAccessLoggingSettingsResponse.add_member(:user_access_logging_settings, Shapes::ShapeRef.new(shape: UserAccessLoggingSettingsList, location_name: "userAccessLoggingSettings"))
556
+ ListUserAccessLoggingSettingsResponse.struct_class = Types::ListUserAccessLoggingSettingsResponse
557
+
500
558
  ListUserSettingsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
501
559
  ListUserSettingsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location: "querystring", location_name: "nextToken"))
502
560
  ListUserSettingsRequest.struct_class = Types::ListUserSettingsRequest
@@ -529,6 +587,7 @@ module Aws::WorkSpacesWeb
529
587
  Portal.add_member(:renderer_type, Shapes::ShapeRef.new(shape: RendererType, location_name: "rendererType"))
530
588
  Portal.add_member(:status_reason, Shapes::ShapeRef.new(shape: StatusReason, location_name: "statusReason"))
531
589
  Portal.add_member(:trust_store_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "trustStoreArn"))
590
+ Portal.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "userAccessLoggingSettingsArn"))
532
591
  Portal.add_member(:user_settings_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "userSettingsArn"))
533
592
  Portal.struct_class = Types::Portal
534
593
 
@@ -544,6 +603,7 @@ module Aws::WorkSpacesWeb
544
603
  PortalSummary.add_member(:portal_status, Shapes::ShapeRef.new(shape: PortalStatus, location_name: "portalStatus"))
545
604
  PortalSummary.add_member(:renderer_type, Shapes::ShapeRef.new(shape: RendererType, location_name: "rendererType"))
546
605
  PortalSummary.add_member(:trust_store_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "trustStoreArn"))
606
+ PortalSummary.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "userAccessLoggingSettingsArn"))
547
607
  PortalSummary.add_member(:user_settings_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "userSettingsArn"))
548
608
  PortalSummary.struct_class = Types::PortalSummary
549
609
 
@@ -647,6 +707,14 @@ module Aws::WorkSpacesWeb
647
707
  UpdateTrustStoreResponse.add_member(:trust_store_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "trustStoreArn"))
648
708
  UpdateTrustStoreResponse.struct_class = Types::UpdateTrustStoreResponse
649
709
 
710
+ UpdateUserAccessLoggingSettingsRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
711
+ UpdateUserAccessLoggingSettingsRequest.add_member(:kinesis_stream_arn, Shapes::ShapeRef.new(shape: KinesisStreamArn, location_name: "kinesisStreamArn"))
712
+ UpdateUserAccessLoggingSettingsRequest.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "userAccessLoggingSettingsArn"))
713
+ UpdateUserAccessLoggingSettingsRequest.struct_class = Types::UpdateUserAccessLoggingSettingsRequest
714
+
715
+ UpdateUserAccessLoggingSettingsResponse.add_member(:user_access_logging_settings, Shapes::ShapeRef.new(shape: UserAccessLoggingSettings, required: true, location_name: "userAccessLoggingSettings"))
716
+ UpdateUserAccessLoggingSettingsResponse.struct_class = Types::UpdateUserAccessLoggingSettingsResponse
717
+
650
718
  UpdateUserSettingsRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
651
719
  UpdateUserSettingsRequest.add_member(:copy_allowed, Shapes::ShapeRef.new(shape: EnabledType, location_name: "copyAllowed"))
652
720
  UpdateUserSettingsRequest.add_member(:disconnect_timeout_in_minutes, Shapes::ShapeRef.new(shape: DisconnectTimeoutInMinutes, location_name: "disconnectTimeoutInMinutes"))
@@ -661,6 +729,17 @@ module Aws::WorkSpacesWeb
661
729
  UpdateUserSettingsResponse.add_member(:user_settings, Shapes::ShapeRef.new(shape: UserSettings, required: true, location_name: "userSettings"))
662
730
  UpdateUserSettingsResponse.struct_class = Types::UpdateUserSettingsResponse
663
731
 
732
+ UserAccessLoggingSettings.add_member(:associated_portal_arns, Shapes::ShapeRef.new(shape: ArnList, location_name: "associatedPortalArns"))
733
+ UserAccessLoggingSettings.add_member(:kinesis_stream_arn, Shapes::ShapeRef.new(shape: KinesisStreamArn, location_name: "kinesisStreamArn"))
734
+ UserAccessLoggingSettings.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "userAccessLoggingSettingsArn"))
735
+ UserAccessLoggingSettings.struct_class = Types::UserAccessLoggingSettings
736
+
737
+ UserAccessLoggingSettingsList.member = Shapes::ShapeRef.new(shape: UserAccessLoggingSettingsSummary)
738
+
739
+ UserAccessLoggingSettingsSummary.add_member(:kinesis_stream_arn, Shapes::ShapeRef.new(shape: KinesisStreamArn, location_name: "kinesisStreamArn"))
740
+ UserAccessLoggingSettingsSummary.add_member(:user_access_logging_settings_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "userAccessLoggingSettingsArn"))
741
+ UserAccessLoggingSettingsSummary.struct_class = Types::UserAccessLoggingSettingsSummary
742
+
664
743
  UserSettings.add_member(:associated_portal_arns, Shapes::ShapeRef.new(shape: ArnList, location_name: "associatedPortalArns"))
665
744
  UserSettings.add_member(:copy_allowed, Shapes::ShapeRef.new(shape: EnabledType, location_name: "copyAllowed"))
666
745
  UserSettings.add_member(:disconnect_timeout_in_minutes, Shapes::ShapeRef.new(shape: DisconnectTimeoutInMinutes, location_name: "disconnectTimeoutInMinutes"))
@@ -754,6 +833,20 @@ module Aws::WorkSpacesWeb
754
833
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
755
834
  end)
756
835
 
836
+ api.add_operation(:associate_user_access_logging_settings, Seahorse::Model::Operation.new.tap do |o|
837
+ o.name = "AssociateUserAccessLoggingSettings"
838
+ o.http_method = "PUT"
839
+ o.http_request_uri = "/portals/{portalArn+}/userAccessLoggingSettings"
840
+ o.input = Shapes::ShapeRef.new(shape: AssociateUserAccessLoggingSettingsRequest)
841
+ o.output = Shapes::ShapeRef.new(shape: AssociateUserAccessLoggingSettingsResponse)
842
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
843
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
844
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
845
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
846
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
847
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
848
+ end)
849
+
757
850
  api.add_operation(:associate_user_settings, Seahorse::Model::Operation.new.tap do |o|
758
851
  o.name = "AssociateUserSettings"
759
852
  o.http_method = "PUT"
@@ -841,6 +934,20 @@ module Aws::WorkSpacesWeb
841
934
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
842
935
  end)
843
936
 
937
+ api.add_operation(:create_user_access_logging_settings, Seahorse::Model::Operation.new.tap do |o|
938
+ o.name = "CreateUserAccessLoggingSettings"
939
+ o.http_method = "POST"
940
+ o.http_request_uri = "/userAccessLoggingSettings"
941
+ o.input = Shapes::ShapeRef.new(shape: CreateUserAccessLoggingSettingsRequest)
942
+ o.output = Shapes::ShapeRef.new(shape: CreateUserAccessLoggingSettingsResponse)
943
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
944
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
945
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
946
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
947
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
948
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
949
+ end)
950
+
844
951
  api.add_operation(:create_user_settings, Seahorse::Model::Operation.new.tap do |o|
845
952
  o.name = "CreateUserSettings"
846
953
  o.http_method = "POST"
@@ -920,6 +1027,19 @@ module Aws::WorkSpacesWeb
920
1027
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
921
1028
  end)
922
1029
 
1030
+ api.add_operation(:delete_user_access_logging_settings, Seahorse::Model::Operation.new.tap do |o|
1031
+ o.name = "DeleteUserAccessLoggingSettings"
1032
+ o.http_method = "DELETE"
1033
+ o.http_request_uri = "/userAccessLoggingSettings/{userAccessLoggingSettingsArn+}"
1034
+ o.input = Shapes::ShapeRef.new(shape: DeleteUserAccessLoggingSettingsRequest)
1035
+ o.output = Shapes::ShapeRef.new(shape: DeleteUserAccessLoggingSettingsResponse)
1036
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1037
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1038
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1039
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1040
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1041
+ end)
1042
+
923
1043
  api.add_operation(:delete_user_settings, Seahorse::Model::Operation.new.tap do |o|
924
1044
  o.name = "DeleteUserSettings"
925
1045
  o.http_method = "DELETE"
@@ -972,6 +1092,19 @@ module Aws::WorkSpacesWeb
972
1092
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
973
1093
  end)
974
1094
 
1095
+ api.add_operation(:disassociate_user_access_logging_settings, Seahorse::Model::Operation.new.tap do |o|
1096
+ o.name = "DisassociateUserAccessLoggingSettings"
1097
+ o.http_method = "DELETE"
1098
+ o.http_request_uri = "/portals/{portalArn+}/userAccessLoggingSettings"
1099
+ o.input = Shapes::ShapeRef.new(shape: DisassociateUserAccessLoggingSettingsRequest)
1100
+ o.output = Shapes::ShapeRef.new(shape: DisassociateUserAccessLoggingSettingsResponse)
1101
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1102
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1103
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1104
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1105
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1106
+ end)
1107
+
975
1108
  api.add_operation(:disassociate_user_settings, Seahorse::Model::Operation.new.tap do |o|
976
1109
  o.name = "DisassociateUserSettings"
977
1110
  o.http_method = "DELETE"
@@ -1076,6 +1209,19 @@ module Aws::WorkSpacesWeb
1076
1209
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1077
1210
  end)
1078
1211
 
1212
+ api.add_operation(:get_user_access_logging_settings, Seahorse::Model::Operation.new.tap do |o|
1213
+ o.name = "GetUserAccessLoggingSettings"
1214
+ o.http_method = "GET"
1215
+ o.http_request_uri = "/userAccessLoggingSettings/{userAccessLoggingSettingsArn+}"
1216
+ o.input = Shapes::ShapeRef.new(shape: GetUserAccessLoggingSettingsRequest)
1217
+ o.output = Shapes::ShapeRef.new(shape: GetUserAccessLoggingSettingsResponse)
1218
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1219
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1220
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1221
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1222
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1223
+ end)
1224
+
1079
1225
  api.add_operation(:get_user_settings, Seahorse::Model::Operation.new.tap do |o|
1080
1226
  o.name = "GetUserSettings"
1081
1227
  o.http_method = "GET"
@@ -1211,6 +1357,24 @@ module Aws::WorkSpacesWeb
1211
1357
  )
1212
1358
  end)
1213
1359
 
1360
+ api.add_operation(:list_user_access_logging_settings, Seahorse::Model::Operation.new.tap do |o|
1361
+ o.name = "ListUserAccessLoggingSettings"
1362
+ o.http_method = "GET"
1363
+ o.http_request_uri = "/userAccessLoggingSettings"
1364
+ o.input = Shapes::ShapeRef.new(shape: ListUserAccessLoggingSettingsRequest)
1365
+ o.output = Shapes::ShapeRef.new(shape: ListUserAccessLoggingSettingsResponse)
1366
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1367
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1368
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1369
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1370
+ o[:pager] = Aws::Pager.new(
1371
+ limit_key: "max_results",
1372
+ tokens: {
1373
+ "next_token" => "next_token"
1374
+ }
1375
+ )
1376
+ end)
1377
+
1214
1378
  api.add_operation(:list_user_settings, Seahorse::Model::Operation.new.tap do |o|
1215
1379
  o.name = "ListUserSettings"
1216
1380
  o.http_method = "GET"
@@ -1322,6 +1486,19 @@ module Aws::WorkSpacesWeb
1322
1486
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1323
1487
  end)
1324
1488
 
1489
+ api.add_operation(:update_user_access_logging_settings, Seahorse::Model::Operation.new.tap do |o|
1490
+ o.name = "UpdateUserAccessLoggingSettings"
1491
+ o.http_method = "PATCH"
1492
+ o.http_request_uri = "/userAccessLoggingSettings/{userAccessLoggingSettingsArn+}"
1493
+ o.input = Shapes::ShapeRef.new(shape: UpdateUserAccessLoggingSettingsRequest)
1494
+ o.output = Shapes::ShapeRef.new(shape: UpdateUserAccessLoggingSettingsResponse)
1495
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1496
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1497
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1498
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1499
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1500
+ end)
1501
+
1325
1502
  api.add_operation(:update_user_settings, Seahorse::Model::Operation.new.tap do |o|
1326
1503
  o.name = "UpdateUserSettings"
1327
1504
  o.http_method = "PATCH"
@@ -0,0 +1,69 @@
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::WorkSpacesWeb
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
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
56
+ self[:use_dual_stack] = options[:use_dual_stack]
57
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
+ if self[:use_dual_stack].nil?
59
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
60
+ end
61
+ self[:use_fips] = options[:use_fips]
62
+ self[:use_fips] = false if self[:use_fips].nil?
63
+ if self[:use_fips].nil?
64
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
65
+ end
66
+ self[:endpoint] = options[:endpoint]
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::WorkSpacesWeb
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
+ 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
+ Ijp7InVybCI6Imh0dHBzOi8vd29ya3NwYWNlcy13ZWItZmlwcy57UmVnaW9u
77
+ fS57UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9w
78
+ ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19
79
+ LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNr
80
+ IGFyZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3Vw
81
+ cG9ydCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRp
82
+ b25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJV
83
+ c2VGSVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
84
+ ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUs
85
+ eyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1
86
+ bHQifSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVz
87
+ IjpbeyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3si
88
+ Y29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vd29y
89
+ a3NwYWNlcy13ZWItZmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ru
90
+ c1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
91
+ IjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJG
92
+ SVBTIGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1
93
+ cHBvcnQgRklQUyIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpb
94
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFs
95
+ U3RhY2sifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
96
+ aXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7
97
+ ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3Vs
98
+ dCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJy
99
+ dWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0
100
+ dHBzOi8vd29ya3NwYWNlcy13ZWIue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3Vs
101
+ dCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRl
102
+ cnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltd
103
+ LCJlcnJvciI6IkR1YWxTdGFjayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRp
104
+ dGlvbiBkb2VzIG5vdCBzdXBwb3J0IER1YWxTdGFjayIsInR5cGUiOiJlcnJv
105
+ ciJ9XX0seyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0
106
+ cHM6Ly93b3Jrc3BhY2VzLXdlYi57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0
107
+ I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0
108
+ eXBlIjoiZW5kcG9pbnQifV19XX0=
109
+
110
+ JSON
111
+ end
112
+ end