@aws-sdk/client-verifiedpermissions 3.799.0 → 3.803.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +25 -65
  2. package/dist-cjs/index.js +158 -0
  3. package/dist-es/VerifiedPermissions.js +6 -0
  4. package/dist-es/commands/ListTagsForResourceCommand.js +22 -0
  5. package/dist-es/commands/TagResourceCommand.js +22 -0
  6. package/dist-es/commands/UntagResourceCommand.js +22 -0
  7. package/dist-es/commands/index.js +3 -0
  8. package/dist-es/models/models_0.js +18 -0
  9. package/dist-es/protocols/Aws_json1_0.js +73 -1
  10. package/dist-types/VerifiedPermissions.d.ts +22 -65
  11. package/dist-types/VerifiedPermissionsClient.d.ts +6 -67
  12. package/dist-types/commands/BatchGetPolicyCommand.d.ts +2 -88
  13. package/dist-types/commands/BatchIsAuthorizedCommand.d.ts +2 -103
  14. package/dist-types/commands/BatchIsAuthorizedWithTokenCommand.d.ts +2 -101
  15. package/dist-types/commands/CreateIdentitySourceCommand.d.ts +3 -121
  16. package/dist-types/commands/CreatePolicyCommand.d.ts +3 -111
  17. package/dist-types/commands/CreatePolicyStoreCommand.d.ts +6 -95
  18. package/dist-types/commands/CreatePolicyTemplateCommand.d.ts +3 -97
  19. package/dist-types/commands/DeleteIdentitySourceCommand.d.ts +3 -88
  20. package/dist-types/commands/DeletePolicyCommand.d.ts +3 -87
  21. package/dist-types/commands/DeletePolicyStoreCommand.d.ts +2 -85
  22. package/dist-types/commands/DeletePolicyTemplateCommand.d.ts +3 -90
  23. package/dist-types/commands/GetIdentitySourceCommand.d.ts +1 -82
  24. package/dist-types/commands/GetPolicyCommand.d.ts +1 -82
  25. package/dist-types/commands/GetPolicyStoreCommand.d.ts +6 -82
  26. package/dist-types/commands/GetPolicyTemplateCommand.d.ts +1 -82
  27. package/dist-types/commands/GetSchemaCommand.d.ts +1 -82
  28. package/dist-types/commands/IsAuthorizedCommand.d.ts +2 -88
  29. package/dist-types/commands/IsAuthorizedWithTokenCommand.d.ts +2 -96
  30. package/dist-types/commands/ListIdentitySourcesCommand.d.ts +1 -82
  31. package/dist-types/commands/ListPoliciesCommand.d.ts +1 -82
  32. package/dist-types/commands/ListPolicyStoresCommand.d.ts +1 -82
  33. package/dist-types/commands/ListPolicyTemplatesCommand.d.ts +1 -82
  34. package/dist-types/commands/ListTagsForResourceCommand.d.ts +107 -0
  35. package/dist-types/commands/PutSchemaCommand.d.ts +3 -95
  36. package/dist-types/commands/TagResourceCommand.d.ts +108 -0
  37. package/dist-types/commands/UntagResourceCommand.d.ts +105 -0
  38. package/dist-types/commands/UpdateIdentitySourceCommand.d.ts +3 -92
  39. package/dist-types/commands/UpdatePolicyCommand.d.ts +3 -135
  40. package/dist-types/commands/UpdatePolicyStoreCommand.d.ts +3 -91
  41. package/dist-types/commands/UpdatePolicyTemplateCommand.d.ts +3 -97
  42. package/dist-types/commands/index.d.ts +3 -0
  43. package/dist-types/index.d.ts +1 -65
  44. package/dist-types/models/models_0.d.ts +385 -1235
  45. package/dist-types/protocols/Aws_json1_0.d.ts +27 -0
  46. package/dist-types/ts3.4/VerifiedPermissions.d.ts +51 -0
  47. package/dist-types/ts3.4/VerifiedPermissionsClient.d.ts +18 -0
  48. package/dist-types/ts3.4/commands/ListTagsForResourceCommand.d.ts +51 -0
  49. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +47 -0
  50. package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +47 -0
  51. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  52. package/dist-types/ts3.4/models/models_0.d.ts +33 -0
  53. package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +36 -0
  54. package/package.json +4 -4
@@ -2,7 +2,7 @@ import { awsExpectUnion as __expectUnion, loadRestJsonErrorCode, parseJsonBody a
2
2
  import { HttpRequest as __HttpRequest } from "@smithy/protocol-http";
3
3
  import { _json, collectBody, decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectLong as __expectLong, expectNonNull as __expectNonNull, expectString as __expectString, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, take, withBaseException, } from "@smithy/smithy-client";
4
4
  import { v4 as generateIdempotencyToken } from "uuid";
5
- import { AccessDeniedException, AttributeValue, ConflictException, ContextDefinition, EntitiesDefinition, InternalServerException, InvalidStateException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, ValidationException, } from "../models/models_0";
5
+ import { AccessDeniedException, AttributeValue, ConflictException, ContextDefinition, EntitiesDefinition, InternalServerException, InvalidStateException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, TooManyTagsException, ValidationException, } from "../models/models_0";
6
6
  import { VerifiedPermissionsServiceException as __BaseException } from "../models/VerifiedPermissionsServiceException";
7
7
  export const se_BatchGetPolicyCommand = async (input, context) => {
8
8
  const headers = sharedHeaders("BatchGetPolicy");
@@ -136,12 +136,30 @@ export const se_ListPolicyTemplatesCommand = async (input, context) => {
136
136
  body = JSON.stringify(_json(input));
137
137
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
138
138
  };
139
+ export const se_ListTagsForResourceCommand = async (input, context) => {
140
+ const headers = sharedHeaders("ListTagsForResource");
141
+ let body;
142
+ body = JSON.stringify(_json(input));
143
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
144
+ };
139
145
  export const se_PutSchemaCommand = async (input, context) => {
140
146
  const headers = sharedHeaders("PutSchema");
141
147
  let body;
142
148
  body = JSON.stringify(_json(input));
143
149
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
144
150
  };
151
+ export const se_TagResourceCommand = async (input, context) => {
152
+ const headers = sharedHeaders("TagResource");
153
+ let body;
154
+ body = JSON.stringify(_json(input));
155
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
156
+ };
157
+ export const se_UntagResourceCommand = async (input, context) => {
158
+ const headers = sharedHeaders("UntagResource");
159
+ let body;
160
+ body = JSON.stringify(_json(input));
161
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
162
+ };
145
163
  export const se_UpdateIdentitySourceCommand = async (input, context) => {
146
164
  const headers = sharedHeaders("UpdateIdentitySource");
147
165
  let body;
@@ -452,6 +470,19 @@ export const de_ListPolicyTemplatesCommand = async (output, context) => {
452
470
  };
453
471
  return response;
454
472
  };
473
+ export const de_ListTagsForResourceCommand = async (output, context) => {
474
+ if (output.statusCode >= 300) {
475
+ return de_CommandError(output, context);
476
+ }
477
+ const data = await parseBody(output.body, context);
478
+ let contents = {};
479
+ contents = _json(data);
480
+ const response = {
481
+ $metadata: deserializeMetadata(output),
482
+ ...contents,
483
+ };
484
+ return response;
485
+ };
455
486
  export const de_PutSchemaCommand = async (output, context) => {
456
487
  if (output.statusCode >= 300) {
457
488
  return de_CommandError(output, context);
@@ -465,6 +496,32 @@ export const de_PutSchemaCommand = async (output, context) => {
465
496
  };
466
497
  return response;
467
498
  };
499
+ export const de_TagResourceCommand = async (output, context) => {
500
+ if (output.statusCode >= 300) {
501
+ return de_CommandError(output, context);
502
+ }
503
+ const data = await parseBody(output.body, context);
504
+ let contents = {};
505
+ contents = _json(data);
506
+ const response = {
507
+ $metadata: deserializeMetadata(output),
508
+ ...contents,
509
+ };
510
+ return response;
511
+ };
512
+ export const de_UntagResourceCommand = async (output, context) => {
513
+ if (output.statusCode >= 300) {
514
+ return de_CommandError(output, context);
515
+ }
516
+ const data = await parseBody(output.body, context);
517
+ let contents = {};
518
+ contents = _json(data);
519
+ const response = {
520
+ $metadata: deserializeMetadata(output),
521
+ ...contents,
522
+ };
523
+ return response;
524
+ };
468
525
  export const de_UpdateIdentitySourceCommand = async (output, context) => {
469
526
  if (output.statusCode >= 300) {
470
527
  return de_CommandError(output, context);
@@ -548,6 +605,9 @@ const de_CommandError = async (output, context) => {
548
605
  case "InvalidStateException":
549
606
  case "com.amazonaws.verifiedpermissions#InvalidStateException":
550
607
  throw await de_InvalidStateExceptionRes(parsedOutput, context);
608
+ case "TooManyTagsException":
609
+ case "com.amazonaws.verifiedpermissions#TooManyTagsException":
610
+ throw await de_TooManyTagsExceptionRes(parsedOutput, context);
551
611
  default:
552
612
  const parsedBody = parsedOutput.body;
553
613
  return throwDefaultError({
@@ -620,6 +680,15 @@ const de_ThrottlingExceptionRes = async (parsedOutput, context) => {
620
680
  });
621
681
  return __decorateServiceException(exception, body);
622
682
  };
683
+ const de_TooManyTagsExceptionRes = async (parsedOutput, context) => {
684
+ const body = parsedOutput.body;
685
+ const deserialized = _json(body);
686
+ const exception = new TooManyTagsException({
687
+ $metadata: deserializeMetadata(parsedOutput),
688
+ ...deserialized,
689
+ });
690
+ return __decorateServiceException(exception, body);
691
+ };
623
692
  const de_ValidationExceptionRes = async (parsedOutput, context) => {
624
693
  const body = parsedOutput.body;
625
694
  const deserialized = _json(body);
@@ -723,6 +792,7 @@ const se_CreatePolicyStoreInput = (input, context) => {
723
792
  clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
724
793
  deletionProtection: [],
725
794
  description: [],
795
+ tags: _json,
726
796
  validationSettings: _json,
727
797
  });
728
798
  };
@@ -1001,11 +1071,13 @@ const de_GetPolicyOutput = (output, context) => {
1001
1071
  const de_GetPolicyStoreOutput = (output, context) => {
1002
1072
  return take(output, {
1003
1073
  arn: __expectString,
1074
+ cedarVersion: __expectString,
1004
1075
  createdDate: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
1005
1076
  deletionProtection: __expectString,
1006
1077
  description: __expectString,
1007
1078
  lastUpdatedDate: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
1008
1079
  policyStoreId: __expectString,
1080
+ tags: _json,
1009
1081
  validationSettings: _json,
1010
1082
  });
1011
1083
  };
@@ -21,7 +21,10 @@ import { ListIdentitySourcesCommandInput, ListIdentitySourcesCommandOutput } fro
21
21
  import { ListPoliciesCommandInput, ListPoliciesCommandOutput } from "./commands/ListPoliciesCommand";
22
22
  import { ListPolicyStoresCommandInput, ListPolicyStoresCommandOutput } from "./commands/ListPolicyStoresCommand";
23
23
  import { ListPolicyTemplatesCommandInput, ListPolicyTemplatesCommandOutput } from "./commands/ListPolicyTemplatesCommand";
24
+ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
24
25
  import { PutSchemaCommandInput, PutSchemaCommandOutput } from "./commands/PutSchemaCommand";
26
+ import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
27
+ import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
25
28
  import { UpdateIdentitySourceCommandInput, UpdateIdentitySourceCommandOutput } from "./commands/UpdateIdentitySourceCommand";
26
29
  import { UpdatePolicyCommandInput, UpdatePolicyCommandOutput } from "./commands/UpdatePolicyCommand";
27
30
  import { UpdatePolicyStoreCommandInput, UpdatePolicyStoreCommandOutput } from "./commands/UpdatePolicyStoreCommand";
@@ -161,12 +164,30 @@ export interface VerifiedPermissions {
161
164
  listPolicyTemplates(args: ListPolicyTemplatesCommandInput, options?: __HttpHandlerOptions): Promise<ListPolicyTemplatesCommandOutput>;
162
165
  listPolicyTemplates(args: ListPolicyTemplatesCommandInput, cb: (err: any, data?: ListPolicyTemplatesCommandOutput) => void): void;
163
166
  listPolicyTemplates(args: ListPolicyTemplatesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListPolicyTemplatesCommandOutput) => void): void;
167
+ /**
168
+ * @see {@link ListTagsForResourceCommand}
169
+ */
170
+ listTagsForResource(args: ListTagsForResourceCommandInput, options?: __HttpHandlerOptions): Promise<ListTagsForResourceCommandOutput>;
171
+ listTagsForResource(args: ListTagsForResourceCommandInput, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void;
172
+ listTagsForResource(args: ListTagsForResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void;
164
173
  /**
165
174
  * @see {@link PutSchemaCommand}
166
175
  */
167
176
  putSchema(args: PutSchemaCommandInput, options?: __HttpHandlerOptions): Promise<PutSchemaCommandOutput>;
168
177
  putSchema(args: PutSchemaCommandInput, cb: (err: any, data?: PutSchemaCommandOutput) => void): void;
169
178
  putSchema(args: PutSchemaCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutSchemaCommandOutput) => void): void;
179
+ /**
180
+ * @see {@link TagResourceCommand}
181
+ */
182
+ tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise<TagResourceCommandOutput>;
183
+ tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
184
+ tagResource(args: TagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
185
+ /**
186
+ * @see {@link UntagResourceCommand}
187
+ */
188
+ untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Promise<UntagResourceCommandOutput>;
189
+ untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
190
+ untagResource(args: UntagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
170
191
  /**
171
192
  * @see {@link UpdateIdentitySourceCommand}
172
193
  */
@@ -193,71 +214,7 @@ export interface VerifiedPermissions {
193
214
  updatePolicyTemplate(args: UpdatePolicyTemplateCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdatePolicyTemplateCommandOutput) => void): void;
194
215
  }
195
216
  /**
196
- * <p>Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage
197
- * permissions for your application, and authorize user access based on those permissions.
198
- * Using Verified Permissions, application developers can grant access based on information about the
199
- * users, resources, and requested actions. You can also evaluate additional information
200
- * like group membership, attributes of the resources, and session context, such as time of
201
- * request and IP addresses. Verified Permissions manages these permissions by letting you create and
202
- * store authorization policies for your applications, such as consumer-facing web sites
203
- * and enterprise business systems.</p>
204
- * <p>Verified Permissions uses Cedar as the policy language to express your permission requirements.
205
- * Cedar supports both role-based access control (RBAC) and attribute-based access
206
- * control (ABAC) authorization models.</p>
207
- * <p>For more information about configuring, administering, and using Amazon Verified Permissions in your
208
- * applications, see the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/">Amazon Verified Permissions User Guide</a>.</p>
209
- * <p>For more information about the Cedar policy language, see the <a href="https://docs.cedarpolicy.com/">Cedar Policy Language Guide</a>.</p>
210
- * <important>
211
- * <p>When you write Cedar policies that reference principals, resources and actions,
212
- * you can define the unique identifiers used for each of those elements. We strongly
213
- * recommend that you follow these best practices:</p>
214
- * <ul>
215
- * <li>
216
- * <p>
217
- * <b>Use values like universally unique identifiers
218
- * (UUIDs) for all principal and resource identifiers.</b>
219
- * </p>
220
- * <p>For example, if user <code>jane</code> leaves the company, and you later
221
- * let someone else use the name <code>jane</code>, then that new user
222
- * automatically gets access to everything granted by policies that still
223
- * reference <code>User::"jane"</code>. Cedar can’t distinguish between the
224
- * new user and the old. This applies to both principal and resource
225
- * identifiers. Always use identifiers that are guaranteed unique and never
226
- * reused to ensure that you don’t unintentionally grant access because of the
227
- * presence of an old identifier in a policy.</p>
228
- * <p>Where you use a UUID for an entity, we recommend that you follow it with
229
- * the // comment specifier and the ‘friendly’ name of your entity. This helps
230
- * to make your policies easier to understand. For example: principal ==
231
- * User::"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111", // alice</p>
232
- * </li>
233
- * <li>
234
- * <p>
235
- * <b>Do not include personally identifying, confidential,
236
- * or sensitive information as part of the unique identifier for your
237
- * principals or resources.</b> These identifiers are included in
238
- * log entries shared in CloudTrail trails.</p>
239
- * </li>
240
- * </ul>
241
- * </important>
242
- * <p>Several operations return structures that appear similar, but have different purposes.
243
- * As new functionality is added to the product, the structure used in a parameter of one
244
- * operation might need to change in a way that wouldn't make sense for the same parameter
245
- * in a different operation. To help you understand the purpose of each, the following
246
- * naming convention is used for the structures:</p>
247
- * <ul>
248
- * <li>
249
- * <p>Parameter type structures that end in <code>Detail</code> are used in
250
- * <code>Get</code> operations.</p>
251
- * </li>
252
- * <li>
253
- * <p>Parameter type structures that end in <code>Item</code> are used in
254
- * <code>List</code> operations.</p>
255
- * </li>
256
- * <li>
257
- * <p>Parameter type structures that use neither suffix are used in the mutating
258
- * (create and update) operations.</p>
259
- * </li>
260
- * </ul>
217
+ * <p>Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage permissions for your application, and authorize user access based on those permissions. Using Verified Permissions, application developers can grant access based on information about the users, resources, and requested actions. You can also evaluate additional information like group membership, attributes of the resources, and session context, such as time of request and IP addresses. Verified Permissions manages these permissions by letting you create and store authorization policies for your applications, such as consumer-facing web sites and enterprise business systems.</p> <p>Verified Permissions uses Cedar as the policy language to express your permission requirements. Cedar supports both role-based access control (RBAC) and attribute-based access control (ABAC) authorization models.</p> <p>For more information about configuring, administering, and using Amazon Verified Permissions in your applications, see the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/">Amazon Verified Permissions User Guide</a>.</p> <p>For more information about the Cedar policy language, see the <a href="https://docs.cedarpolicy.com/">Cedar Policy Language Guide</a>.</p> <important> <p>When you write Cedar policies that reference principals, resources and actions, you can define the unique identifiers used for each of those elements. We strongly recommend that you follow these best practices:</p> <ul> <li> <p> <b>Use values like universally unique identifiers (UUIDs) for all principal and resource identifiers.</b> </p> <p>For example, if user <code>jane</code> leaves the company, and you later let someone else use the name <code>jane</code>, then that new user automatically gets access to everything granted by policies that still reference <code>User::"jane"</code>. Cedar can’t distinguish between the new user and the old. This applies to both principal and resource identifiers. Always use identifiers that are guaranteed unique and never reused to ensure that you don’t unintentionally grant access because of the presence of an old identifier in a policy.</p> <p>Where you use a UUID for an entity, we recommend that you follow it with the // comment specifier and the ‘friendly’ name of your entity. This helps to make your policies easier to understand. For example: principal == User::"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111", // alice</p> </li> <li> <p> <b>Do not include personally identifying, confidential, or sensitive information as part of the unique identifier for your principals or resources.</b> These identifiers are included in log entries shared in CloudTrail trails.</p> </li> </ul> </important> <p>Several operations return structures that appear similar, but have different purposes. As new functionality is added to the product, the structure used in a parameter of one operation might need to change in a way that wouldn't make sense for the same parameter in a different operation. To help you understand the purpose of each, the following naming convention is used for the structures:</p> <ul> <li> <p>Parameter type structures that end in <code>Detail</code> are used in <code>Get</code> operations.</p> </li> <li> <p>Parameter type structures that end in <code>Item</code> are used in <code>List</code> operations.</p> </li> <li> <p>Parameter type structures that use neither suffix are used in the mutating (create and update) operations.</p> </li> </ul>
261
218
  * @public
262
219
  */
263
220
  export declare class VerifiedPermissions extends VerifiedPermissionsClient implements VerifiedPermissions {
@@ -29,7 +29,10 @@ import { ListIdentitySourcesCommandInput, ListIdentitySourcesCommandOutput } fro
29
29
  import { ListPoliciesCommandInput, ListPoliciesCommandOutput } from "./commands/ListPoliciesCommand";
30
30
  import { ListPolicyStoresCommandInput, ListPolicyStoresCommandOutput } from "./commands/ListPolicyStoresCommand";
31
31
  import { ListPolicyTemplatesCommandInput, ListPolicyTemplatesCommandOutput } from "./commands/ListPolicyTemplatesCommand";
32
+ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
32
33
  import { PutSchemaCommandInput, PutSchemaCommandOutput } from "./commands/PutSchemaCommand";
34
+ import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
35
+ import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
33
36
  import { UpdateIdentitySourceCommandInput, UpdateIdentitySourceCommandOutput } from "./commands/UpdateIdentitySourceCommand";
34
37
  import { UpdatePolicyCommandInput, UpdatePolicyCommandOutput } from "./commands/UpdatePolicyCommand";
35
38
  import { UpdatePolicyStoreCommandInput, UpdatePolicyStoreCommandOutput } from "./commands/UpdatePolicyStoreCommand";
@@ -40,11 +43,11 @@ export { __Client };
40
43
  /**
41
44
  * @public
42
45
  */
43
- export type ServiceInputTypes = BatchGetPolicyCommandInput | BatchIsAuthorizedCommandInput | BatchIsAuthorizedWithTokenCommandInput | CreateIdentitySourceCommandInput | CreatePolicyCommandInput | CreatePolicyStoreCommandInput | CreatePolicyTemplateCommandInput | DeleteIdentitySourceCommandInput | DeletePolicyCommandInput | DeletePolicyStoreCommandInput | DeletePolicyTemplateCommandInput | GetIdentitySourceCommandInput | GetPolicyCommandInput | GetPolicyStoreCommandInput | GetPolicyTemplateCommandInput | GetSchemaCommandInput | IsAuthorizedCommandInput | IsAuthorizedWithTokenCommandInput | ListIdentitySourcesCommandInput | ListPoliciesCommandInput | ListPolicyStoresCommandInput | ListPolicyTemplatesCommandInput | PutSchemaCommandInput | UpdateIdentitySourceCommandInput | UpdatePolicyCommandInput | UpdatePolicyStoreCommandInput | UpdatePolicyTemplateCommandInput;
46
+ export type ServiceInputTypes = BatchGetPolicyCommandInput | BatchIsAuthorizedCommandInput | BatchIsAuthorizedWithTokenCommandInput | CreateIdentitySourceCommandInput | CreatePolicyCommandInput | CreatePolicyStoreCommandInput | CreatePolicyTemplateCommandInput | DeleteIdentitySourceCommandInput | DeletePolicyCommandInput | DeletePolicyStoreCommandInput | DeletePolicyTemplateCommandInput | GetIdentitySourceCommandInput | GetPolicyCommandInput | GetPolicyStoreCommandInput | GetPolicyTemplateCommandInput | GetSchemaCommandInput | IsAuthorizedCommandInput | IsAuthorizedWithTokenCommandInput | ListIdentitySourcesCommandInput | ListPoliciesCommandInput | ListPolicyStoresCommandInput | ListPolicyTemplatesCommandInput | ListTagsForResourceCommandInput | PutSchemaCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateIdentitySourceCommandInput | UpdatePolicyCommandInput | UpdatePolicyStoreCommandInput | UpdatePolicyTemplateCommandInput;
44
47
  /**
45
48
  * @public
46
49
  */
47
- export type ServiceOutputTypes = BatchGetPolicyCommandOutput | BatchIsAuthorizedCommandOutput | BatchIsAuthorizedWithTokenCommandOutput | CreateIdentitySourceCommandOutput | CreatePolicyCommandOutput | CreatePolicyStoreCommandOutput | CreatePolicyTemplateCommandOutput | DeleteIdentitySourceCommandOutput | DeletePolicyCommandOutput | DeletePolicyStoreCommandOutput | DeletePolicyTemplateCommandOutput | GetIdentitySourceCommandOutput | GetPolicyCommandOutput | GetPolicyStoreCommandOutput | GetPolicyTemplateCommandOutput | GetSchemaCommandOutput | IsAuthorizedCommandOutput | IsAuthorizedWithTokenCommandOutput | ListIdentitySourcesCommandOutput | ListPoliciesCommandOutput | ListPolicyStoresCommandOutput | ListPolicyTemplatesCommandOutput | PutSchemaCommandOutput | UpdateIdentitySourceCommandOutput | UpdatePolicyCommandOutput | UpdatePolicyStoreCommandOutput | UpdatePolicyTemplateCommandOutput;
50
+ export type ServiceOutputTypes = BatchGetPolicyCommandOutput | BatchIsAuthorizedCommandOutput | BatchIsAuthorizedWithTokenCommandOutput | CreateIdentitySourceCommandOutput | CreatePolicyCommandOutput | CreatePolicyStoreCommandOutput | CreatePolicyTemplateCommandOutput | DeleteIdentitySourceCommandOutput | DeletePolicyCommandOutput | DeletePolicyStoreCommandOutput | DeletePolicyTemplateCommandOutput | GetIdentitySourceCommandOutput | GetPolicyCommandOutput | GetPolicyStoreCommandOutput | GetPolicyTemplateCommandOutput | GetSchemaCommandOutput | IsAuthorizedCommandOutput | IsAuthorizedWithTokenCommandOutput | ListIdentitySourcesCommandOutput | ListPoliciesCommandOutput | ListPolicyStoresCommandOutput | ListPolicyTemplatesCommandOutput | ListTagsForResourceCommandOutput | PutSchemaCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateIdentitySourceCommandOutput | UpdatePolicyCommandOutput | UpdatePolicyStoreCommandOutput | UpdatePolicyTemplateCommandOutput;
48
51
  /**
49
52
  * @public
50
53
  */
@@ -196,71 +199,7 @@ export type VerifiedPermissionsClientResolvedConfigType = __SmithyResolvedConfig
196
199
  export interface VerifiedPermissionsClientResolvedConfig extends VerifiedPermissionsClientResolvedConfigType {
197
200
  }
198
201
  /**
199
- * <p>Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage
200
- * permissions for your application, and authorize user access based on those permissions.
201
- * Using Verified Permissions, application developers can grant access based on information about the
202
- * users, resources, and requested actions. You can also evaluate additional information
203
- * like group membership, attributes of the resources, and session context, such as time of
204
- * request and IP addresses. Verified Permissions manages these permissions by letting you create and
205
- * store authorization policies for your applications, such as consumer-facing web sites
206
- * and enterprise business systems.</p>
207
- * <p>Verified Permissions uses Cedar as the policy language to express your permission requirements.
208
- * Cedar supports both role-based access control (RBAC) and attribute-based access
209
- * control (ABAC) authorization models.</p>
210
- * <p>For more information about configuring, administering, and using Amazon Verified Permissions in your
211
- * applications, see the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/">Amazon Verified Permissions User Guide</a>.</p>
212
- * <p>For more information about the Cedar policy language, see the <a href="https://docs.cedarpolicy.com/">Cedar Policy Language Guide</a>.</p>
213
- * <important>
214
- * <p>When you write Cedar policies that reference principals, resources and actions,
215
- * you can define the unique identifiers used for each of those elements. We strongly
216
- * recommend that you follow these best practices:</p>
217
- * <ul>
218
- * <li>
219
- * <p>
220
- * <b>Use values like universally unique identifiers
221
- * (UUIDs) for all principal and resource identifiers.</b>
222
- * </p>
223
- * <p>For example, if user <code>jane</code> leaves the company, and you later
224
- * let someone else use the name <code>jane</code>, then that new user
225
- * automatically gets access to everything granted by policies that still
226
- * reference <code>User::"jane"</code>. Cedar can’t distinguish between the
227
- * new user and the old. This applies to both principal and resource
228
- * identifiers. Always use identifiers that are guaranteed unique and never
229
- * reused to ensure that you don’t unintentionally grant access because of the
230
- * presence of an old identifier in a policy.</p>
231
- * <p>Where you use a UUID for an entity, we recommend that you follow it with
232
- * the // comment specifier and the ‘friendly’ name of your entity. This helps
233
- * to make your policies easier to understand. For example: principal ==
234
- * User::"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111", // alice</p>
235
- * </li>
236
- * <li>
237
- * <p>
238
- * <b>Do not include personally identifying, confidential,
239
- * or sensitive information as part of the unique identifier for your
240
- * principals or resources.</b> These identifiers are included in
241
- * log entries shared in CloudTrail trails.</p>
242
- * </li>
243
- * </ul>
244
- * </important>
245
- * <p>Several operations return structures that appear similar, but have different purposes.
246
- * As new functionality is added to the product, the structure used in a parameter of one
247
- * operation might need to change in a way that wouldn't make sense for the same parameter
248
- * in a different operation. To help you understand the purpose of each, the following
249
- * naming convention is used for the structures:</p>
250
- * <ul>
251
- * <li>
252
- * <p>Parameter type structures that end in <code>Detail</code> are used in
253
- * <code>Get</code> operations.</p>
254
- * </li>
255
- * <li>
256
- * <p>Parameter type structures that end in <code>Item</code> are used in
257
- * <code>List</code> operations.</p>
258
- * </li>
259
- * <li>
260
- * <p>Parameter type structures that use neither suffix are used in the mutating
261
- * (create and update) operations.</p>
262
- * </li>
263
- * </ul>
202
+ * <p>Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage permissions for your application, and authorize user access based on those permissions. Using Verified Permissions, application developers can grant access based on information about the users, resources, and requested actions. You can also evaluate additional information like group membership, attributes of the resources, and session context, such as time of request and IP addresses. Verified Permissions manages these permissions by letting you create and store authorization policies for your applications, such as consumer-facing web sites and enterprise business systems.</p> <p>Verified Permissions uses Cedar as the policy language to express your permission requirements. Cedar supports both role-based access control (RBAC) and attribute-based access control (ABAC) authorization models.</p> <p>For more information about configuring, administering, and using Amazon Verified Permissions in your applications, see the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/">Amazon Verified Permissions User Guide</a>.</p> <p>For more information about the Cedar policy language, see the <a href="https://docs.cedarpolicy.com/">Cedar Policy Language Guide</a>.</p> <important> <p>When you write Cedar policies that reference principals, resources and actions, you can define the unique identifiers used for each of those elements. We strongly recommend that you follow these best practices:</p> <ul> <li> <p> <b>Use values like universally unique identifiers (UUIDs) for all principal and resource identifiers.</b> </p> <p>For example, if user <code>jane</code> leaves the company, and you later let someone else use the name <code>jane</code>, then that new user automatically gets access to everything granted by policies that still reference <code>User::"jane"</code>. Cedar can’t distinguish between the new user and the old. This applies to both principal and resource identifiers. Always use identifiers that are guaranteed unique and never reused to ensure that you don’t unintentionally grant access because of the presence of an old identifier in a policy.</p> <p>Where you use a UUID for an entity, we recommend that you follow it with the // comment specifier and the ‘friendly’ name of your entity. This helps to make your policies easier to understand. For example: principal == User::"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111", // alice</p> </li> <li> <p> <b>Do not include personally identifying, confidential, or sensitive information as part of the unique identifier for your principals or resources.</b> These identifiers are included in log entries shared in CloudTrail trails.</p> </li> </ul> </important> <p>Several operations return structures that appear similar, but have different purposes. As new functionality is added to the product, the structure used in a parameter of one operation might need to change in a way that wouldn't make sense for the same parameter in a different operation. To help you understand the purpose of each, the following naming convention is used for the structures:</p> <ul> <li> <p>Parameter type structures that end in <code>Detail</code> are used in <code>Get</code> operations.</p> </li> <li> <p>Parameter type structures that end in <code>Item</code> are used in <code>List</code> operations.</p> </li> <li> <p>Parameter type structures that use neither suffix are used in the mutating (create and update) operations.</p> </li> </ul>
264
203
  * @public
265
204
  */
266
205
  export declare class VerifiedPermissionsClient extends __Client<__HttpHandlerOptions, ServiceInputTypes, ServiceOutputTypes, VerifiedPermissionsClientResolvedConfig> {
@@ -27,12 +27,7 @@ declare const BatchGetPolicyCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Retrieves information about a group (batch) of policies.</p>
31
- * <note>
32
- * <p>The <code>BatchGetPolicy</code> operation doesn't have its own IAM
33
- * permission. To authorize this operation for Amazon Web Services principals, include the permission
34
- * <code>verifiedpermissions:GetPolicy</code> in their IAM policies.</p>
35
- * </note>
30
+ * <p>Retrieves information about a group (batch) of policies.</p> <note> <p>The <code>BatchGetPolicy</code> operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission <code>verifiedpermissions:GetPolicy</code> in their IAM policies.</p> </note>
36
31
  * @example
37
32
  * Use a bare-bones client and the command you need to make an API call.
38
33
  * ```javascript
@@ -104,88 +99,7 @@ declare const BatchGetPolicyCommand_base: {
104
99
  * <p>The request failed because it exceeded a throttling quota.</p>
105
100
  *
106
101
  * @throws {@link ValidationException} (client fault)
107
- * <p>The request failed because one or more input parameters don't satisfy their constraint
108
- * requirements. The output is provided as a list of fields and a reason for each field that
109
- * isn't valid.</p>
110
- * <p>The possible reasons include the following:</p>
111
- * <ul>
112
- * <li>
113
- * <p>
114
- * <b>UnrecognizedEntityType</b>
115
- * </p>
116
- * <p>The policy includes an entity type that isn't found in the schema.</p>
117
- * </li>
118
- * <li>
119
- * <p>
120
- * <b>UnrecognizedActionId</b>
121
- * </p>
122
- * <p>The policy includes an action id that isn't found in the schema.</p>
123
- * </li>
124
- * <li>
125
- * <p>
126
- * <b>InvalidActionApplication</b>
127
- * </p>
128
- * <p>The policy includes an action that, according to the schema, doesn't support
129
- * the specified principal and resource.</p>
130
- * </li>
131
- * <li>
132
- * <p>
133
- * <b>UnexpectedType</b>
134
- * </p>
135
- * <p>The policy included an operand that isn't a valid type for the specified
136
- * operation.</p>
137
- * </li>
138
- * <li>
139
- * <p>
140
- * <b>IncompatibleTypes</b>
141
- * </p>
142
- * <p>The types of elements included in a <code>set</code>, or the types of
143
- * expressions used in an <code>if...then...else</code> clause aren't compatible in
144
- * this context.</p>
145
- * </li>
146
- * <li>
147
- * <p>
148
- * <b>MissingAttribute</b>
149
- * </p>
150
- * <p>The policy attempts to access a record or entity attribute that isn't
151
- * specified in the schema. Test for the existence of the attribute first before
152
- * attempting to access its value. For more information, see the <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the
153
- * <i>Cedar Policy Language Guide</i>.</p>
154
- * </li>
155
- * <li>
156
- * <p>
157
- * <b>UnsafeOptionalAttributeAccess</b>
158
- * </p>
159
- * <p>The policy attempts to access a record or entity attribute that is optional
160
- * and isn't guaranteed to be present. Test for the existence of the attribute
161
- * first before attempting to access its value. For more information, see the
162
- * <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the
163
- * <i>Cedar Policy Language Guide</i>.</p>
164
- * </li>
165
- * <li>
166
- * <p>
167
- * <b>ImpossiblePolicy</b>
168
- * </p>
169
- * <p>Cedar has determined that a policy condition always evaluates to false. If
170
- * the policy is always false, it can never apply to any query, and so it can never
171
- * affect an authorization decision.</p>
172
- * </li>
173
- * <li>
174
- * <p>
175
- * <b>WrongNumberArguments</b>
176
- * </p>
177
- * <p>The policy references an extension type with the wrong number of
178
- * arguments.</p>
179
- * </li>
180
- * <li>
181
- * <p>
182
- * <b>FunctionArgumentValidationError</b>
183
- * </p>
184
- * <p>Cedar couldn't parse the argument passed to an extension type. For example,
185
- * a string that is to be parsed as an IPv4 address can contain only digits and the
186
- * period character.</p>
187
- * </li>
188
- * </ul>
102
+ * <p>The request failed because one or more input parameters don't satisfy their constraint requirements. The output is provided as a list of fields and a reason for each field that isn't valid.</p> <p>The possible reasons include the following:</p> <ul> <li> <p> <b>UnrecognizedEntityType</b> </p> <p>The policy includes an entity type that isn't found in the schema.</p> </li> <li> <p> <b>UnrecognizedActionId</b> </p> <p>The policy includes an action id that isn't found in the schema.</p> </li> <li> <p> <b>InvalidActionApplication</b> </p> <p>The policy includes an action that, according to the schema, doesn't support the specified principal and resource.</p> </li> <li> <p> <b>UnexpectedType</b> </p> <p>The policy included an operand that isn't a valid type for the specified operation.</p> </li> <li> <p> <b>IncompatibleTypes</b> </p> <p>The types of elements included in a <code>set</code>, or the types of expressions used in an <code>if...then...else</code> clause aren't compatible in this context.</p> </li> <li> <p> <b>MissingAttribute</b> </p> <p>The policy attempts to access a record or entity attribute that isn't specified in the schema. Test for the existence of the attribute first before attempting to access its value. For more information, see the <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the <i>Cedar Policy Language Guide</i>.</p> </li> <li> <p> <b>UnsafeOptionalAttributeAccess</b> </p> <p>The policy attempts to access a record or entity attribute that is optional and isn't guaranteed to be present. Test for the existence of the attribute first before attempting to access its value. For more information, see the <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the <i>Cedar Policy Language Guide</i>.</p> </li> <li> <p> <b>ImpossiblePolicy</b> </p> <p>Cedar has determined that a policy condition always evaluates to false. If the policy is always false, it can never apply to any query, and so it can never affect an authorization decision.</p> </li> <li> <p> <b>WrongNumberArguments</b> </p> <p>The policy references an extension type with the wrong number of arguments.</p> </li> <li> <p> <b>FunctionArgumentValidationError</b> </p> <p>Cedar couldn't parse the argument passed to an extension type. For example, a string that is to be parsed as an IPv4 address can contain only digits and the period character.</p> </li> </ul>
189
103
  *
190
104
  * @throws {@link VerifiedPermissionsServiceException}
191
105
  * <p>Base exception class for all service exceptions from VerifiedPermissions service.</p>
@@ -27,27 +27,7 @@ declare const BatchIsAuthorizedCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <p>Makes a series of decisions about multiple authorization requests for one principal or
31
- * resource. Each request contains the equivalent content of an <code>IsAuthorized</code>
32
- * request: principal, action, resource, and context. Either the <code>principal</code> or
33
- * the <code>resource</code> parameter must be identical across all requests. For example,
34
- * Verified Permissions won't evaluate a pair of requests where <code>bob</code> views
35
- * <code>photo1</code> and <code>alice</code> views <code>photo2</code>. Authorization
36
- * of <code>bob</code> to view <code>photo1</code> and <code>photo2</code>, or
37
- * <code>bob</code> and <code>alice</code> to view <code>photo1</code>, are valid
38
- * batches. </p>
39
- * <p>The request is evaluated against all policies in the specified policy store that match the
40
- * entities that you declare. The result of the decisions is a series of <code>Allow</code>
41
- * or <code>Deny</code> responses, along with the IDs of the policies that produced each
42
- * decision.</p>
43
- * <p>The <code>entities</code> of a <code>BatchIsAuthorized</code> API request can contain
44
- * up to 100 principals and up to 100 resources. The <code>requests</code> of a
45
- * <code>BatchIsAuthorized</code> API request can contain up to 30 requests.</p>
46
- * <note>
47
- * <p>The <code>BatchIsAuthorized</code> operation doesn't have its own IAM
48
- * permission. To authorize this operation for Amazon Web Services principals, include the permission
49
- * <code>verifiedpermissions:IsAuthorized</code> in their IAM policies.</p>
50
- * </note>
30
+ * <p>Makes a series of decisions about multiple authorization requests for one principal or resource. Each request contains the equivalent content of an <code>IsAuthorized</code> request: principal, action, resource, and context. Either the <code>principal</code> or the <code>resource</code> parameter must be identical across all requests. For example, Verified Permissions won't evaluate a pair of requests where <code>bob</code> views <code>photo1</code> and <code>alice</code> views <code>photo2</code>. Authorization of <code>bob</code> to view <code>photo1</code> and <code>photo2</code>, or <code>bob</code> and <code>alice</code> to view <code>photo1</code>, are valid batches. </p> <p>The request is evaluated against all policies in the specified policy store that match the entities that you declare. The result of the decisions is a series of <code>Allow</code> or <code>Deny</code> responses, along with the IDs of the policies that produced each decision.</p> <p>The <code>entities</code> of a <code>BatchIsAuthorized</code> API request can contain up to 100 principals and up to 100 resources. The <code>requests</code> of a <code>BatchIsAuthorized</code> API request can contain up to 30 requests.</p> <note> <p>The <code>BatchIsAuthorized</code> operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission <code>verifiedpermissions:IsAuthorized</code> in their IAM policies.</p> </note>
51
31
  * @example
52
32
  * Use a bare-bones client and the command you need to make an API call.
53
33
  * ```javascript
@@ -209,88 +189,7 @@ declare const BatchIsAuthorizedCommand_base: {
209
189
  * <p>The request failed because it exceeded a throttling quota.</p>
210
190
  *
211
191
  * @throws {@link ValidationException} (client fault)
212
- * <p>The request failed because one or more input parameters don't satisfy their constraint
213
- * requirements. The output is provided as a list of fields and a reason for each field that
214
- * isn't valid.</p>
215
- * <p>The possible reasons include the following:</p>
216
- * <ul>
217
- * <li>
218
- * <p>
219
- * <b>UnrecognizedEntityType</b>
220
- * </p>
221
- * <p>The policy includes an entity type that isn't found in the schema.</p>
222
- * </li>
223
- * <li>
224
- * <p>
225
- * <b>UnrecognizedActionId</b>
226
- * </p>
227
- * <p>The policy includes an action id that isn't found in the schema.</p>
228
- * </li>
229
- * <li>
230
- * <p>
231
- * <b>InvalidActionApplication</b>
232
- * </p>
233
- * <p>The policy includes an action that, according to the schema, doesn't support
234
- * the specified principal and resource.</p>
235
- * </li>
236
- * <li>
237
- * <p>
238
- * <b>UnexpectedType</b>
239
- * </p>
240
- * <p>The policy included an operand that isn't a valid type for the specified
241
- * operation.</p>
242
- * </li>
243
- * <li>
244
- * <p>
245
- * <b>IncompatibleTypes</b>
246
- * </p>
247
- * <p>The types of elements included in a <code>set</code>, or the types of
248
- * expressions used in an <code>if...then...else</code> clause aren't compatible in
249
- * this context.</p>
250
- * </li>
251
- * <li>
252
- * <p>
253
- * <b>MissingAttribute</b>
254
- * </p>
255
- * <p>The policy attempts to access a record or entity attribute that isn't
256
- * specified in the schema. Test for the existence of the attribute first before
257
- * attempting to access its value. For more information, see the <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the
258
- * <i>Cedar Policy Language Guide</i>.</p>
259
- * </li>
260
- * <li>
261
- * <p>
262
- * <b>UnsafeOptionalAttributeAccess</b>
263
- * </p>
264
- * <p>The policy attempts to access a record or entity attribute that is optional
265
- * and isn't guaranteed to be present. Test for the existence of the attribute
266
- * first before attempting to access its value. For more information, see the
267
- * <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the
268
- * <i>Cedar Policy Language Guide</i>.</p>
269
- * </li>
270
- * <li>
271
- * <p>
272
- * <b>ImpossiblePolicy</b>
273
- * </p>
274
- * <p>Cedar has determined that a policy condition always evaluates to false. If
275
- * the policy is always false, it can never apply to any query, and so it can never
276
- * affect an authorization decision.</p>
277
- * </li>
278
- * <li>
279
- * <p>
280
- * <b>WrongNumberArguments</b>
281
- * </p>
282
- * <p>The policy references an extension type with the wrong number of
283
- * arguments.</p>
284
- * </li>
285
- * <li>
286
- * <p>
287
- * <b>FunctionArgumentValidationError</b>
288
- * </p>
289
- * <p>Cedar couldn't parse the argument passed to an extension type. For example,
290
- * a string that is to be parsed as an IPv4 address can contain only digits and the
291
- * period character.</p>
292
- * </li>
293
- * </ul>
192
+ * <p>The request failed because one or more input parameters don't satisfy their constraint requirements. The output is provided as a list of fields and a reason for each field that isn't valid.</p> <p>The possible reasons include the following:</p> <ul> <li> <p> <b>UnrecognizedEntityType</b> </p> <p>The policy includes an entity type that isn't found in the schema.</p> </li> <li> <p> <b>UnrecognizedActionId</b> </p> <p>The policy includes an action id that isn't found in the schema.</p> </li> <li> <p> <b>InvalidActionApplication</b> </p> <p>The policy includes an action that, according to the schema, doesn't support the specified principal and resource.</p> </li> <li> <p> <b>UnexpectedType</b> </p> <p>The policy included an operand that isn't a valid type for the specified operation.</p> </li> <li> <p> <b>IncompatibleTypes</b> </p> <p>The types of elements included in a <code>set</code>, or the types of expressions used in an <code>if...then...else</code> clause aren't compatible in this context.</p> </li> <li> <p> <b>MissingAttribute</b> </p> <p>The policy attempts to access a record or entity attribute that isn't specified in the schema. Test for the existence of the attribute first before attempting to access its value. For more information, see the <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the <i>Cedar Policy Language Guide</i>.</p> </li> <li> <p> <b>UnsafeOptionalAttributeAccess</b> </p> <p>The policy attempts to access a record or entity attribute that is optional and isn't guaranteed to be present. Test for the existence of the attribute first before attempting to access its value. For more information, see the <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the <i>Cedar Policy Language Guide</i>.</p> </li> <li> <p> <b>ImpossiblePolicy</b> </p> <p>Cedar has determined that a policy condition always evaluates to false. If the policy is always false, it can never apply to any query, and so it can never affect an authorization decision.</p> </li> <li> <p> <b>WrongNumberArguments</b> </p> <p>The policy references an extension type with the wrong number of arguments.</p> </li> <li> <p> <b>FunctionArgumentValidationError</b> </p> <p>Cedar couldn't parse the argument passed to an extension type. For example, a string that is to be parsed as an IPv4 address can contain only digits and the period character.</p> </li> </ul>
294
193
  *
295
194
  * @throws {@link VerifiedPermissionsServiceException}
296
195
  * <p>Base exception class for all service exceptions from VerifiedPermissions service.</p>