aws-sdk-verifiedpermissions 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2954 @@
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::VerifiedPermissions
11
+ module Types
12
+
13
+ # You don't have sufficient access to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # Contains information about an action for a request for which an
27
+ # authorization decision is made.
28
+ #
29
+ # This data type is used as an request parameter to the
30
+ # [IsAuthorized][1] and [IsAuthorizedWithToken][2] operations.
31
+ #
32
+ # Example: `\{ "actionId": "<action name>", "actionType": "Action" \}`
33
+ #
34
+ #
35
+ #
36
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html
37
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html
38
+ #
39
+ # @!attribute [rw] action_type
40
+ # The type of an action.
41
+ # @return [String]
42
+ #
43
+ # @!attribute [rw] action_id
44
+ # The ID of an action.
45
+ # @return [String]
46
+ #
47
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ActionIdentifier AWS API Documentation
48
+ #
49
+ class ActionIdentifier < Struct.new(
50
+ :action_type,
51
+ :action_id)
52
+ SENSITIVE = []
53
+ include Aws::Structure
54
+ end
55
+
56
+ # The value of an attribute.
57
+ #
58
+ # Contains information about the runtime context for a request for which
59
+ # an authorization decision is made.
60
+ #
61
+ # This data type is used as a member of the [ContextDefinition][1]
62
+ # structure which is uses as a request parameter for the
63
+ # [IsAuthorized][2] and [IsAuthorizedWithToken][3] operations.
64
+ #
65
+ #
66
+ #
67
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ContextDefinition.html
68
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html
69
+ # [3]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html
70
+ #
71
+ # @note AttributeValue is a union - when making an API calls you must set exactly one of the members.
72
+ #
73
+ # @!attribute [rw] boolean
74
+ # An attribute value of
75
+ # [Boolean](docs.cedarpolicy.comcedar-syntax-datatypes.html#datatype-boolean)
76
+ # type.
77
+ #
78
+ # Example: `\{"boolean": true\}`
79
+ # @return [Boolean]
80
+ #
81
+ # @!attribute [rw] entity_identifier
82
+ # An attribute value of type [EntityIdentifier][1].
83
+ #
84
+ # Example: `"entityIdentifier": \{ "entityId": "<id>", "entityType":
85
+ # "<entity type>"\}`
86
+ #
87
+ #
88
+ #
89
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_EntityIdentifier.html
90
+ # @return [Types::EntityIdentifier]
91
+ #
92
+ # @!attribute [rw] long
93
+ # An attribute value of
94
+ # [Long](docs.cedarpolicy.comcedar-syntax-datatypes.html#datatype-long)
95
+ # type.
96
+ #
97
+ # Example: `\{"long": 0\}`
98
+ # @return [Integer]
99
+ #
100
+ # @!attribute [rw] string
101
+ # An attribute value of
102
+ # [String](docs.cedarpolicy.comcedar-syntax-datatypes.html#datatype-string)
103
+ # type.
104
+ #
105
+ # Example: `\{"string": "abc"\}`
106
+ # @return [String]
107
+ #
108
+ # @!attribute [rw] set
109
+ # An attribute value of
110
+ # [Set](docs.cedarpolicy.comcedar-syntax-datatypes.html#datatype-set)
111
+ # type.
112
+ #
113
+ # Example: `\{"set": [ \{\} ] \}`
114
+ # @return [Array<Types::AttributeValue>]
115
+ #
116
+ # @!attribute [rw] record
117
+ # An attribute value of
118
+ # [Record](docs.cedarpolicy.comcedar-syntax-datatypes.html#datatype-record)
119
+ # type.
120
+ #
121
+ # Example: `\{"record": \{ "keyName": \{\} \} \}`
122
+ # @return [Hash<String,Types::AttributeValue>]
123
+ #
124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/AttributeValue AWS API Documentation
125
+ #
126
+ class AttributeValue < Struct.new(
127
+ :boolean,
128
+ :entity_identifier,
129
+ :long,
130
+ :string,
131
+ :set,
132
+ :record,
133
+ :unknown)
134
+ SENSITIVE = []
135
+ include Aws::Structure
136
+ include Aws::Structure::Union
137
+
138
+ class Boolean < AttributeValue; end
139
+ class EntityIdentifier < AttributeValue; end
140
+ class Long < AttributeValue; end
141
+ class String < AttributeValue; end
142
+ class Set < AttributeValue; end
143
+ class Record < AttributeValue; end
144
+ class Unknown < AttributeValue; end
145
+ end
146
+
147
+ # The configuration for an identity source that represents a connection
148
+ # to an Amazon Cognito user pool used as an identity provider for
149
+ # Verified Permissions.
150
+ #
151
+ # This data type is used as a field that is part of an
152
+ # [Configuration][1] structure that is used as a parameter to the
153
+ # [Configuration][1].
154
+ #
155
+ # Example:`"CognitoUserPoolConfiguration":\{"UserPoolArn":"cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5","ClientIds":
156
+ # ["a1b2c3d4e5f6g7h8i9j0kalbmc"]\}`
157
+ #
158
+ #
159
+ #
160
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_Configuration.html
161
+ #
162
+ # @!attribute [rw] user_pool_arn
163
+ # The [Amazon Resource Name (ARN)][1] of the Amazon Cognito user pool
164
+ # that contains the identities to be authorized.
165
+ #
166
+ # Example: `"UserPoolArn":
167
+ # "cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5"`
168
+ #
169
+ #
170
+ #
171
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
172
+ # @return [String]
173
+ #
174
+ # @!attribute [rw] client_ids
175
+ # The unique application client IDs that are associated with the
176
+ # specified Amazon Cognito user pool.
177
+ #
178
+ # Example: `"ClientIds": ["&ExampleCogClientId;"]`
179
+ # @return [Array<String>]
180
+ #
181
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/CognitoUserPoolConfiguration AWS API Documentation
182
+ #
183
+ class CognitoUserPoolConfiguration < Struct.new(
184
+ :user_pool_arn,
185
+ :client_ids)
186
+ SENSITIVE = []
187
+ include Aws::Structure
188
+ end
189
+
190
+ # Contains configuration information used when creating a new identity
191
+ # source.
192
+ #
193
+ # <note markdown="1"> At this time, the only valid member of this structure is a Amazon
194
+ # Cognito user pool configuration.
195
+ #
196
+ # You must specify a `userPoolArn`, and optionally, a `ClientId`.
197
+ #
198
+ # </note>
199
+ #
200
+ # This data type is used as a request parameter for the
201
+ # [CreateIdentitySource][1] operation.
202
+ #
203
+ #
204
+ #
205
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html
206
+ #
207
+ # @note Configuration is a union - when making an API calls you must set exactly one of the members.
208
+ #
209
+ # @!attribute [rw] cognito_user_pool_configuration
210
+ # Contains configuration details of a Amazon Cognito user pool that
211
+ # Verified Permissions can use as a source of authenticated identities
212
+ # as entities. It specifies the [Amazon Resource Name (ARN)][1] of a
213
+ # Amazon Cognito user pool and one or more application client IDs.
214
+ #
215
+ # Example:
216
+ # `"configuration":\{"cognitoUserPoolConfiguration":\{"userPoolArn":"cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5","clientIds":
217
+ # ["a1b2c3d4e5f6g7h8i9j0kalbmc"]\}\}`
218
+ #
219
+ #
220
+ #
221
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
222
+ # @return [Types::CognitoUserPoolConfiguration]
223
+ #
224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/Configuration AWS API Documentation
225
+ #
226
+ class Configuration < Struct.new(
227
+ :cognito_user_pool_configuration,
228
+ :unknown)
229
+ SENSITIVE = []
230
+ include Aws::Structure
231
+ include Aws::Structure::Union
232
+
233
+ class CognitoUserPoolConfiguration < Configuration; end
234
+ class Unknown < Configuration; end
235
+ end
236
+
237
+ # The request failed because another request to modify a resource
238
+ # occurred at the same.
239
+ #
240
+ # @!attribute [rw] message
241
+ # @return [String]
242
+ #
243
+ # @!attribute [rw] resources
244
+ # The list of resources referenced with this failed request.
245
+ # @return [Array<Types::ResourceConflict>]
246
+ #
247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ConflictException AWS API Documentation
248
+ #
249
+ class ConflictException < Struct.new(
250
+ :message,
251
+ :resources)
252
+ SENSITIVE = []
253
+ include Aws::Structure
254
+ end
255
+
256
+ # Contains additional details about the context of the request. Verified
257
+ # Permissions evaluates this information in an authorization request as
258
+ # part of the `when` and `unless` clauses in a policy.
259
+ #
260
+ # This data type is used as a request parameter for the
261
+ # [IsAuthorized][1] and [IsAuthorizedWithToken][2] operations.
262
+ #
263
+ # Example:
264
+ # `"context":\{"Context":\{"<KeyName1>":\{"boolean":true\},"<KeyName2>":\{"long":1234\}\}\}`
265
+ #
266
+ #
267
+ #
268
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html
269
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html
270
+ #
271
+ # @note ContextDefinition is a union - when making an API calls you must set exactly one of the members.
272
+ #
273
+ # @!attribute [rw] context_map
274
+ # An list of attributes that are needed to successfully evaluate an
275
+ # authorization request. Each attribute in this array must include a
276
+ # map of a data type and its value.
277
+ #
278
+ # Example:
279
+ # `"Context":\{"<KeyName1>":\{"boolean":true\},"<KeyName2>":\{"long":1234\}\}`
280
+ # @return [Hash<String,Types::AttributeValue>]
281
+ #
282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ContextDefinition AWS API Documentation
283
+ #
284
+ class ContextDefinition < Struct.new(
285
+ :context_map,
286
+ :unknown)
287
+ SENSITIVE = []
288
+ include Aws::Structure
289
+ include Aws::Structure::Union
290
+
291
+ class ContextMap < ContextDefinition; end
292
+ class Unknown < ContextDefinition; end
293
+ end
294
+
295
+ # @!attribute [rw] client_token
296
+ # Specifies a unique, case-sensitive ID that you provide to ensure the
297
+ # idempotency of the request. This lets you safely retry the request
298
+ # without accidentally performing the same operation a second time.
299
+ # Passing the same value to a later call to an operation requires that
300
+ # you also pass the same value for all other parameters. We recommend
301
+ # that you use a [UUID type of value.][1].
302
+ #
303
+ # If you don't provide this value, then Amazon Web Services generates
304
+ # a random one for you.
305
+ #
306
+ # If you retry the operation with the same `ClientToken`, but with
307
+ # different parameters, the retry fails with an
308
+ # `IdempotentParameterMismatch` error.
309
+ #
310
+ # **A suitable default value is auto-generated.** You should normally
311
+ # not need to pass this option.
312
+ #
313
+ #
314
+ #
315
+ # [1]: https://wikipedia.org/wiki/Universally_unique_Id
316
+ # @return [String]
317
+ #
318
+ # @!attribute [rw] policy_store_id
319
+ # Specifies the ID of the policy store in which you want to store this
320
+ # identity source. Only policies and requests made using this policy
321
+ # store can reference identities from the identity provider configured
322
+ # in the new identity source.
323
+ # @return [String]
324
+ #
325
+ # @!attribute [rw] configuration
326
+ # Specifies the details required to communicate with the identity
327
+ # provider (IdP) associated with this identity source.
328
+ #
329
+ # <note markdown="1"> At this time, the only valid member of this structure is a Amazon
330
+ # Cognito user pool configuration.
331
+ #
332
+ # You must specify a `UserPoolArn`, and optionally, a `ClientId`.
333
+ #
334
+ # </note>
335
+ # @return [Types::Configuration]
336
+ #
337
+ # @!attribute [rw] principal_entity_type
338
+ # Specifies the namespace and data type of the principals generated
339
+ # for identities authenticated by the new identity source.
340
+ # @return [String]
341
+ #
342
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/CreateIdentitySourceInput AWS API Documentation
343
+ #
344
+ class CreateIdentitySourceInput < Struct.new(
345
+ :client_token,
346
+ :policy_store_id,
347
+ :configuration,
348
+ :principal_entity_type)
349
+ SENSITIVE = []
350
+ include Aws::Structure
351
+ end
352
+
353
+ # @!attribute [rw] created_date
354
+ # The date and time the identity source was originally created.
355
+ # @return [Time]
356
+ #
357
+ # @!attribute [rw] identity_source_id
358
+ # The unique ID of the new identity source.
359
+ # @return [String]
360
+ #
361
+ # @!attribute [rw] last_updated_date
362
+ # The date and time the identity source was most recently updated.
363
+ # @return [Time]
364
+ #
365
+ # @!attribute [rw] policy_store_id
366
+ # The ID of the policy store that contains the identity source.
367
+ # @return [String]
368
+ #
369
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/CreateIdentitySourceOutput AWS API Documentation
370
+ #
371
+ class CreateIdentitySourceOutput < Struct.new(
372
+ :created_date,
373
+ :identity_source_id,
374
+ :last_updated_date,
375
+ :policy_store_id)
376
+ SENSITIVE = []
377
+ include Aws::Structure
378
+ end
379
+
380
+ # @!attribute [rw] client_token
381
+ # Specifies a unique, case-sensitive ID that you provide to ensure the
382
+ # idempotency of the request. This lets you safely retry the request
383
+ # without accidentally performing the same operation a second time.
384
+ # Passing the same value to a later call to an operation requires that
385
+ # you also pass the same value for all other parameters. We recommend
386
+ # that you use a [UUID type of value.][1].
387
+ #
388
+ # If you don't provide this value, then Amazon Web Services generates
389
+ # a random one for you.
390
+ #
391
+ # If you retry the operation with the same `ClientToken`, but with
392
+ # different parameters, the retry fails with an
393
+ # `IdempotentParameterMismatch` error.
394
+ #
395
+ # **A suitable default value is auto-generated.** You should normally
396
+ # not need to pass this option.
397
+ #
398
+ #
399
+ #
400
+ # [1]: https://wikipedia.org/wiki/Universally_unique_Id
401
+ # @return [String]
402
+ #
403
+ # @!attribute [rw] policy_store_id
404
+ # Specifies the `PolicyStoreId` of the policy store you want to store
405
+ # the policy in.
406
+ # @return [String]
407
+ #
408
+ # @!attribute [rw] definition
409
+ # A structure that specifies the policy type and content to use for
410
+ # the new policy. You must include either a static or a templateLinked
411
+ # element. The policy content must be written in the Cedar policy
412
+ # language.
413
+ # @return [Types::PolicyDefinition]
414
+ #
415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/CreatePolicyInput AWS API Documentation
416
+ #
417
+ class CreatePolicyInput < Struct.new(
418
+ :client_token,
419
+ :policy_store_id,
420
+ :definition)
421
+ SENSITIVE = []
422
+ include Aws::Structure
423
+ end
424
+
425
+ # @!attribute [rw] policy_store_id
426
+ # The ID of the policy store that contains the new policy.
427
+ # @return [String]
428
+ #
429
+ # @!attribute [rw] policy_id
430
+ # The unique ID of the new policy.
431
+ # @return [String]
432
+ #
433
+ # @!attribute [rw] policy_type
434
+ # The policy type of the new policy.
435
+ # @return [String]
436
+ #
437
+ # @!attribute [rw] principal
438
+ # The principal specified in the new policy's scope. This response
439
+ # element isn't present when `principal` isn't specified in the
440
+ # policy content.
441
+ # @return [Types::EntityIdentifier]
442
+ #
443
+ # @!attribute [rw] resource
444
+ # The resource specified in the new policy's scope. This response
445
+ # element isn't present when the `resource` isn't specified in the
446
+ # policy content.
447
+ # @return [Types::EntityIdentifier]
448
+ #
449
+ # @!attribute [rw] created_date
450
+ # The date and time the policy was originally created.
451
+ # @return [Time]
452
+ #
453
+ # @!attribute [rw] last_updated_date
454
+ # The date and time the policy was last updated.
455
+ # @return [Time]
456
+ #
457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/CreatePolicyOutput AWS API Documentation
458
+ #
459
+ class CreatePolicyOutput < Struct.new(
460
+ :policy_store_id,
461
+ :policy_id,
462
+ :policy_type,
463
+ :principal,
464
+ :resource,
465
+ :created_date,
466
+ :last_updated_date)
467
+ SENSITIVE = []
468
+ include Aws::Structure
469
+ end
470
+
471
+ # @!attribute [rw] client_token
472
+ # Specifies a unique, case-sensitive ID that you provide to ensure the
473
+ # idempotency of the request. This lets you safely retry the request
474
+ # without accidentally performing the same operation a second time.
475
+ # Passing the same value to a later call to an operation requires that
476
+ # you also pass the same value for all other parameters. We recommend
477
+ # that you use a [UUID type of value.][1].
478
+ #
479
+ # If you don't provide this value, then Amazon Web Services generates
480
+ # a random one for you.
481
+ #
482
+ # If you retry the operation with the same `ClientToken`, but with
483
+ # different parameters, the retry fails with an
484
+ # `IdempotentParameterMismatch` error.
485
+ #
486
+ # **A suitable default value is auto-generated.** You should normally
487
+ # not need to pass this option.
488
+ #
489
+ #
490
+ #
491
+ # [1]: https://wikipedia.org/wiki/Universally_unique_Id
492
+ # @return [String]
493
+ #
494
+ # @!attribute [rw] validation_settings
495
+ # Specifies the validation setting for this policy store.
496
+ #
497
+ # Currently, the only valid and required value is `Mode`.
498
+ #
499
+ # We recommend that you turn on `STRICT` mode only after you define a
500
+ # schema. If a schema doesn't exist, then `STRICT` mode causes any
501
+ # policy to fail validation, and Verified Permissions rejects the
502
+ # policy. You can turn off validation by using the
503
+ # [UpdatePolicyStore][1]. Then, when you have a schema defined, use
504
+ # [UpdatePolicyStore][1] again to turn validation back on.
505
+ #
506
+ #
507
+ #
508
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdatePolicyStore
509
+ # @return [Types::ValidationSettings]
510
+ #
511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/CreatePolicyStoreInput AWS API Documentation
512
+ #
513
+ class CreatePolicyStoreInput < Struct.new(
514
+ :client_token,
515
+ :validation_settings)
516
+ SENSITIVE = []
517
+ include Aws::Structure
518
+ end
519
+
520
+ # @!attribute [rw] policy_store_id
521
+ # The unique ID of the new policy store.
522
+ # @return [String]
523
+ #
524
+ # @!attribute [rw] arn
525
+ # The Amazon Resource Name (ARN) of the new policy store.
526
+ # @return [String]
527
+ #
528
+ # @!attribute [rw] created_date
529
+ # The date and time the policy store was originally created.
530
+ # @return [Time]
531
+ #
532
+ # @!attribute [rw] last_updated_date
533
+ # The date and time the policy store was last updated.
534
+ # @return [Time]
535
+ #
536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/CreatePolicyStoreOutput AWS API Documentation
537
+ #
538
+ class CreatePolicyStoreOutput < Struct.new(
539
+ :policy_store_id,
540
+ :arn,
541
+ :created_date,
542
+ :last_updated_date)
543
+ SENSITIVE = []
544
+ include Aws::Structure
545
+ end
546
+
547
+ # @!attribute [rw] client_token
548
+ # Specifies a unique, case-sensitive ID that you provide to ensure the
549
+ # idempotency of the request. This lets you safely retry the request
550
+ # without accidentally performing the same operation a second time.
551
+ # Passing the same value to a later call to an operation requires that
552
+ # you also pass the same value for all other parameters. We recommend
553
+ # that you use a [UUID type of value.][1].
554
+ #
555
+ # If you don't provide this value, then Amazon Web Services generates
556
+ # a random one for you.
557
+ #
558
+ # If you retry the operation with the same `ClientToken`, but with
559
+ # different parameters, the retry fails with an
560
+ # `IdempotentParameterMismatch` error.
561
+ #
562
+ # **A suitable default value is auto-generated.** You should normally
563
+ # not need to pass this option.
564
+ #
565
+ #
566
+ #
567
+ # [1]: https://wikipedia.org/wiki/Universally_unique_Id
568
+ # @return [String]
569
+ #
570
+ # @!attribute [rw] policy_store_id
571
+ # The ID of the policy store in which to create the policy template.
572
+ # @return [String]
573
+ #
574
+ # @!attribute [rw] description
575
+ # Specifies a description for the policy template.
576
+ # @return [String]
577
+ #
578
+ # @!attribute [rw] statement
579
+ # Specifies the content that you want to use for the new policy
580
+ # template, written in the Cedar policy language.
581
+ # @return [String]
582
+ #
583
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/CreatePolicyTemplateInput AWS API Documentation
584
+ #
585
+ class CreatePolicyTemplateInput < Struct.new(
586
+ :client_token,
587
+ :policy_store_id,
588
+ :description,
589
+ :statement)
590
+ SENSITIVE = []
591
+ include Aws::Structure
592
+ end
593
+
594
+ # @!attribute [rw] policy_store_id
595
+ # The ID of the policy store that contains the policy template.
596
+ # @return [String]
597
+ #
598
+ # @!attribute [rw] policy_template_id
599
+ # The unique ID of the new policy template.
600
+ # @return [String]
601
+ #
602
+ # @!attribute [rw] created_date
603
+ # The date and time the policy template was originally created.
604
+ # @return [Time]
605
+ #
606
+ # @!attribute [rw] last_updated_date
607
+ # The date and time the policy template was most recently updated.
608
+ # @return [Time]
609
+ #
610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/CreatePolicyTemplateOutput AWS API Documentation
611
+ #
612
+ class CreatePolicyTemplateOutput < Struct.new(
613
+ :policy_store_id,
614
+ :policy_template_id,
615
+ :created_date,
616
+ :last_updated_date)
617
+ SENSITIVE = []
618
+ include Aws::Structure
619
+ end
620
+
621
+ # @!attribute [rw] policy_store_id
622
+ # Specifies the ID of the policy store that contains the identity
623
+ # source that you want to delete.
624
+ # @return [String]
625
+ #
626
+ # @!attribute [rw] identity_source_id
627
+ # Specifies the ID of the identity source that you want to delete.
628
+ # @return [String]
629
+ #
630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/DeleteIdentitySourceInput AWS API Documentation
631
+ #
632
+ class DeleteIdentitySourceInput < Struct.new(
633
+ :policy_store_id,
634
+ :identity_source_id)
635
+ SENSITIVE = []
636
+ include Aws::Structure
637
+ end
638
+
639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/DeleteIdentitySourceOutput AWS API Documentation
640
+ #
641
+ class DeleteIdentitySourceOutput < Aws::EmptyStructure; end
642
+
643
+ # @!attribute [rw] policy_store_id
644
+ # Specifies the ID of the policy store that contains the policy that
645
+ # you want to delete.
646
+ # @return [String]
647
+ #
648
+ # @!attribute [rw] policy_id
649
+ # Specifies the ID of the policy that you want to delete.
650
+ # @return [String]
651
+ #
652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/DeletePolicyInput AWS API Documentation
653
+ #
654
+ class DeletePolicyInput < Struct.new(
655
+ :policy_store_id,
656
+ :policy_id)
657
+ SENSITIVE = []
658
+ include Aws::Structure
659
+ end
660
+
661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/DeletePolicyOutput AWS API Documentation
662
+ #
663
+ class DeletePolicyOutput < Aws::EmptyStructure; end
664
+
665
+ # @!attribute [rw] policy_store_id
666
+ # Specifies the ID of the policy store that you want to delete.
667
+ # @return [String]
668
+ #
669
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/DeletePolicyStoreInput AWS API Documentation
670
+ #
671
+ class DeletePolicyStoreInput < Struct.new(
672
+ :policy_store_id)
673
+ SENSITIVE = []
674
+ include Aws::Structure
675
+ end
676
+
677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/DeletePolicyStoreOutput AWS API Documentation
678
+ #
679
+ class DeletePolicyStoreOutput < Aws::EmptyStructure; end
680
+
681
+ # @!attribute [rw] policy_store_id
682
+ # Specifies the ID of the policy store that contains the policy
683
+ # template that you want to delete.
684
+ # @return [String]
685
+ #
686
+ # @!attribute [rw] policy_template_id
687
+ # Specifies the ID of the policy template that you want to delete.
688
+ # @return [String]
689
+ #
690
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/DeletePolicyTemplateInput AWS API Documentation
691
+ #
692
+ class DeletePolicyTemplateInput < Struct.new(
693
+ :policy_store_id,
694
+ :policy_template_id)
695
+ SENSITIVE = []
696
+ include Aws::Structure
697
+ end
698
+
699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/DeletePolicyTemplateOutput AWS API Documentation
700
+ #
701
+ class DeletePolicyTemplateOutput < Aws::EmptyStructure; end
702
+
703
+ # Contains information about one of the policies that determined an
704
+ # authorization decision.
705
+ #
706
+ # This data type is used as an element in a response parameter for the
707
+ # [IsAuthorized][1] and [IsAuthorizedWithToken][2] operations.
708
+ #
709
+ # Example:
710
+ # `"determiningPolicies":[\{"policyId":"SPEXAMPLEabcdefg111111"\}]`
711
+ #
712
+ #
713
+ #
714
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html
715
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html
716
+ #
717
+ # @!attribute [rw] policy_id
718
+ # The Id of a policy that determined to an authorization decision.
719
+ #
720
+ # Example: `"policyId":"SPEXAMPLEabcdefg111111"`
721
+ # @return [String]
722
+ #
723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/DeterminingPolicyItem AWS API Documentation
724
+ #
725
+ class DeterminingPolicyItem < Struct.new(
726
+ :policy_id)
727
+ SENSITIVE = []
728
+ include Aws::Structure
729
+ end
730
+
731
+ # Contains the list of entities to be considered during an authorization
732
+ # request. This includes all principals, resources, and actions required
733
+ # to successfully evaluate the request.
734
+ #
735
+ # This data type is used as a field in the response parameter for the
736
+ # [IsAuthorized][1] and [IsAuthorizedWithToken][2] operations.
737
+ #
738
+ #
739
+ #
740
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html
741
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html
742
+ #
743
+ # @note EntitiesDefinition is a union - when making an API calls you must set exactly one of the members.
744
+ #
745
+ # @!attribute [rw] entity_list
746
+ # An array of entities that are needed to successfully evaluate an
747
+ # authorization request. Each entity in this array must include an
748
+ # identifier for the entity, the attributes of the entity, and a list
749
+ # of any parent entities.
750
+ # @return [Array<Types::EntityItem>]
751
+ #
752
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/EntitiesDefinition AWS API Documentation
753
+ #
754
+ class EntitiesDefinition < Struct.new(
755
+ :entity_list,
756
+ :unknown)
757
+ SENSITIVE = []
758
+ include Aws::Structure
759
+ include Aws::Structure::Union
760
+
761
+ class EntityList < EntitiesDefinition; end
762
+ class Unknown < EntitiesDefinition; end
763
+ end
764
+
765
+ # Contains the identifier of an entity, including its ID and type.
766
+ #
767
+ # This data type is used as a request parameter for [IsAuthorized][1]
768
+ # operation, and as a response parameter for the [CreatePolicy][2],
769
+ # [GetPolicy][3], and [UpdatePolicy][4] operations.
770
+ #
771
+ # Example: `\{"entityId":"string","entityType":"string"\}`
772
+ #
773
+ #
774
+ #
775
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorized.html
776
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicy.html
777
+ # [3]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetPolicy.html
778
+ # [4]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdatePolicy.html
779
+ #
780
+ # @!attribute [rw] entity_type
781
+ # The type of an entity.
782
+ #
783
+ # Example: `"entityType":"typeName"`
784
+ # @return [String]
785
+ #
786
+ # @!attribute [rw] entity_id
787
+ # The identifier of an entity.
788
+ #
789
+ # `"entityId":"identifier"`
790
+ # @return [String]
791
+ #
792
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/EntityIdentifier AWS API Documentation
793
+ #
794
+ class EntityIdentifier < Struct.new(
795
+ :entity_type,
796
+ :entity_id)
797
+ SENSITIVE = []
798
+ include Aws::Structure
799
+ end
800
+
801
+ # Contains information about an entity that can be referenced in a Cedar
802
+ # policy.
803
+ #
804
+ # This data type is used as one of the fields in the
805
+ # [EntitiesDefinition][1] structure.
806
+ #
807
+ # `\{ "id": \{ "entityType": "Photo", "entityId": "VacationPhoto94.jpg"
808
+ # \}, "Attributes": \{\}, "Parents": [ \{ "entityType": "Album",
809
+ # "entityId": "alice_folder" \} ] \}`
810
+ #
811
+ #
812
+ #
813
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_EntitiesDefinition.html
814
+ #
815
+ # @!attribute [rw] identifier
816
+ # The identifier of the entity.
817
+ # @return [Types::EntityIdentifier]
818
+ #
819
+ # @!attribute [rw] attributes
820
+ # A list of attributes for the entity.
821
+ # @return [Hash<String,Types::AttributeValue>]
822
+ #
823
+ # @!attribute [rw] parents
824
+ # The parents in the hierarchy that contains the entity.
825
+ # @return [Array<Types::EntityIdentifier>]
826
+ #
827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/EntityItem AWS API Documentation
828
+ #
829
+ class EntityItem < Struct.new(
830
+ :identifier,
831
+ :attributes,
832
+ :parents)
833
+ SENSITIVE = []
834
+ include Aws::Structure
835
+ end
836
+
837
+ # Contains information about a principal or resource that can be
838
+ # referenced in a Cedar policy.
839
+ #
840
+ # This data type is used as part of the [PolicyFilter][1] structure that
841
+ # is used as a request parameter for the [ListPolicies][2] operation..
842
+ #
843
+ #
844
+ #
845
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_PolicyFilter.html
846
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListPolicies.html
847
+ #
848
+ # @note EntityReference is a union - when making an API calls you must set exactly one of the members.
849
+ #
850
+ # @!attribute [rw] unspecified
851
+ # Used to indicate that a principal or resource is not specified. This
852
+ # can be used to search for policies that are not associated with a
853
+ # specific principal or resource.
854
+ # @return [Boolean]
855
+ #
856
+ # @!attribute [rw] identifier
857
+ # The identifier of the entity. It can consist of either an EntityType
858
+ # and EntityId, a principal, or a resource.
859
+ # @return [Types::EntityIdentifier]
860
+ #
861
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/EntityReference AWS API Documentation
862
+ #
863
+ class EntityReference < Struct.new(
864
+ :unspecified,
865
+ :identifier,
866
+ :unknown)
867
+ SENSITIVE = []
868
+ include Aws::Structure
869
+ include Aws::Structure::Union
870
+
871
+ class Unspecified < EntityReference; end
872
+ class Identifier < EntityReference; end
873
+ class Unknown < EntityReference; end
874
+ end
875
+
876
+ # Contains a description of an evaluation error.
877
+ #
878
+ # This data type is used as a request parameter in the [IsAuthorized][1]
879
+ # and [IsAuthorizedWithToken][2] operations.
880
+ #
881
+ #
882
+ #
883
+ # [1]: https://docs.aws.amazon.com/amazon-verified-permissions/latest/APIReference/API_IsAuthorized.html
884
+ # [2]: https://docs.aws.amazon.com/amazon-verified-permissions/latest/APIReference/API_IsAuthorizedWithToken.html
885
+ #
886
+ # @!attribute [rw] error_description
887
+ # The error description.
888
+ # @return [String]
889
+ #
890
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/EvaluationErrorItem AWS API Documentation
891
+ #
892
+ class EvaluationErrorItem < Struct.new(
893
+ :error_description)
894
+ SENSITIVE = []
895
+ include Aws::Structure
896
+ end
897
+
898
+ # @!attribute [rw] policy_store_id
899
+ # Specifies the ID of the policy store that contains the identity
900
+ # source you want information about.
901
+ # @return [String]
902
+ #
903
+ # @!attribute [rw] identity_source_id
904
+ # Specifies the ID of the identity source you want information about.
905
+ # @return [String]
906
+ #
907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetIdentitySourceInput AWS API Documentation
908
+ #
909
+ class GetIdentitySourceInput < Struct.new(
910
+ :policy_store_id,
911
+ :identity_source_id)
912
+ SENSITIVE = []
913
+ include Aws::Structure
914
+ end
915
+
916
+ # @!attribute [rw] created_date
917
+ # The date and time that the identity source was originally created.
918
+ # @return [Time]
919
+ #
920
+ # @!attribute [rw] details
921
+ # A structure that describes the configuration of the identity source.
922
+ # @return [Types::IdentitySourceDetails]
923
+ #
924
+ # @!attribute [rw] identity_source_id
925
+ # The ID of the identity source.
926
+ # @return [String]
927
+ #
928
+ # @!attribute [rw] last_updated_date
929
+ # The date and time that the identity source was most recently
930
+ # updated.
931
+ # @return [Time]
932
+ #
933
+ # @!attribute [rw] policy_store_id
934
+ # The ID of the policy store that contains the identity source.
935
+ # @return [String]
936
+ #
937
+ # @!attribute [rw] principal_entity_type
938
+ # The data type of principals generated for identities authenticated
939
+ # by this identity source.
940
+ # @return [String]
941
+ #
942
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetIdentitySourceOutput AWS API Documentation
943
+ #
944
+ class GetIdentitySourceOutput < Struct.new(
945
+ :created_date,
946
+ :details,
947
+ :identity_source_id,
948
+ :last_updated_date,
949
+ :policy_store_id,
950
+ :principal_entity_type)
951
+ SENSITIVE = []
952
+ include Aws::Structure
953
+ end
954
+
955
+ # @!attribute [rw] policy_store_id
956
+ # Specifies the ID of the policy store that contains the policy that
957
+ # you want information about.
958
+ # @return [String]
959
+ #
960
+ # @!attribute [rw] policy_id
961
+ # Specifies the ID of the policy you want information about.
962
+ # @return [String]
963
+ #
964
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetPolicyInput AWS API Documentation
965
+ #
966
+ class GetPolicyInput < Struct.new(
967
+ :policy_store_id,
968
+ :policy_id)
969
+ SENSITIVE = []
970
+ include Aws::Structure
971
+ end
972
+
973
+ # @!attribute [rw] policy_store_id
974
+ # The ID of the policy store that contains the policy that you want
975
+ # information about.
976
+ # @return [String]
977
+ #
978
+ # @!attribute [rw] policy_id
979
+ # The unique ID of the policy that you want information about.
980
+ # @return [String]
981
+ #
982
+ # @!attribute [rw] policy_type
983
+ # The type of the policy.
984
+ # @return [String]
985
+ #
986
+ # @!attribute [rw] principal
987
+ # The principal specified in the policy's scope. This element isn't
988
+ # included in the response when `Principal` isn't present in the
989
+ # policy content.
990
+ # @return [Types::EntityIdentifier]
991
+ #
992
+ # @!attribute [rw] resource
993
+ # The resource specified in the policy's scope. This element isn't
994
+ # included in the response when `Resource` isn't present in the
995
+ # policy content.
996
+ # @return [Types::EntityIdentifier]
997
+ #
998
+ # @!attribute [rw] definition
999
+ # The definition of the requested policy.
1000
+ # @return [Types::PolicyDefinitionDetail]
1001
+ #
1002
+ # @!attribute [rw] created_date
1003
+ # The date and time that the policy was originally created.
1004
+ # @return [Time]
1005
+ #
1006
+ # @!attribute [rw] last_updated_date
1007
+ # The date and time that the policy was last updated.
1008
+ # @return [Time]
1009
+ #
1010
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetPolicyOutput AWS API Documentation
1011
+ #
1012
+ class GetPolicyOutput < Struct.new(
1013
+ :policy_store_id,
1014
+ :policy_id,
1015
+ :policy_type,
1016
+ :principal,
1017
+ :resource,
1018
+ :definition,
1019
+ :created_date,
1020
+ :last_updated_date)
1021
+ SENSITIVE = []
1022
+ include Aws::Structure
1023
+ end
1024
+
1025
+ # @!attribute [rw] policy_store_id
1026
+ # Specifies the ID of the policy store that you want information
1027
+ # about.
1028
+ # @return [String]
1029
+ #
1030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetPolicyStoreInput AWS API Documentation
1031
+ #
1032
+ class GetPolicyStoreInput < Struct.new(
1033
+ :policy_store_id)
1034
+ SENSITIVE = []
1035
+ include Aws::Structure
1036
+ end
1037
+
1038
+ # @!attribute [rw] policy_store_id
1039
+ # The ID of the policy store;
1040
+ # @return [String]
1041
+ #
1042
+ # @!attribute [rw] arn
1043
+ # The Amazon Resource Name (ARN) of the policy store.
1044
+ # @return [String]
1045
+ #
1046
+ # @!attribute [rw] validation_settings
1047
+ # The current validation settings for the policy store.
1048
+ # @return [Types::ValidationSettings]
1049
+ #
1050
+ # @!attribute [rw] created_date
1051
+ # The date and time that the policy store was originally created.
1052
+ # @return [Time]
1053
+ #
1054
+ # @!attribute [rw] last_updated_date
1055
+ # The date and time that the policy store was last updated.
1056
+ # @return [Time]
1057
+ #
1058
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetPolicyStoreOutput AWS API Documentation
1059
+ #
1060
+ class GetPolicyStoreOutput < Struct.new(
1061
+ :policy_store_id,
1062
+ :arn,
1063
+ :validation_settings,
1064
+ :created_date,
1065
+ :last_updated_date)
1066
+ SENSITIVE = []
1067
+ include Aws::Structure
1068
+ end
1069
+
1070
+ # @!attribute [rw] policy_store_id
1071
+ # Specifies the ID of the policy store that contains the policy
1072
+ # template that you want information about.
1073
+ # @return [String]
1074
+ #
1075
+ # @!attribute [rw] policy_template_id
1076
+ # Specifies the ID of the policy template that you want information
1077
+ # about.
1078
+ # @return [String]
1079
+ #
1080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetPolicyTemplateInput AWS API Documentation
1081
+ #
1082
+ class GetPolicyTemplateInput < Struct.new(
1083
+ :policy_store_id,
1084
+ :policy_template_id)
1085
+ SENSITIVE = []
1086
+ include Aws::Structure
1087
+ end
1088
+
1089
+ # @!attribute [rw] policy_store_id
1090
+ # The ID of the policy store that contains the policy template.
1091
+ # @return [String]
1092
+ #
1093
+ # @!attribute [rw] policy_template_id
1094
+ # The ID of the policy template.
1095
+ # @return [String]
1096
+ #
1097
+ # @!attribute [rw] description
1098
+ # The description of the policy template.
1099
+ # @return [String]
1100
+ #
1101
+ # @!attribute [rw] statement
1102
+ # The content of the body of the policy template written in the Cedar
1103
+ # policy language.
1104
+ # @return [String]
1105
+ #
1106
+ # @!attribute [rw] created_date
1107
+ # The date and time that the policy template was originally created.
1108
+ # @return [Time]
1109
+ #
1110
+ # @!attribute [rw] last_updated_date
1111
+ # The date and time that the policy template was most recently
1112
+ # updated.
1113
+ # @return [Time]
1114
+ #
1115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetPolicyTemplateOutput AWS API Documentation
1116
+ #
1117
+ class GetPolicyTemplateOutput < Struct.new(
1118
+ :policy_store_id,
1119
+ :policy_template_id,
1120
+ :description,
1121
+ :statement,
1122
+ :created_date,
1123
+ :last_updated_date)
1124
+ SENSITIVE = []
1125
+ include Aws::Structure
1126
+ end
1127
+
1128
+ # @!attribute [rw] policy_store_id
1129
+ # Specifies the ID of the policy store that contains the schema.
1130
+ # @return [String]
1131
+ #
1132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetSchemaInput AWS API Documentation
1133
+ #
1134
+ class GetSchemaInput < Struct.new(
1135
+ :policy_store_id)
1136
+ SENSITIVE = []
1137
+ include Aws::Structure
1138
+ end
1139
+
1140
+ # @!attribute [rw] policy_store_id
1141
+ # The ID of the policy store that contains the schema.
1142
+ # @return [String]
1143
+ #
1144
+ # @!attribute [rw] schema
1145
+ # The body of the schema, written in Cedar schema JSON.
1146
+ # @return [String]
1147
+ #
1148
+ # @!attribute [rw] created_date
1149
+ # The date and time that the schema was originally created.
1150
+ # @return [Time]
1151
+ #
1152
+ # @!attribute [rw] last_updated_date
1153
+ # The date and time that the schema was most recently updated.
1154
+ # @return [Time]
1155
+ #
1156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/GetSchemaOutput AWS API Documentation
1157
+ #
1158
+ class GetSchemaOutput < Struct.new(
1159
+ :policy_store_id,
1160
+ :schema,
1161
+ :created_date,
1162
+ :last_updated_date)
1163
+ SENSITIVE = []
1164
+ include Aws::Structure
1165
+ end
1166
+
1167
+ # A structure that contains configuration of the identity source.
1168
+ #
1169
+ # This data type is used as a response parameter for the
1170
+ # [CreateIdentitySource][1] operation.
1171
+ #
1172
+ #
1173
+ #
1174
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html
1175
+ #
1176
+ # @!attribute [rw] client_ids
1177
+ # The application client IDs associated with the specified Amazon
1178
+ # Cognito user pool that are enabled for this identity source.
1179
+ # @return [Array<String>]
1180
+ #
1181
+ # @!attribute [rw] user_pool_arn
1182
+ # The [Amazon Resource Name (ARN)][1] of the Amazon Cognito user pool
1183
+ # whose identities are accessible to this Verified Permissions policy
1184
+ # store.
1185
+ #
1186
+ #
1187
+ #
1188
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1189
+ # @return [String]
1190
+ #
1191
+ # @!attribute [rw] discovery_url
1192
+ # The well-known URL that points to this user pool's OIDC discovery
1193
+ # endpoint. This is a URL string in the following format. This URL
1194
+ # replaces the placeholders for both the Amazon Web Services Region
1195
+ # and the user pool identifier with those appropriate for this user
1196
+ # pool.
1197
+ #
1198
+ # `https://cognito-idp.<region>.amazonaws.com/<user-pool-id>/.well-known/openid-configuration`
1199
+ # @return [String]
1200
+ #
1201
+ # @!attribute [rw] open_id_issuer
1202
+ # A string that identifies the type of OIDC service represented by
1203
+ # this identity source.
1204
+ #
1205
+ # At this time, the only valid value is `cognito`.
1206
+ # @return [String]
1207
+ #
1208
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/IdentitySourceDetails AWS API Documentation
1209
+ #
1210
+ class IdentitySourceDetails < Struct.new(
1211
+ :client_ids,
1212
+ :user_pool_arn,
1213
+ :discovery_url,
1214
+ :open_id_issuer)
1215
+ SENSITIVE = []
1216
+ include Aws::Structure
1217
+ end
1218
+
1219
+ # A structure that defines characteristics of an identity source that
1220
+ # you can use to filter.
1221
+ #
1222
+ # This data type is used as a request parameter for the
1223
+ # [ListIdentityStores][1] operation.
1224
+ #
1225
+ #
1226
+ #
1227
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListIdentityStores.html
1228
+ #
1229
+ # @!attribute [rw] principal_entity_type
1230
+ # The Cedar entity type of the principals returned by the identity
1231
+ # provider (IdP) associated with this identity source.
1232
+ # @return [String]
1233
+ #
1234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/IdentitySourceFilter AWS API Documentation
1235
+ #
1236
+ class IdentitySourceFilter < Struct.new(
1237
+ :principal_entity_type)
1238
+ SENSITIVE = []
1239
+ include Aws::Structure
1240
+ end
1241
+
1242
+ # A structure that defines an identity source.
1243
+ #
1244
+ # This data type is used as a request parameter for the
1245
+ # [ListIdentityStores][1] operation.
1246
+ #
1247
+ #
1248
+ #
1249
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListIdentityStores.html
1250
+ #
1251
+ # @!attribute [rw] created_date
1252
+ # The date and time the identity source was originally created.
1253
+ # @return [Time]
1254
+ #
1255
+ # @!attribute [rw] details
1256
+ # A structure that contains the details of the associated identity
1257
+ # provider (IdP).
1258
+ # @return [Types::IdentitySourceItemDetails]
1259
+ #
1260
+ # @!attribute [rw] identity_source_id
1261
+ # The unique identifier of the identity source.
1262
+ # @return [String]
1263
+ #
1264
+ # @!attribute [rw] last_updated_date
1265
+ # The date and time the identity source was most recently updated.
1266
+ # @return [Time]
1267
+ #
1268
+ # @!attribute [rw] policy_store_id
1269
+ # The identifier of the policy store that contains the identity
1270
+ # source.
1271
+ # @return [String]
1272
+ #
1273
+ # @!attribute [rw] principal_entity_type
1274
+ # The Cedar entity type of the principals returned from the IdP
1275
+ # associated with this identity source.
1276
+ # @return [String]
1277
+ #
1278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/IdentitySourceItem AWS API Documentation
1279
+ #
1280
+ class IdentitySourceItem < Struct.new(
1281
+ :created_date,
1282
+ :details,
1283
+ :identity_source_id,
1284
+ :last_updated_date,
1285
+ :policy_store_id,
1286
+ :principal_entity_type)
1287
+ SENSITIVE = []
1288
+ include Aws::Structure
1289
+ end
1290
+
1291
+ # A structure that contains configuration of the identity source.
1292
+ #
1293
+ # This data type is used as a response parameter for the
1294
+ # [CreateIdentitySource][1] operation.
1295
+ #
1296
+ #
1297
+ #
1298
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html
1299
+ #
1300
+ # @!attribute [rw] client_ids
1301
+ # The application client IDs associated with the specified Amazon
1302
+ # Cognito user pool that are enabled for this identity source.
1303
+ # @return [Array<String>]
1304
+ #
1305
+ # @!attribute [rw] user_pool_arn
1306
+ # The Amazon Cognito user pool whose identities are accessible to this
1307
+ # Verified Permissions policy store.
1308
+ # @return [String]
1309
+ #
1310
+ # @!attribute [rw] discovery_url
1311
+ # The well-known URL that points to this user pool's OIDC discovery
1312
+ # endpoint. This is a URL string in the following format. This URL
1313
+ # replaces the placeholders for both the Amazon Web Services Region
1314
+ # and the user pool identifier with those appropriate for this user
1315
+ # pool.
1316
+ #
1317
+ # `https://cognito-idp.<region>.amazonaws.com/<user-pool-id>/.well-known/openid-configuration`
1318
+ # @return [String]
1319
+ #
1320
+ # @!attribute [rw] open_id_issuer
1321
+ # A string that identifies the type of OIDC service represented by
1322
+ # this identity source.
1323
+ #
1324
+ # At this time, the only valid value is `cognito`.
1325
+ # @return [String]
1326
+ #
1327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/IdentitySourceItemDetails AWS API Documentation
1328
+ #
1329
+ class IdentitySourceItemDetails < Struct.new(
1330
+ :client_ids,
1331
+ :user_pool_arn,
1332
+ :discovery_url,
1333
+ :open_id_issuer)
1334
+ SENSITIVE = []
1335
+ include Aws::Structure
1336
+ end
1337
+
1338
+ # The request failed because of an internal error. Try your request
1339
+ # again later
1340
+ #
1341
+ # @!attribute [rw] message
1342
+ # @return [String]
1343
+ #
1344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/InternalServerException AWS API Documentation
1345
+ #
1346
+ class InternalServerException < Struct.new(
1347
+ :message)
1348
+ SENSITIVE = []
1349
+ include Aws::Structure
1350
+ end
1351
+
1352
+ # @!attribute [rw] policy_store_id
1353
+ # Specifies the ID of the policy store. Policies in this policy store
1354
+ # will be used to make an authorization decision for the input.
1355
+ # @return [String]
1356
+ #
1357
+ # @!attribute [rw] principal
1358
+ # Specifies the principal for which the authorization decision is to
1359
+ # be made.
1360
+ # @return [Types::EntityIdentifier]
1361
+ #
1362
+ # @!attribute [rw] action
1363
+ # Specifies the requested action to be authorized. For example, is the
1364
+ # principal authorized to perform this action on the resource?
1365
+ # @return [Types::ActionIdentifier]
1366
+ #
1367
+ # @!attribute [rw] resource
1368
+ # Specifies the resource for which the authorization decision is to be
1369
+ # made.
1370
+ # @return [Types::EntityIdentifier]
1371
+ #
1372
+ # @!attribute [rw] context
1373
+ # Specifies additional context that can be used to make more granular
1374
+ # authorization decisions.
1375
+ # @return [Types::ContextDefinition]
1376
+ #
1377
+ # @!attribute [rw] entities
1378
+ # Specifies the list of entities and their associated attributes that
1379
+ # Verified Permissions can examine when evaluating the policies.
1380
+ # @return [Types::EntitiesDefinition]
1381
+ #
1382
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/IsAuthorizedInput AWS API Documentation
1383
+ #
1384
+ class IsAuthorizedInput < Struct.new(
1385
+ :policy_store_id,
1386
+ :principal,
1387
+ :action,
1388
+ :resource,
1389
+ :context,
1390
+ :entities)
1391
+ SENSITIVE = []
1392
+ include Aws::Structure
1393
+ end
1394
+
1395
+ # @!attribute [rw] decision
1396
+ # An authorization decision that indicates if the authorization
1397
+ # request should be allowed or denied.
1398
+ # @return [String]
1399
+ #
1400
+ # @!attribute [rw] determining_policies
1401
+ # The list of determining policies used to make the authorization
1402
+ # decision. For example, if there are two matching policies, where one
1403
+ # is a forbid and the other is a permit, then the forbid policy will
1404
+ # be the determining policy. In the case of multiple matching permit
1405
+ # policies then there would be multiple determining policies. In the
1406
+ # case that no policies match, and hence the response is DENY, there
1407
+ # would be no determining policies.
1408
+ # @return [Array<Types::DeterminingPolicyItem>]
1409
+ #
1410
+ # @!attribute [rw] errors
1411
+ # Errors that occurred while making an authorization decision, for
1412
+ # example, a policy references an Entity or entity Attribute that does
1413
+ # not exist in the slice.
1414
+ # @return [Array<Types::EvaluationErrorItem>]
1415
+ #
1416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/IsAuthorizedOutput AWS API Documentation
1417
+ #
1418
+ class IsAuthorizedOutput < Struct.new(
1419
+ :decision,
1420
+ :determining_policies,
1421
+ :errors)
1422
+ SENSITIVE = []
1423
+ include Aws::Structure
1424
+ end
1425
+
1426
+ # @!attribute [rw] policy_store_id
1427
+ # Specifies the ID of the policy store. Policies in this policy store
1428
+ # will be used to make an authorization decision for the input.
1429
+ # @return [String]
1430
+ #
1431
+ # @!attribute [rw] identity_token
1432
+ # Specifies an identity token for the principal to be authorized. This
1433
+ # token is provided to you by the identity provider (IdP) associated
1434
+ # with the specified identity source. You must specify either an
1435
+ # `AccessToken` or an `IdentityToken`, but not both.
1436
+ # @return [String]
1437
+ #
1438
+ # @!attribute [rw] access_token
1439
+ # Specifies an access token for the principal to be authorized. This
1440
+ # token is provided to you by the identity provider (IdP) associated
1441
+ # with the specified identity source. You must specify either an
1442
+ # `AccessToken` or an `IdentityToken`, but not both.
1443
+ # @return [String]
1444
+ #
1445
+ # @!attribute [rw] action
1446
+ # Specifies the requested action to be authorized. Is the specified
1447
+ # principal authorized to perform this action on the specified
1448
+ # resource.
1449
+ # @return [Types::ActionIdentifier]
1450
+ #
1451
+ # @!attribute [rw] resource
1452
+ # Specifies the resource for which the authorization decision is made.
1453
+ # For example, is the principal allowed to perform the action on the
1454
+ # resource?
1455
+ # @return [Types::EntityIdentifier]
1456
+ #
1457
+ # @!attribute [rw] context
1458
+ # Specifies additional context that can be used to make more granular
1459
+ # authorization decisions.
1460
+ # @return [Types::ContextDefinition]
1461
+ #
1462
+ # @!attribute [rw] entities
1463
+ # Specifies the list of entities and their associated attributes that
1464
+ # Verified Permissions can examine when evaluating the policies.
1465
+ # @return [Types::EntitiesDefinition]
1466
+ #
1467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/IsAuthorizedWithTokenInput AWS API Documentation
1468
+ #
1469
+ class IsAuthorizedWithTokenInput < Struct.new(
1470
+ :policy_store_id,
1471
+ :identity_token,
1472
+ :access_token,
1473
+ :action,
1474
+ :resource,
1475
+ :context,
1476
+ :entities)
1477
+ SENSITIVE = []
1478
+ include Aws::Structure
1479
+ end
1480
+
1481
+ # @!attribute [rw] decision
1482
+ # An authorization decision that indicates if the authorization
1483
+ # request should be allowed or denied.
1484
+ # @return [String]
1485
+ #
1486
+ # @!attribute [rw] determining_policies
1487
+ # The list of determining policies used to make the authorization
1488
+ # decision. For example, if there are multiple matching policies,
1489
+ # where at least one is a forbid policy, then because forbid always
1490
+ # overrides permit the forbid policies are the determining policies.
1491
+ # If all matching policies are permit policies, then those policies
1492
+ # are the determining policies. When no policies match and the
1493
+ # response is the default DENY, there are no determining policies.
1494
+ # @return [Array<Types::DeterminingPolicyItem>]
1495
+ #
1496
+ # @!attribute [rw] errors
1497
+ # Errors that occurred while making an authorization decision. For
1498
+ # example, a policy references an entity or entity attribute that does
1499
+ # not exist in the slice.
1500
+ # @return [Array<Types::EvaluationErrorItem>]
1501
+ #
1502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/IsAuthorizedWithTokenOutput AWS API Documentation
1503
+ #
1504
+ class IsAuthorizedWithTokenOutput < Struct.new(
1505
+ :decision,
1506
+ :determining_policies,
1507
+ :errors)
1508
+ SENSITIVE = []
1509
+ include Aws::Structure
1510
+ end
1511
+
1512
+ # @!attribute [rw] policy_store_id
1513
+ # Specifies the ID of the policy store that contains the identity
1514
+ # sources that you want to list.
1515
+ # @return [String]
1516
+ #
1517
+ # @!attribute [rw] next_token
1518
+ # Specifies that you want to receive the next page of results. Valid
1519
+ # only if you received a `NextToken` response in the previous request.
1520
+ # If you did, it indicates that more output is available. Set this
1521
+ # parameter to the value provided by the previous call's `NextToken`
1522
+ # response to request the next page of results.
1523
+ # @return [String]
1524
+ #
1525
+ # @!attribute [rw] max_results
1526
+ # Specifies the total number of results that you want included on each
1527
+ # page of the response. If you do not include this parameter, it
1528
+ # defaults to a value that is specific to the operation. If additional
1529
+ # items exist beyond the number you specify, the `NextToken` response
1530
+ # element is returned with a value (not null). Include the specified
1531
+ # value as the `NextToken` request parameter in the next call to the
1532
+ # operation to get the next part of the results. Note that the service
1533
+ # might return fewer results than the maximum even when there are more
1534
+ # results available. You should check `NextToken` after every
1535
+ # operation to ensure that you receive all of the results.
1536
+ # @return [Integer]
1537
+ #
1538
+ # @!attribute [rw] filters
1539
+ # Specifies characteristics of an identity source that you can use to
1540
+ # limit the output to matching identity sources.
1541
+ # @return [Array<Types::IdentitySourceFilter>]
1542
+ #
1543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListIdentitySourcesInput AWS API Documentation
1544
+ #
1545
+ class ListIdentitySourcesInput < Struct.new(
1546
+ :policy_store_id,
1547
+ :next_token,
1548
+ :max_results,
1549
+ :filters)
1550
+ SENSITIVE = []
1551
+ include Aws::Structure
1552
+ end
1553
+
1554
+ # @!attribute [rw] next_token
1555
+ # If present, this value indicates that more output is available than
1556
+ # is included in the current response. Use this value in the
1557
+ # `NextToken` request parameter in a subsequent call to the operation
1558
+ # to get the next part of the output. You should repeat this until the
1559
+ # `NextToken` response element comes back as `null`. This indicates
1560
+ # that this is the last page of results.
1561
+ # @return [String]
1562
+ #
1563
+ # @!attribute [rw] identity_sources
1564
+ # The list of identity sources stored in the specified policy store.
1565
+ # @return [Array<Types::IdentitySourceItem>]
1566
+ #
1567
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListIdentitySourcesOutput AWS API Documentation
1568
+ #
1569
+ class ListIdentitySourcesOutput < Struct.new(
1570
+ :next_token,
1571
+ :identity_sources)
1572
+ SENSITIVE = []
1573
+ include Aws::Structure
1574
+ end
1575
+
1576
+ # @!attribute [rw] policy_store_id
1577
+ # Specifies the ID of the policy store you want to list policies from.
1578
+ # @return [String]
1579
+ #
1580
+ # @!attribute [rw] next_token
1581
+ # Specifies that you want to receive the next page of results. Valid
1582
+ # only if you received a `NextToken` response in the previous request.
1583
+ # If you did, it indicates that more output is available. Set this
1584
+ # parameter to the value provided by the previous call's `NextToken`
1585
+ # response to request the next page of results.
1586
+ # @return [String]
1587
+ #
1588
+ # @!attribute [rw] max_results
1589
+ # Specifies the total number of results that you want included on each
1590
+ # page of the response. If you do not include this parameter, it
1591
+ # defaults to a value that is specific to the operation. If additional
1592
+ # items exist beyond the number you specify, the `NextToken` response
1593
+ # element is returned with a value (not null). Include the specified
1594
+ # value as the `NextToken` request parameter in the next call to the
1595
+ # operation to get the next part of the results. Note that the service
1596
+ # might return fewer results than the maximum even when there are more
1597
+ # results available. You should check `NextToken` after every
1598
+ # operation to ensure that you receive all of the results.
1599
+ # @return [Integer]
1600
+ #
1601
+ # @!attribute [rw] filter
1602
+ # Specifies a filter that limits the response to only policies that
1603
+ # match the specified criteria. For example, you list only the
1604
+ # policies that reference a specified principal.
1605
+ # @return [Types::PolicyFilter]
1606
+ #
1607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListPoliciesInput AWS API Documentation
1608
+ #
1609
+ class ListPoliciesInput < Struct.new(
1610
+ :policy_store_id,
1611
+ :next_token,
1612
+ :max_results,
1613
+ :filter)
1614
+ SENSITIVE = []
1615
+ include Aws::Structure
1616
+ end
1617
+
1618
+ # @!attribute [rw] next_token
1619
+ # If present, this value indicates that more output is available than
1620
+ # is included in the current response. Use this value in the
1621
+ # `NextToken` request parameter in a subsequent call to the operation
1622
+ # to get the next part of the output. You should repeat this until the
1623
+ # `NextToken` response element comes back as `null`. This indicates
1624
+ # that this is the last page of results.
1625
+ # @return [String]
1626
+ #
1627
+ # @!attribute [rw] policies
1628
+ # Lists all policies that are available in the specified policy store.
1629
+ # @return [Array<Types::PolicyItem>]
1630
+ #
1631
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListPoliciesOutput AWS API Documentation
1632
+ #
1633
+ class ListPoliciesOutput < Struct.new(
1634
+ :next_token,
1635
+ :policies)
1636
+ SENSITIVE = []
1637
+ include Aws::Structure
1638
+ end
1639
+
1640
+ # @!attribute [rw] next_token
1641
+ # Specifies that you want to receive the next page of results. Valid
1642
+ # only if you received a `NextToken` response in the previous request.
1643
+ # If you did, it indicates that more output is available. Set this
1644
+ # parameter to the value provided by the previous call's `NextToken`
1645
+ # response to request the next page of results.
1646
+ # @return [String]
1647
+ #
1648
+ # @!attribute [rw] max_results
1649
+ # Specifies the total number of results that you want included on each
1650
+ # page of the response. If you do not include this parameter, it
1651
+ # defaults to a value that is specific to the operation. If additional
1652
+ # items exist beyond the number you specify, the `NextToken` response
1653
+ # element is returned with a value (not null). Include the specified
1654
+ # value as the `NextToken` request parameter in the next call to the
1655
+ # operation to get the next part of the results. Note that the service
1656
+ # might return fewer results than the maximum even when there are more
1657
+ # results available. You should check `NextToken` after every
1658
+ # operation to ensure that you receive all of the results.
1659
+ # @return [Integer]
1660
+ #
1661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListPolicyStoresInput AWS API Documentation
1662
+ #
1663
+ class ListPolicyStoresInput < Struct.new(
1664
+ :next_token,
1665
+ :max_results)
1666
+ SENSITIVE = []
1667
+ include Aws::Structure
1668
+ end
1669
+
1670
+ # @!attribute [rw] next_token
1671
+ # If present, this value indicates that more output is available than
1672
+ # is included in the current response. Use this value in the
1673
+ # `NextToken` request parameter in a subsequent call to the operation
1674
+ # to get the next part of the output. You should repeat this until the
1675
+ # `NextToken` response element comes back as `null`. This indicates
1676
+ # that this is the last page of results.
1677
+ # @return [String]
1678
+ #
1679
+ # @!attribute [rw] policy_stores
1680
+ # The list of policy stores in the account.
1681
+ # @return [Array<Types::PolicyStoreItem>]
1682
+ #
1683
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListPolicyStoresOutput AWS API Documentation
1684
+ #
1685
+ class ListPolicyStoresOutput < Struct.new(
1686
+ :next_token,
1687
+ :policy_stores)
1688
+ SENSITIVE = []
1689
+ include Aws::Structure
1690
+ end
1691
+
1692
+ # @!attribute [rw] policy_store_id
1693
+ # Specifies the ID of the policy store that contains the policy
1694
+ # templates you want to list.
1695
+ # @return [String]
1696
+ #
1697
+ # @!attribute [rw] next_token
1698
+ # Specifies that you want to receive the next page of results. Valid
1699
+ # only if you received a `NextToken` response in the previous request.
1700
+ # If you did, it indicates that more output is available. Set this
1701
+ # parameter to the value provided by the previous call's `NextToken`
1702
+ # response to request the next page of results.
1703
+ # @return [String]
1704
+ #
1705
+ # @!attribute [rw] max_results
1706
+ # Specifies the total number of results that you want included on each
1707
+ # page of the response. If you do not include this parameter, it
1708
+ # defaults to a value that is specific to the operation. If additional
1709
+ # items exist beyond the number you specify, the `NextToken` response
1710
+ # element is returned with a value (not null). Include the specified
1711
+ # value as the `NextToken` request parameter in the next call to the
1712
+ # operation to get the next part of the results. Note that the service
1713
+ # might return fewer results than the maximum even when there are more
1714
+ # results available. You should check `NextToken` after every
1715
+ # operation to ensure that you receive all of the results.
1716
+ # @return [Integer]
1717
+ #
1718
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListPolicyTemplatesInput AWS API Documentation
1719
+ #
1720
+ class ListPolicyTemplatesInput < Struct.new(
1721
+ :policy_store_id,
1722
+ :next_token,
1723
+ :max_results)
1724
+ SENSITIVE = []
1725
+ include Aws::Structure
1726
+ end
1727
+
1728
+ # @!attribute [rw] next_token
1729
+ # If present, this value indicates that more output is available than
1730
+ # is included in the current response. Use this value in the
1731
+ # `NextToken` request parameter in a subsequent call to the operation
1732
+ # to get the next part of the output. You should repeat this until the
1733
+ # `NextToken` response element comes back as `null`. This indicates
1734
+ # that this is the last page of results.
1735
+ # @return [String]
1736
+ #
1737
+ # @!attribute [rw] policy_templates
1738
+ # The list of the policy templates in the specified policy store.
1739
+ # @return [Array<Types::PolicyTemplateItem>]
1740
+ #
1741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListPolicyTemplatesOutput AWS API Documentation
1742
+ #
1743
+ class ListPolicyTemplatesOutput < Struct.new(
1744
+ :next_token,
1745
+ :policy_templates)
1746
+ SENSITIVE = []
1747
+ include Aws::Structure
1748
+ end
1749
+
1750
+ # A structure that contains the details for a Cedar policy definition.
1751
+ # It includes the policy type, a description, and a policy body. This is
1752
+ # a top level data type used to create a policy.
1753
+ #
1754
+ # This data type is used as a request parameter for the
1755
+ # [CreatePolicy][1] operation. This structure must always have either an
1756
+ # `static` or a `templateLinked` element.
1757
+ #
1758
+ #
1759
+ #
1760
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicy.html
1761
+ #
1762
+ # @note PolicyDefinition is a union - when making an API calls you must set exactly one of the members.
1763
+ #
1764
+ # @!attribute [rw] static
1765
+ # A structure that describes a static policy. An static policy
1766
+ # doesn't use a template or allow placeholders for entities.
1767
+ # @return [Types::StaticPolicyDefinition]
1768
+ #
1769
+ # @!attribute [rw] template_linked
1770
+ # A structure that describes a policy that was instantiated from a
1771
+ # template. The template can specify placeholders for `principal` and
1772
+ # `resource`. When you use [CreatePolicy][1] to create a policy from a
1773
+ # template, you specify the exact principal and resource to use for
1774
+ # the instantiated policy.
1775
+ #
1776
+ #
1777
+ #
1778
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicy.html
1779
+ # @return [Types::TemplateLinkedPolicyDefinition]
1780
+ #
1781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/PolicyDefinition AWS API Documentation
1782
+ #
1783
+ class PolicyDefinition < Struct.new(
1784
+ :static,
1785
+ :template_linked,
1786
+ :unknown)
1787
+ SENSITIVE = []
1788
+ include Aws::Structure
1789
+ include Aws::Structure::Union
1790
+
1791
+ class Static < PolicyDefinition; end
1792
+ class TemplateLinked < PolicyDefinition; end
1793
+ class Unknown < PolicyDefinition; end
1794
+ end
1795
+
1796
+ # A structure that describes a policy definition. It must always have
1797
+ # either an `static` or a `templateLinked` element.
1798
+ #
1799
+ # This data type is used as a response parameter for the [GetPolicy][1]
1800
+ # operation.
1801
+ #
1802
+ #
1803
+ #
1804
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetPolicy.html
1805
+ #
1806
+ # @note PolicyDefinitionDetail is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of PolicyDefinitionDetail corresponding to the set member.
1807
+ #
1808
+ # @!attribute [rw] static
1809
+ # Information about a static policy that wasn't created with a policy
1810
+ # template.
1811
+ # @return [Types::StaticPolicyDefinitionDetail]
1812
+ #
1813
+ # @!attribute [rw] template_linked
1814
+ # Information about a template-linked policy that was created by
1815
+ # instantiating a policy template.
1816
+ # @return [Types::TemplateLinkedPolicyDefinitionDetail]
1817
+ #
1818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/PolicyDefinitionDetail AWS API Documentation
1819
+ #
1820
+ class PolicyDefinitionDetail < Struct.new(
1821
+ :static,
1822
+ :template_linked,
1823
+ :unknown)
1824
+ SENSITIVE = []
1825
+ include Aws::Structure
1826
+ include Aws::Structure::Union
1827
+
1828
+ class Static < PolicyDefinitionDetail; end
1829
+ class TemplateLinked < PolicyDefinitionDetail; end
1830
+ class Unknown < PolicyDefinitionDetail; end
1831
+ end
1832
+
1833
+ # A structure that describes a [PolicyDefinintion][1]. It will always
1834
+ # have either an `StaticPolicy` or a `TemplateLinkedPolicy` element.
1835
+ #
1836
+ # This data type is used as a response parameter for the
1837
+ # [CreatePolicy][2] and [ListPolicies][3] operations.
1838
+ #
1839
+ #
1840
+ #
1841
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_PolicyDefinintion.html
1842
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicy.html
1843
+ # [3]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListPolicies.html
1844
+ #
1845
+ # @note PolicyDefinitionItem is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of PolicyDefinitionItem corresponding to the set member.
1846
+ #
1847
+ # @!attribute [rw] static
1848
+ # Information about a static policy that wasn't created with a policy
1849
+ # template.
1850
+ # @return [Types::StaticPolicyDefinitionItem]
1851
+ #
1852
+ # @!attribute [rw] template_linked
1853
+ # Information about a template-linked policy that was created by
1854
+ # instantiating a policy template.
1855
+ # @return [Types::TemplateLinkedPolicyDefinitionItem]
1856
+ #
1857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/PolicyDefinitionItem AWS API Documentation
1858
+ #
1859
+ class PolicyDefinitionItem < Struct.new(
1860
+ :static,
1861
+ :template_linked,
1862
+ :unknown)
1863
+ SENSITIVE = []
1864
+ include Aws::Structure
1865
+ include Aws::Structure::Union
1866
+
1867
+ class Static < PolicyDefinitionItem; end
1868
+ class TemplateLinked < PolicyDefinitionItem; end
1869
+ class Unknown < PolicyDefinitionItem; end
1870
+ end
1871
+
1872
+ # Contains information about a filter to refine policies returned in a
1873
+ # query.
1874
+ #
1875
+ # This data type is used as a response parameter for the
1876
+ # [ListPolicies][1] operation.
1877
+ #
1878
+ #
1879
+ #
1880
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListPolicies.html
1881
+ #
1882
+ # @!attribute [rw] principal
1883
+ # Filters the output to only policies that reference the specified
1884
+ # principal.
1885
+ # @return [Types::EntityReference]
1886
+ #
1887
+ # @!attribute [rw] resource
1888
+ # Filters the output to only policies that reference the specified
1889
+ # resource.
1890
+ # @return [Types::EntityReference]
1891
+ #
1892
+ # @!attribute [rw] policy_type
1893
+ # Filters the output to only policies of the specified type.
1894
+ # @return [String]
1895
+ #
1896
+ # @!attribute [rw] policy_template_id
1897
+ # Filters the output to only template-linked policies that were
1898
+ # instantiated from the specified policy template.
1899
+ # @return [String]
1900
+ #
1901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/PolicyFilter AWS API Documentation
1902
+ #
1903
+ class PolicyFilter < Struct.new(
1904
+ :principal,
1905
+ :resource,
1906
+ :policy_type,
1907
+ :policy_template_id)
1908
+ SENSITIVE = []
1909
+ include Aws::Structure
1910
+ end
1911
+
1912
+ # Contains information about a policy.
1913
+ #
1914
+ # This data type is used as a response parameter for the
1915
+ # [ListPolicies][1] operation.
1916
+ #
1917
+ #
1918
+ #
1919
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListPolicies.html
1920
+ #
1921
+ # @!attribute [rw] policy_store_id
1922
+ # The identifier of the PolicyStore where the policy you want
1923
+ # information about is stored.
1924
+ # @return [String]
1925
+ #
1926
+ # @!attribute [rw] policy_id
1927
+ # The identifier of the policy you want information about.
1928
+ # @return [String]
1929
+ #
1930
+ # @!attribute [rw] policy_type
1931
+ # The type of the policy. This is one of the following values:
1932
+ #
1933
+ # * `static`
1934
+ #
1935
+ # * `templateLinked`
1936
+ # @return [String]
1937
+ #
1938
+ # @!attribute [rw] principal
1939
+ # The principal associated with the policy.
1940
+ # @return [Types::EntityIdentifier]
1941
+ #
1942
+ # @!attribute [rw] resource
1943
+ # The resource associated with the policy.
1944
+ # @return [Types::EntityIdentifier]
1945
+ #
1946
+ # @!attribute [rw] definition
1947
+ # The policy definition of an item in the list of policies returned.
1948
+ # @return [Types::PolicyDefinitionItem]
1949
+ #
1950
+ # @!attribute [rw] created_date
1951
+ # The date and time the policy was created.
1952
+ # @return [Time]
1953
+ #
1954
+ # @!attribute [rw] last_updated_date
1955
+ # The date and time the policy was most recently updated.
1956
+ # @return [Time]
1957
+ #
1958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/PolicyItem AWS API Documentation
1959
+ #
1960
+ class PolicyItem < Struct.new(
1961
+ :policy_store_id,
1962
+ :policy_id,
1963
+ :policy_type,
1964
+ :principal,
1965
+ :resource,
1966
+ :definition,
1967
+ :created_date,
1968
+ :last_updated_date)
1969
+ SENSITIVE = []
1970
+ include Aws::Structure
1971
+ end
1972
+
1973
+ # Contains information about a policy store.
1974
+ #
1975
+ # This data type is used as a response parameter for the
1976
+ # [ListPolicyStores][1] operation.
1977
+ #
1978
+ #
1979
+ #
1980
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListPolicyStores.html
1981
+ #
1982
+ # @!attribute [rw] policy_store_id
1983
+ # The unique identifier of the policy store.
1984
+ # @return [String]
1985
+ #
1986
+ # @!attribute [rw] arn
1987
+ # The Amazon Resource Name (ARN) of the policy store.
1988
+ # @return [String]
1989
+ #
1990
+ # @!attribute [rw] created_date
1991
+ # The date and time the policy was created.
1992
+ # @return [Time]
1993
+ #
1994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/PolicyStoreItem AWS API Documentation
1995
+ #
1996
+ class PolicyStoreItem < Struct.new(
1997
+ :policy_store_id,
1998
+ :arn,
1999
+ :created_date)
2000
+ SENSITIVE = []
2001
+ include Aws::Structure
2002
+ end
2003
+
2004
+ # Contains details about a policy template
2005
+ #
2006
+ # This data type is used as a response parameter for the
2007
+ # [ListPolicyTemplates][1] operation.
2008
+ #
2009
+ #
2010
+ #
2011
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListPolicyTemplates.html
2012
+ #
2013
+ # @!attribute [rw] policy_store_id
2014
+ # The unique identifier of the policy store that contains the
2015
+ # template.
2016
+ # @return [String]
2017
+ #
2018
+ # @!attribute [rw] policy_template_id
2019
+ # The unique identifier of the policy template.
2020
+ # @return [String]
2021
+ #
2022
+ # @!attribute [rw] description
2023
+ # The description attached to the policy template.
2024
+ # @return [String]
2025
+ #
2026
+ # @!attribute [rw] created_date
2027
+ # The date and time that the policy template was created.
2028
+ # @return [Time]
2029
+ #
2030
+ # @!attribute [rw] last_updated_date
2031
+ # The date and time that the policy template was most recently
2032
+ # updated.
2033
+ # @return [Time]
2034
+ #
2035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/PolicyTemplateItem AWS API Documentation
2036
+ #
2037
+ class PolicyTemplateItem < Struct.new(
2038
+ :policy_store_id,
2039
+ :policy_template_id,
2040
+ :description,
2041
+ :created_date,
2042
+ :last_updated_date)
2043
+ SENSITIVE = []
2044
+ include Aws::Structure
2045
+ end
2046
+
2047
+ # @!attribute [rw] policy_store_id
2048
+ # Specifies the ID of the policy store in which to place the schema.
2049
+ # @return [String]
2050
+ #
2051
+ # @!attribute [rw] definition
2052
+ # Specifies the definition of the schema to be stored. The schema
2053
+ # definition must be written in Cedar schema JSON.
2054
+ # @return [Types::SchemaDefinition]
2055
+ #
2056
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/PutSchemaInput AWS API Documentation
2057
+ #
2058
+ class PutSchemaInput < Struct.new(
2059
+ :policy_store_id,
2060
+ :definition)
2061
+ SENSITIVE = []
2062
+ include Aws::Structure
2063
+ end
2064
+
2065
+ # @!attribute [rw] policy_store_id
2066
+ # The unique ID of the policy store that contains the schema.
2067
+ # @return [String]
2068
+ #
2069
+ # @!attribute [rw] namespaces
2070
+ # Identifies the namespaces of the entities referenced by this schema.
2071
+ # @return [Array<String>]
2072
+ #
2073
+ # @!attribute [rw] created_date
2074
+ # The date and time that the schema was originally created.
2075
+ # @return [Time]
2076
+ #
2077
+ # @!attribute [rw] last_updated_date
2078
+ # The date and time that the schema was last updated.
2079
+ # @return [Time]
2080
+ #
2081
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/PutSchemaOutput AWS API Documentation
2082
+ #
2083
+ class PutSchemaOutput < Struct.new(
2084
+ :policy_store_id,
2085
+ :namespaces,
2086
+ :created_date,
2087
+ :last_updated_date)
2088
+ SENSITIVE = []
2089
+ include Aws::Structure
2090
+ end
2091
+
2092
+ # Contains information about a resource conflict.
2093
+ #
2094
+ # @!attribute [rw] resource_id
2095
+ # The unique identifier of the resource involved in a conflict.
2096
+ # @return [String]
2097
+ #
2098
+ # @!attribute [rw] resource_type
2099
+ # The type of the resource involved in a conflict.
2100
+ # @return [String]
2101
+ #
2102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ResourceConflict AWS API Documentation
2103
+ #
2104
+ class ResourceConflict < Struct.new(
2105
+ :resource_id,
2106
+ :resource_type)
2107
+ SENSITIVE = []
2108
+ include Aws::Structure
2109
+ end
2110
+
2111
+ # The request failed because it references a resource that doesn't
2112
+ # exist.
2113
+ #
2114
+ # @!attribute [rw] message
2115
+ # @return [String]
2116
+ #
2117
+ # @!attribute [rw] resource_id
2118
+ # The unique ID of the resource referenced in the failed request.
2119
+ # @return [String]
2120
+ #
2121
+ # @!attribute [rw] resource_type
2122
+ # The resource type of the resource referenced in the failed request.
2123
+ # @return [String]
2124
+ #
2125
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ResourceNotFoundException AWS API Documentation
2126
+ #
2127
+ class ResourceNotFoundException < Struct.new(
2128
+ :message,
2129
+ :resource_id,
2130
+ :resource_type)
2131
+ SENSITIVE = []
2132
+ include Aws::Structure
2133
+ end
2134
+
2135
+ # Contains a list of principal types, resource types, and actions that
2136
+ # can be specified in policies stored in the same policy store. If the
2137
+ # validation mode for the policy store is set to `STRICT`, then policies
2138
+ # that can't be validated by this schema are rejected by Verified
2139
+ # Permissions and can't be stored in the policy store.
2140
+ #
2141
+ # @note SchemaDefinition is a union - when making an API calls you must set exactly one of the members.
2142
+ #
2143
+ # @!attribute [rw] cedar_json
2144
+ # A JSON string representation of the schema supported by applications
2145
+ # that use this policy store. For more information, see [Policy store
2146
+ # schema][1] in the *Amazon Verified Permissions User Guide*.
2147
+ #
2148
+ #
2149
+ #
2150
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/schema.html
2151
+ # @return [String]
2152
+ #
2153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/SchemaDefinition AWS API Documentation
2154
+ #
2155
+ class SchemaDefinition < Struct.new(
2156
+ :cedar_json,
2157
+ :unknown)
2158
+ SENSITIVE = []
2159
+ include Aws::Structure
2160
+ include Aws::Structure::Union
2161
+
2162
+ class CedarJson < SchemaDefinition; end
2163
+ class Unknown < SchemaDefinition; end
2164
+ end
2165
+
2166
+ # The request failed because it would cause a service quota to be
2167
+ # exceeded.
2168
+ #
2169
+ # @!attribute [rw] message
2170
+ # @return [String]
2171
+ #
2172
+ # @!attribute [rw] resource_id
2173
+ # The unique ID of the resource referenced in the failed request.
2174
+ # @return [String]
2175
+ #
2176
+ # @!attribute [rw] resource_type
2177
+ # The resource type of the resource referenced in the failed request.
2178
+ # @return [String]
2179
+ #
2180
+ # @!attribute [rw] service_code
2181
+ # The code for the Amazon Web Service that owns the quota.
2182
+ # @return [String]
2183
+ #
2184
+ # @!attribute [rw] quota_code
2185
+ # The quota code recognized by the Amazon Web Services Service Quotas
2186
+ # service.
2187
+ # @return [String]
2188
+ #
2189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ServiceQuotaExceededException AWS API Documentation
2190
+ #
2191
+ class ServiceQuotaExceededException < Struct.new(
2192
+ :message,
2193
+ :resource_id,
2194
+ :resource_type,
2195
+ :service_code,
2196
+ :quota_code)
2197
+ SENSITIVE = []
2198
+ include Aws::Structure
2199
+ end
2200
+
2201
+ # Contains information about a static policy.
2202
+ #
2203
+ # This data type is used as a field that is part of the
2204
+ # [PolicyDefinitionDetail][1] type.
2205
+ #
2206
+ #
2207
+ #
2208
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_PolicyDefinitionDetail.html
2209
+ #
2210
+ # @!attribute [rw] description
2211
+ # The description of the static policy.
2212
+ # @return [String]
2213
+ #
2214
+ # @!attribute [rw] statement
2215
+ # The policy content of the static policy, written in the Cedar policy
2216
+ # language.
2217
+ # @return [String]
2218
+ #
2219
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/StaticPolicyDefinition AWS API Documentation
2220
+ #
2221
+ class StaticPolicyDefinition < Struct.new(
2222
+ :description,
2223
+ :statement)
2224
+ SENSITIVE = []
2225
+ include Aws::Structure
2226
+ end
2227
+
2228
+ # A structure that contains details about a static policy. It includes
2229
+ # the description and policy body.
2230
+ #
2231
+ # This data type is used within a [PolicyDefinition][1] structure as
2232
+ # part of a request parameter for the [CreatePolicy][2] operation.
2233
+ #
2234
+ #
2235
+ #
2236
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_PolicyDefinition.html
2237
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicy.html
2238
+ #
2239
+ # @!attribute [rw] description
2240
+ # A description of the static policy.
2241
+ # @return [String]
2242
+ #
2243
+ # @!attribute [rw] statement
2244
+ # The content of the static policy written in the Cedar policy
2245
+ # language.
2246
+ # @return [String]
2247
+ #
2248
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/StaticPolicyDefinitionDetail AWS API Documentation
2249
+ #
2250
+ class StaticPolicyDefinitionDetail < Struct.new(
2251
+ :description,
2252
+ :statement)
2253
+ SENSITIVE = []
2254
+ include Aws::Structure
2255
+ end
2256
+
2257
+ # A structure that contains details about a static policy. It includes
2258
+ # the description and policy statement.
2259
+ #
2260
+ # This data type is used within a [PolicyDefinition][1] structure as
2261
+ # part of a request parameter for the [CreatePolicy][2] operation.
2262
+ #
2263
+ #
2264
+ #
2265
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_PolicyDefinition.html
2266
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicy.html
2267
+ #
2268
+ # @!attribute [rw] description
2269
+ # A description of the static policy.
2270
+ # @return [String]
2271
+ #
2272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/StaticPolicyDefinitionItem AWS API Documentation
2273
+ #
2274
+ class StaticPolicyDefinitionItem < Struct.new(
2275
+ :description)
2276
+ SENSITIVE = []
2277
+ include Aws::Structure
2278
+ end
2279
+
2280
+ # Contains information about a policy created by instantiating a policy
2281
+ # template.
2282
+ #
2283
+ # @!attribute [rw] policy_template_id
2284
+ # The unique identifier of the policy template used to create this
2285
+ # policy.
2286
+ # @return [String]
2287
+ #
2288
+ # @!attribute [rw] principal
2289
+ # The principal associated with this template-linked policy. Verified
2290
+ # Permissions substitutes this principal for the `?principal`
2291
+ # placeholder in the policy template when it evaluates an
2292
+ # authorization request.
2293
+ # @return [Types::EntityIdentifier]
2294
+ #
2295
+ # @!attribute [rw] resource
2296
+ # The resource associated with this template-linked policy. Verified
2297
+ # Permissions substitutes this resource for the `?resource`
2298
+ # placeholder in the policy template when it evaluates an
2299
+ # authorization request.
2300
+ # @return [Types::EntityIdentifier]
2301
+ #
2302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/TemplateLinkedPolicyDefinition AWS API Documentation
2303
+ #
2304
+ class TemplateLinkedPolicyDefinition < Struct.new(
2305
+ :policy_template_id,
2306
+ :principal,
2307
+ :resource)
2308
+ SENSITIVE = []
2309
+ include Aws::Structure
2310
+ end
2311
+
2312
+ # Contains information about a policy that was
2313
+ #
2314
+ #
2315
+ #
2316
+ # created by instantiating a policy template.
2317
+ #
2318
+ # This
2319
+ #
2320
+ # @!attribute [rw] policy_template_id
2321
+ # The unique identifier of the policy template used to create this
2322
+ # policy.
2323
+ # @return [String]
2324
+ #
2325
+ # @!attribute [rw] principal
2326
+ # The principal associated with this template-linked policy. Verified
2327
+ # Permissions substitutes this principal for the `?principal`
2328
+ # placeholder in the policy template when it evaluates an
2329
+ # authorization request.
2330
+ # @return [Types::EntityIdentifier]
2331
+ #
2332
+ # @!attribute [rw] resource
2333
+ # The resource associated with this template-linked policy. Verified
2334
+ # Permissions substitutes this resource for the `?resource`
2335
+ # placeholder in the policy template when it evaluates an
2336
+ # authorization request.
2337
+ # @return [Types::EntityIdentifier]
2338
+ #
2339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/TemplateLinkedPolicyDefinitionDetail AWS API Documentation
2340
+ #
2341
+ class TemplateLinkedPolicyDefinitionDetail < Struct.new(
2342
+ :policy_template_id,
2343
+ :principal,
2344
+ :resource)
2345
+ SENSITIVE = []
2346
+ include Aws::Structure
2347
+ end
2348
+
2349
+ # Contains information about a policy created by instantiating a policy
2350
+ # template.
2351
+ #
2352
+ # This
2353
+ #
2354
+ # @!attribute [rw] policy_template_id
2355
+ # The unique identifier of the policy template used to create this
2356
+ # policy.
2357
+ # @return [String]
2358
+ #
2359
+ # @!attribute [rw] principal
2360
+ # The principal associated with this template-linked policy. Verified
2361
+ # Permissions substitutes this principal for the `?principal`
2362
+ # placeholder in the policy template when it evaluates an
2363
+ # authorization request.
2364
+ # @return [Types::EntityIdentifier]
2365
+ #
2366
+ # @!attribute [rw] resource
2367
+ # The resource associated with this template-linked policy. Verified
2368
+ # Permissions substitutes this resource for the `?resource`
2369
+ # placeholder in the policy template when it evaluates an
2370
+ # authorization request.
2371
+ # @return [Types::EntityIdentifier]
2372
+ #
2373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/TemplateLinkedPolicyDefinitionItem AWS API Documentation
2374
+ #
2375
+ class TemplateLinkedPolicyDefinitionItem < Struct.new(
2376
+ :policy_template_id,
2377
+ :principal,
2378
+ :resource)
2379
+ SENSITIVE = []
2380
+ include Aws::Structure
2381
+ end
2382
+
2383
+ # The request failed because it exceeded a throttling quota.
2384
+ #
2385
+ # @!attribute [rw] message
2386
+ # @return [String]
2387
+ #
2388
+ # @!attribute [rw] service_code
2389
+ # The code for the Amazon Web Service that owns the quota.
2390
+ # @return [String]
2391
+ #
2392
+ # @!attribute [rw] quota_code
2393
+ # The quota code recognized by the Amazon Web Services Service Quotas
2394
+ # service.
2395
+ # @return [String]
2396
+ #
2397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ThrottlingException AWS API Documentation
2398
+ #
2399
+ class ThrottlingException < Struct.new(
2400
+ :message,
2401
+ :service_code,
2402
+ :quota_code)
2403
+ SENSITIVE = []
2404
+ include Aws::Structure
2405
+ end
2406
+
2407
+ # Contains configuration details of a Amazon Cognito user pool for use
2408
+ # with an identity source.
2409
+ #
2410
+ # @!attribute [rw] user_pool_arn
2411
+ # The [Amazon Resource Name (ARN)][1] of the Amazon Cognito user pool
2412
+ # associated with this identity source.
2413
+ #
2414
+ #
2415
+ #
2416
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2417
+ # @return [String]
2418
+ #
2419
+ # @!attribute [rw] client_ids
2420
+ # The client ID of an app client that is configured for the specified
2421
+ # Amazon Cognito user pool.
2422
+ # @return [Array<String>]
2423
+ #
2424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdateCognitoUserPoolConfiguration AWS API Documentation
2425
+ #
2426
+ class UpdateCognitoUserPoolConfiguration < Struct.new(
2427
+ :user_pool_arn,
2428
+ :client_ids)
2429
+ SENSITIVE = []
2430
+ include Aws::Structure
2431
+ end
2432
+
2433
+ # Contains an updated configuration to replace the configuration in an
2434
+ # existing identity source.
2435
+ #
2436
+ # <note markdown="1"> At this time, the only valid member of this structure is a Amazon
2437
+ # Cognito user pool configuration.
2438
+ #
2439
+ # You must specify a `userPoolArn`, and optionally, a `ClientId`.
2440
+ #
2441
+ # </note>
2442
+ #
2443
+ # @note UpdateConfiguration is a union - when making an API calls you must set exactly one of the members.
2444
+ #
2445
+ # @!attribute [rw] cognito_user_pool_configuration
2446
+ # Contains configuration details of a Amazon Cognito user pool.
2447
+ # @return [Types::UpdateCognitoUserPoolConfiguration]
2448
+ #
2449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdateConfiguration AWS API Documentation
2450
+ #
2451
+ class UpdateConfiguration < Struct.new(
2452
+ :cognito_user_pool_configuration,
2453
+ :unknown)
2454
+ SENSITIVE = []
2455
+ include Aws::Structure
2456
+ include Aws::Structure::Union
2457
+
2458
+ class CognitoUserPoolConfiguration < UpdateConfiguration; end
2459
+ class Unknown < UpdateConfiguration; end
2460
+ end
2461
+
2462
+ # @!attribute [rw] policy_store_id
2463
+ # Specifies the ID of the policy store that contains the identity
2464
+ # source that you want to update.
2465
+ # @return [String]
2466
+ #
2467
+ # @!attribute [rw] identity_source_id
2468
+ # Specifies the ID of the identity source that you want to update.
2469
+ # @return [String]
2470
+ #
2471
+ # @!attribute [rw] update_configuration
2472
+ # Specifies the details required to communicate with the identity
2473
+ # provider (IdP) associated with this identity source.
2474
+ #
2475
+ # <note markdown="1"> At this time, the only valid member of this structure is a Amazon
2476
+ # Cognito user pool configuration.
2477
+ #
2478
+ # You must specify a `userPoolArn`, and optionally, a `ClientId`.
2479
+ #
2480
+ # </note>
2481
+ # @return [Types::UpdateConfiguration]
2482
+ #
2483
+ # @!attribute [rw] principal_entity_type
2484
+ # Specifies the data type of principals generated for identities
2485
+ # authenticated by the identity source.
2486
+ # @return [String]
2487
+ #
2488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdateIdentitySourceInput AWS API Documentation
2489
+ #
2490
+ class UpdateIdentitySourceInput < Struct.new(
2491
+ :policy_store_id,
2492
+ :identity_source_id,
2493
+ :update_configuration,
2494
+ :principal_entity_type)
2495
+ SENSITIVE = []
2496
+ include Aws::Structure
2497
+ end
2498
+
2499
+ # @!attribute [rw] created_date
2500
+ # The date and time that the updated identity source was originally
2501
+ # created.
2502
+ # @return [Time]
2503
+ #
2504
+ # @!attribute [rw] identity_source_id
2505
+ # The ID of the updated identity source.
2506
+ # @return [String]
2507
+ #
2508
+ # @!attribute [rw] last_updated_date
2509
+ # The date and time that the identity source was most recently
2510
+ # updated.
2511
+ # @return [Time]
2512
+ #
2513
+ # @!attribute [rw] policy_store_id
2514
+ # The ID of the policy store that contains the updated identity
2515
+ # source.
2516
+ # @return [String]
2517
+ #
2518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdateIdentitySourceOutput AWS API Documentation
2519
+ #
2520
+ class UpdateIdentitySourceOutput < Struct.new(
2521
+ :created_date,
2522
+ :identity_source_id,
2523
+ :last_updated_date,
2524
+ :policy_store_id)
2525
+ SENSITIVE = []
2526
+ include Aws::Structure
2527
+ end
2528
+
2529
+ # Contains information about updates to be applied to a policy.
2530
+ #
2531
+ # This data type is used as a request parameter in the [UpdatePolicy][1]
2532
+ # operation.
2533
+ #
2534
+ #
2535
+ #
2536
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdatePolicy.html
2537
+ #
2538
+ # @note UpdatePolicyDefinition is a union - when making an API calls you must set exactly one of the members.
2539
+ #
2540
+ # @!attribute [rw] static
2541
+ # Contains details about the updates to be applied to a static policy.
2542
+ # @return [Types::UpdateStaticPolicyDefinition]
2543
+ #
2544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdatePolicyDefinition AWS API Documentation
2545
+ #
2546
+ class UpdatePolicyDefinition < Struct.new(
2547
+ :static,
2548
+ :unknown)
2549
+ SENSITIVE = []
2550
+ include Aws::Structure
2551
+ include Aws::Structure::Union
2552
+
2553
+ class Static < UpdatePolicyDefinition; end
2554
+ class Unknown < UpdatePolicyDefinition; end
2555
+ end
2556
+
2557
+ # @!attribute [rw] policy_store_id
2558
+ # Specifies the ID of the policy store that contains the policy that
2559
+ # you want to update.
2560
+ # @return [String]
2561
+ #
2562
+ # @!attribute [rw] policy_id
2563
+ # Specifies the ID of the policy that you want to update. To find this
2564
+ # value, you can use [ListPolicies][1].
2565
+ #
2566
+ #
2567
+ #
2568
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListPolicies.html
2569
+ # @return [String]
2570
+ #
2571
+ # @!attribute [rw] definition
2572
+ # Specifies the updated policy content that you want to replace on the
2573
+ # specified policy. The content must be valid Cedar policy language
2574
+ # text.
2575
+ #
2576
+ # You can change only the following elements from the policy
2577
+ # definition:
2578
+ #
2579
+ # * The `action` referenced by the policy.
2580
+ #
2581
+ # * Any conditional clauses, such as `when` or `unless` clauses.
2582
+ #
2583
+ # You **can't** change the following elements:
2584
+ #
2585
+ # * Changing from `static` to `templateLinked`.
2586
+ #
2587
+ # * Changing the effect of the policy from `permit` or `forbid`.
2588
+ #
2589
+ # * The `principal` referenced by the policy.
2590
+ #
2591
+ # * The `resource` referenced by the policy.
2592
+ # @return [Types::UpdatePolicyDefinition]
2593
+ #
2594
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdatePolicyInput AWS API Documentation
2595
+ #
2596
+ class UpdatePolicyInput < Struct.new(
2597
+ :policy_store_id,
2598
+ :policy_id,
2599
+ :definition)
2600
+ SENSITIVE = []
2601
+ include Aws::Structure
2602
+ end
2603
+
2604
+ # @!attribute [rw] policy_store_id
2605
+ # The ID of the policy store that contains the policy that was
2606
+ # updated.
2607
+ # @return [String]
2608
+ #
2609
+ # @!attribute [rw] policy_id
2610
+ # The ID of the policy that was updated.
2611
+ # @return [String]
2612
+ #
2613
+ # @!attribute [rw] policy_type
2614
+ # The type of the policy that was updated.
2615
+ # @return [String]
2616
+ #
2617
+ # @!attribute [rw] principal
2618
+ # The principal specified in the policy's scope. This element isn't
2619
+ # included in the response when `Principal` isn't present in the
2620
+ # policy content.
2621
+ # @return [Types::EntityIdentifier]
2622
+ #
2623
+ # @!attribute [rw] resource
2624
+ # The resource specified in the policy's scope. This element isn't
2625
+ # included in the response when `Resource` isn't present in the
2626
+ # policy content.
2627
+ # @return [Types::EntityIdentifier]
2628
+ #
2629
+ # @!attribute [rw] created_date
2630
+ # The date and time that the policy was originally created.
2631
+ # @return [Time]
2632
+ #
2633
+ # @!attribute [rw] last_updated_date
2634
+ # The date and time that the policy was most recently updated.
2635
+ # @return [Time]
2636
+ #
2637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdatePolicyOutput AWS API Documentation
2638
+ #
2639
+ class UpdatePolicyOutput < Struct.new(
2640
+ :policy_store_id,
2641
+ :policy_id,
2642
+ :policy_type,
2643
+ :principal,
2644
+ :resource,
2645
+ :created_date,
2646
+ :last_updated_date)
2647
+ SENSITIVE = []
2648
+ include Aws::Structure
2649
+ end
2650
+
2651
+ # @!attribute [rw] policy_store_id
2652
+ # Specifies the ID of the policy store that you want to update
2653
+ # @return [String]
2654
+ #
2655
+ # @!attribute [rw] validation_settings
2656
+ # A structure that defines the validation settings that want to enable
2657
+ # for the policy store.
2658
+ # @return [Types::ValidationSettings]
2659
+ #
2660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdatePolicyStoreInput AWS API Documentation
2661
+ #
2662
+ class UpdatePolicyStoreInput < Struct.new(
2663
+ :policy_store_id,
2664
+ :validation_settings)
2665
+ SENSITIVE = []
2666
+ include Aws::Structure
2667
+ end
2668
+
2669
+ # @!attribute [rw] policy_store_id
2670
+ # The ID of the updated policy store.
2671
+ # @return [String]
2672
+ #
2673
+ # @!attribute [rw] arn
2674
+ # The [Amazon Resource Name (ARN)][1] of the updated policy store.
2675
+ #
2676
+ #
2677
+ #
2678
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
2679
+ # @return [String]
2680
+ #
2681
+ # @!attribute [rw] created_date
2682
+ # The date and time that the policy store was originally created.
2683
+ # @return [Time]
2684
+ #
2685
+ # @!attribute [rw] last_updated_date
2686
+ # The date and time that the policy store was most recently updated.
2687
+ # @return [Time]
2688
+ #
2689
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdatePolicyStoreOutput AWS API Documentation
2690
+ #
2691
+ class UpdatePolicyStoreOutput < Struct.new(
2692
+ :policy_store_id,
2693
+ :arn,
2694
+ :created_date,
2695
+ :last_updated_date)
2696
+ SENSITIVE = []
2697
+ include Aws::Structure
2698
+ end
2699
+
2700
+ # @!attribute [rw] policy_store_id
2701
+ # Specifies the ID of the policy store that contains the policy
2702
+ # template that you want to update.
2703
+ # @return [String]
2704
+ #
2705
+ # @!attribute [rw] policy_template_id
2706
+ # Specifies the ID of the policy template that you want to update.
2707
+ # @return [String]
2708
+ #
2709
+ # @!attribute [rw] description
2710
+ # Specifies a new description to apply to the policy template.
2711
+ # @return [String]
2712
+ #
2713
+ # @!attribute [rw] statement
2714
+ # Specifies new statement content written in Cedar policy language to
2715
+ # replace the current body of the policy template.
2716
+ #
2717
+ # You can change only the following elements of the policy body:
2718
+ #
2719
+ # * The `action` referenced by the policy template.
2720
+ #
2721
+ # * Any conditional clauses, such as `when` or `unless` clauses.
2722
+ #
2723
+ # You **can't** change the following elements:
2724
+ #
2725
+ # * The effect (`permit` or `forbid`) of the policy template.
2726
+ #
2727
+ # * The `principal` referenced by the policy template.
2728
+ #
2729
+ # * The `resource` referenced by the policy template.
2730
+ # @return [String]
2731
+ #
2732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdatePolicyTemplateInput AWS API Documentation
2733
+ #
2734
+ class UpdatePolicyTemplateInput < Struct.new(
2735
+ :policy_store_id,
2736
+ :policy_template_id,
2737
+ :description,
2738
+ :statement)
2739
+ SENSITIVE = []
2740
+ include Aws::Structure
2741
+ end
2742
+
2743
+ # @!attribute [rw] policy_store_id
2744
+ # The ID of the policy store that contains the updated policy
2745
+ # template.
2746
+ # @return [String]
2747
+ #
2748
+ # @!attribute [rw] policy_template_id
2749
+ # The ID of the updated policy template.
2750
+ # @return [String]
2751
+ #
2752
+ # @!attribute [rw] created_date
2753
+ # The date and time that the policy template was originally created.
2754
+ # @return [Time]
2755
+ #
2756
+ # @!attribute [rw] last_updated_date
2757
+ # The date and time that the policy template was most recently
2758
+ # updated.
2759
+ # @return [Time]
2760
+ #
2761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdatePolicyTemplateOutput AWS API Documentation
2762
+ #
2763
+ class UpdatePolicyTemplateOutput < Struct.new(
2764
+ :policy_store_id,
2765
+ :policy_template_id,
2766
+ :created_date,
2767
+ :last_updated_date)
2768
+ SENSITIVE = []
2769
+ include Aws::Structure
2770
+ end
2771
+
2772
+ # Contains information about an update to a static policy.
2773
+ #
2774
+ # @!attribute [rw] description
2775
+ # Specifies the description to be added to or replaced on the static
2776
+ # policy.
2777
+ # @return [String]
2778
+ #
2779
+ # @!attribute [rw] statement
2780
+ # Specifies the Cedar policy language text to be added to or replaced
2781
+ # on the static policy.
2782
+ #
2783
+ # You can change only the following elements from the original
2784
+ # content:
2785
+ #
2786
+ # * The `action` referenced by the policy.
2787
+ #
2788
+ # * Any conditional clauses, such as `when` or `unless` clauses.
2789
+ #
2790
+ # You **can't** change the following elements:
2791
+ #
2792
+ # * Changing from `StaticPolicy` to `TemplateLinkedPolicy`.
2793
+ #
2794
+ # * The effect (`permit` or `forbid`) of the policy.
2795
+ #
2796
+ # * The `principal` referenced by the policy.
2797
+ #
2798
+ # * The `resource` referenced by the policy.
2799
+ # @return [String]
2800
+ #
2801
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/UpdateStaticPolicyDefinition AWS API Documentation
2802
+ #
2803
+ class UpdateStaticPolicyDefinition < Struct.new(
2804
+ :description,
2805
+ :statement)
2806
+ SENSITIVE = []
2807
+ include Aws::Structure
2808
+ end
2809
+
2810
+ # The request failed because one or more input parameters don't satisfy
2811
+ # their constraint requirements. The output is provided as a list of
2812
+ # fields and a reason for each field that isn't valid.
2813
+ #
2814
+ # The possible reasons include the following:
2815
+ #
2816
+ # * **UnrecognizedEntityType**
2817
+ #
2818
+ # The policy includes an entity type that isn't found in the schema.
2819
+ #
2820
+ # * **UnrecognizedActionId**
2821
+ #
2822
+ # The policy includes an action id that isn't found in the schema.
2823
+ #
2824
+ # * **InvalidActionApplication**
2825
+ #
2826
+ # The policy includes an action that, according to the schema,
2827
+ # doesn't support the specified principal and resource.
2828
+ #
2829
+ # * **UnexpectedType**
2830
+ #
2831
+ # The policy included an operand that isn't a valid type for the
2832
+ # specified operation.
2833
+ #
2834
+ # * **IncompatibleTypes**
2835
+ #
2836
+ # The types of elements included in a `set`, or the types of
2837
+ # expressions used in an `if...then...else` clause aren't compatible
2838
+ # in this context.
2839
+ #
2840
+ # * **MissingAttribute**
2841
+ #
2842
+ # The policy attempts to access a record or entity attribute that
2843
+ # isn't specified in the schema. Test for the existence of the
2844
+ # attribute first before attempting to access its value. For more
2845
+ # information, see the [has (presence of attribute test)
2846
+ # operator](docs.cedarpolicy.comsyntax-operators.html#has-presence-of-attribute-test)
2847
+ # in the *Cedar Policy Language Guide*.
2848
+ #
2849
+ # * **UnsafeOptionalAttributeAccess**
2850
+ #
2851
+ # The policy attempts to access a record or entity attribute that is
2852
+ # optional and isn't guaranteed to be present. Test for the existence
2853
+ # of the attribute first before attempting to access its value. For
2854
+ # more information, see the [has (presence of attribute test)
2855
+ # operator](docs.cedarpolicy.comsyntax-operators.html#has-presence-of-attribute-test)
2856
+ # in the *Cedar Policy Language Guide*.
2857
+ #
2858
+ # * **ImpossiblePolicy**
2859
+ #
2860
+ # Cedar has determined that a policy condition always evaluates to
2861
+ # false. If the policy is always false, it can never apply to any
2862
+ # query, and so it can never affect an authorization decision.
2863
+ #
2864
+ # * **WrongNumberArguments**
2865
+ #
2866
+ # The policy references an extension type with the wrong number of
2867
+ # arguments.
2868
+ #
2869
+ # * **FunctionArgumentValidationError**
2870
+ #
2871
+ # Cedar couldn't parse the argument passed to an extension type. For
2872
+ # example, a string that is to be parsed as an IPv4 address can
2873
+ # contain only digits and the period character.
2874
+ #
2875
+ # @!attribute [rw] message
2876
+ # @return [String]
2877
+ #
2878
+ # @!attribute [rw] field_list
2879
+ # The list of fields that aren't valid.
2880
+ # @return [Array<Types::ValidationExceptionField>]
2881
+ #
2882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ValidationException AWS API Documentation
2883
+ #
2884
+ class ValidationException < Struct.new(
2885
+ :message,
2886
+ :field_list)
2887
+ SENSITIVE = []
2888
+ include Aws::Structure
2889
+ end
2890
+
2891
+ # Details about a field that failed policy validation.
2892
+ #
2893
+ # @!attribute [rw] path
2894
+ # The path to the specific element that Verified Permissions found to
2895
+ # be not valid.
2896
+ # @return [String]
2897
+ #
2898
+ # @!attribute [rw] message
2899
+ # Describes the policy validation error.
2900
+ # @return [String]
2901
+ #
2902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ValidationExceptionField AWS API Documentation
2903
+ #
2904
+ class ValidationExceptionField < Struct.new(
2905
+ :path,
2906
+ :message)
2907
+ SENSITIVE = []
2908
+ include Aws::Structure
2909
+ end
2910
+
2911
+ # A structure that contains Cedar policy validation settings for the
2912
+ # policy store. The validation mode determines which validation failures
2913
+ # that Cedar considers serious enough to block acceptance of a new or
2914
+ # edited static policy or policy template.
2915
+ #
2916
+ # This data type is used as a request parameter in the
2917
+ # [CreatePolicyStore][1] and [UpdatePolicyStore][2] operations.
2918
+ #
2919
+ #
2920
+ #
2921
+ # [1]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreatePolicyStore.html
2922
+ # [2]: https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_UpdatePolicyStore.html
2923
+ #
2924
+ # @!attribute [rw] mode
2925
+ # The validation mode currently configured for this policy store. The
2926
+ # valid values are:
2927
+ #
2928
+ # * **OFF** – Neither Verified Permissions nor Cedar perform any
2929
+ # validation on policies. No validation errors are reported by
2930
+ # either service.
2931
+ #
2932
+ # * **STRICT** – Requires a schema to be present in the policy store.
2933
+ # Cedar performs validation on all submitted new or updated static
2934
+ # policies and policy templates. Any that fail validation are
2935
+ # rejected and Cedar doesn't store them in the policy store.
2936
+ #
2937
+ # If `Mode=STRICT` and the policy store doesn't contain a schema,
2938
+ # Verified Permissions rejects all static policies and policy
2939
+ # templates because there is no schema to validate against.
2940
+ #
2941
+ # To submit a static policy or policy template without a schema, you
2942
+ # must turn off validation.
2943
+ # @return [String]
2944
+ #
2945
+ # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ValidationSettings AWS API Documentation
2946
+ #
2947
+ class ValidationSettings < Struct.new(
2948
+ :mode)
2949
+ SENSITIVE = []
2950
+ include Aws::Structure
2951
+ end
2952
+
2953
+ end
2954
+ end