@aws-sdk/client-iam 3.691.0 → 3.692.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 (63) hide show
  1. package/README.md +40 -0
  2. package/dist-cjs/index.js +510 -10
  3. package/dist-es/IAM.js +10 -0
  4. package/dist-es/commands/DisableOrganizationsRootCredentialsManagementCommand.js +22 -0
  5. package/dist-es/commands/DisableOrganizationsRootSessionsCommand.js +22 -0
  6. package/dist-es/commands/EnableOrganizationsRootCredentialsManagementCommand.js +22 -0
  7. package/dist-es/commands/EnableOrganizationsRootSessionsCommand.js +22 -0
  8. package/dist-es/commands/ListOrganizationsFeaturesCommand.js +22 -0
  9. package/dist-es/commands/index.js +5 -0
  10. package/dist-es/models/models_0.js +70 -9
  11. package/dist-es/models/models_1.js +9 -0
  12. package/dist-es/protocols/Aws_query.js +310 -1
  13. package/dist-types/IAM.d.ts +43 -0
  14. package/dist-types/IAMClient.d.ts +7 -2
  15. package/dist-types/commands/CreateLoginProfileCommand.d.ts +3 -3
  16. package/dist-types/commands/DeactivateMFADeviceCommand.d.ts +1 -1
  17. package/dist-types/commands/DeleteLoginProfileCommand.d.ts +2 -2
  18. package/dist-types/commands/DisableOrganizationsRootCredentialsManagementCommand.d.ts +91 -0
  19. package/dist-types/commands/DisableOrganizationsRootSessionsCommand.d.ts +91 -0
  20. package/dist-types/commands/EnableOrganizationsRootCredentialsManagementCommand.d.ts +107 -0
  21. package/dist-types/commands/EnableOrganizationsRootSessionsCommand.d.ts +106 -0
  22. package/dist-types/commands/GetLoginProfileCommand.d.ts +2 -2
  23. package/dist-types/commands/ListAccountAliasesCommand.d.ts +3 -3
  24. package/dist-types/commands/ListOrganizationsFeaturesCommand.d.ts +89 -0
  25. package/dist-types/commands/SimulateCustomPolicyCommand.d.ts +2 -1
  26. package/dist-types/commands/SimulatePrincipalPolicyCommand.d.ts +1 -1
  27. package/dist-types/commands/TagInstanceProfileCommand.d.ts +1 -1
  28. package/dist-types/commands/TagMFADeviceCommand.d.ts +1 -1
  29. package/dist-types/commands/TagOpenIDConnectProviderCommand.d.ts +1 -1
  30. package/dist-types/commands/TagPolicyCommand.d.ts +1 -1
  31. package/dist-types/commands/TagRoleCommand.d.ts +1 -1
  32. package/dist-types/commands/TagSAMLProviderCommand.d.ts +1 -1
  33. package/dist-types/commands/TagServerCertificateCommand.d.ts +1 -1
  34. package/dist-types/commands/TagUserCommand.d.ts +1 -1
  35. package/dist-types/commands/index.d.ts +5 -0
  36. package/dist-types/models/models_0.d.ts +203 -615
  37. package/dist-types/models/models_1.d.ts +611 -1
  38. package/dist-types/protocols/Aws_query.d.ts +45 -0
  39. package/dist-types/ts3.4/IAM.d.ts +105 -0
  40. package/dist-types/ts3.4/IAMClient.d.ts +30 -0
  41. package/dist-types/ts3.4/commands/CreateLoginProfileCommand.d.ts +1 -1
  42. package/dist-types/ts3.4/commands/DeleteLoginProfileCommand.d.ts +1 -1
  43. package/dist-types/ts3.4/commands/DisableOrganizationsRootCredentialsManagementCommand.d.ts +51 -0
  44. package/dist-types/ts3.4/commands/DisableOrganizationsRootSessionsCommand.d.ts +51 -0
  45. package/dist-types/ts3.4/commands/EnableOrganizationsRootCredentialsManagementCommand.d.ts +51 -0
  46. package/dist-types/ts3.4/commands/EnableOrganizationsRootSessionsCommand.d.ts +51 -0
  47. package/dist-types/ts3.4/commands/GetLoginProfileCommand.d.ts +1 -1
  48. package/dist-types/ts3.4/commands/ListOrganizationsFeaturesCommand.d.ts +51 -0
  49. package/dist-types/ts3.4/commands/SimulateCustomPolicyCommand.d.ts +2 -4
  50. package/dist-types/ts3.4/commands/SimulatePrincipalPolicyCommand.d.ts +1 -1
  51. package/dist-types/ts3.4/commands/TagInstanceProfileCommand.d.ts +1 -1
  52. package/dist-types/ts3.4/commands/TagMFADeviceCommand.d.ts +1 -1
  53. package/dist-types/ts3.4/commands/TagOpenIDConnectProviderCommand.d.ts +1 -1
  54. package/dist-types/ts3.4/commands/TagPolicyCommand.d.ts +1 -1
  55. package/dist-types/ts3.4/commands/TagRoleCommand.d.ts +1 -1
  56. package/dist-types/ts3.4/commands/TagSAMLProviderCommand.d.ts +1 -1
  57. package/dist-types/ts3.4/commands/TagServerCertificateCommand.d.ts +1 -1
  58. package/dist-types/ts3.4/commands/TagUserCommand.d.ts +1 -1
  59. package/dist-types/ts3.4/commands/index.d.ts +5 -0
  60. package/dist-types/ts3.4/models/models_0.d.ts +88 -106
  61. package/dist-types/ts3.4/models/models_1.d.ts +104 -0
  62. package/dist-types/ts3.4/protocols/Aws_query.d.ts +60 -0
  63. package/package.json +36 -36
@@ -213,6 +213,21 @@ export interface AccessKeyMetadata {
213
213
  */
214
214
  CreateDate?: Date | undefined;
215
215
  }
216
+ /**
217
+ * <p>The request was rejected because the account making the request is not the management
218
+ * account or delegated administrator account for <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#id_root-user-access-management">centralized root
219
+ * access</a>.</p>
220
+ * @public
221
+ */
222
+ export declare class AccountNotManagementOrDelegatedAdministratorException extends __BaseException {
223
+ readonly name: "AccountNotManagementOrDelegatedAdministratorException";
224
+ readonly $fault: "client";
225
+ Message?: string | undefined;
226
+ /**
227
+ * @internal
228
+ */
229
+ constructor(opts: __ExceptionOptionType<AccountNotManagementOrDelegatedAdministratorException, __BaseException>);
230
+ }
216
231
  /**
217
232
  * @public
218
233
  */
@@ -944,13 +959,17 @@ export interface CreateLoginProfileRequest {
944
959
  /**
945
960
  * <p>The name of the IAM user to create a password for. The user must already
946
961
  * exist.</p>
962
+ * <p>This parameter is optional. If no user name is included, it defaults to the principal
963
+ * making the request. When you make this request with root user credentials, you must use
964
+ * an <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html">AssumeRoot</a> session to omit the user name.</p>
947
965
  * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
948
966
  * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
949
967
  * @public
950
968
  */
951
- UserName: string | undefined;
969
+ UserName?: string | undefined;
952
970
  /**
953
971
  * <p>The new password for the user.</p>
972
+ * <p>This parameter must be omitted when you make the request with an <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html">AssumeRoot</a> session. It is required in all other cases.</p>
954
973
  * <p>The <a href="http://wikipedia.org/wiki/regex">regex pattern</a>
955
974
  * that is used to validate this parameter is a string of characters. That string can include almost any printable
956
975
  * ASCII character from the space (<code>\u0020</code>) through the end of the ASCII character range (<code>\u00FF</code>).
@@ -960,7 +979,7 @@ export interface CreateLoginProfileRequest {
960
979
  * special meaning within that tool.</p>
961
980
  * @public
962
981
  */
963
- Password: string | undefined;
982
+ Password?: string | undefined;
964
983
  /**
965
984
  * <p>Specifies whether the user is required to set a new password on next sign-in.</p>
966
985
  * @public
@@ -1938,11 +1957,14 @@ export interface CreateVirtualMFADeviceResponse {
1938
1957
  export interface DeactivateMFADeviceRequest {
1939
1958
  /**
1940
1959
  * <p>The name of the user whose MFA device you want to deactivate.</p>
1960
+ * <p>This parameter is optional. If no user name is included, it defaults to the principal
1961
+ * making the request. When you make this request with root user credentials, you must use
1962
+ * an <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html">AssumeRoot</a> session to omit the user name.</p>
1941
1963
  * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
1942
1964
  * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
1943
1965
  * @public
1944
1966
  */
1945
- UserName: string | undefined;
1967
+ UserName?: string | undefined;
1946
1968
  /**
1947
1969
  * <p>The serial number that uniquely identifies the MFA device. For virtual MFA devices,
1948
1970
  * the serial number is the device ARN.</p>
@@ -2049,11 +2071,14 @@ export interface DeleteInstanceProfileRequest {
2049
2071
  export interface DeleteLoginProfileRequest {
2050
2072
  /**
2051
2073
  * <p>The name of the user whose password you want to delete.</p>
2074
+ * <p>This parameter is optional. If no user name is included, it defaults to the principal
2075
+ * making the request. When you make this request with root user credentials, you must use
2076
+ * an <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html">AssumeRoot</a> session to omit the user name.</p>
2052
2077
  * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
2053
2078
  * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
2054
2079
  * @public
2055
2080
  */
2056
- UserName: string | undefined;
2081
+ UserName?: string | undefined;
2057
2082
  }
2058
2083
  /**
2059
2084
  * @public
@@ -2357,6 +2382,101 @@ export interface DetachUserPolicyRequest {
2357
2382
  */
2358
2383
  PolicyArn: string | undefined;
2359
2384
  }
2385
+ /**
2386
+ * @public
2387
+ */
2388
+ export interface DisableOrganizationsRootCredentialsManagementRequest {
2389
+ }
2390
+ /**
2391
+ * @public
2392
+ * @enum
2393
+ */
2394
+ export declare const FeatureType: {
2395
+ readonly ROOT_CREDENTIALS_MANAGEMENT: "RootCredentialsManagement";
2396
+ readonly ROOT_SESSIONS: "RootSessions";
2397
+ };
2398
+ /**
2399
+ * @public
2400
+ */
2401
+ export type FeatureType = (typeof FeatureType)[keyof typeof FeatureType];
2402
+ /**
2403
+ * @public
2404
+ */
2405
+ export interface DisableOrganizationsRootCredentialsManagementResponse {
2406
+ /**
2407
+ * <p>The unique identifier (ID) of an organization.</p>
2408
+ * @public
2409
+ */
2410
+ OrganizationId?: string | undefined;
2411
+ /**
2412
+ * <p>The features enabled for centralized root access for member accounts in your
2413
+ * organization.</p>
2414
+ * @public
2415
+ */
2416
+ EnabledFeatures?: FeatureType[] | undefined;
2417
+ }
2418
+ /**
2419
+ * <p>The request was rejected because no organization is associated with your account.</p>
2420
+ * @public
2421
+ */
2422
+ export declare class OrganizationNotFoundException extends __BaseException {
2423
+ readonly name: "OrganizationNotFoundException";
2424
+ readonly $fault: "client";
2425
+ Message?: string | undefined;
2426
+ /**
2427
+ * @internal
2428
+ */
2429
+ constructor(opts: __ExceptionOptionType<OrganizationNotFoundException, __BaseException>);
2430
+ }
2431
+ /**
2432
+ * <p>The request was rejected because your organization does not have All features enabled. For
2433
+ * more information, see <a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#feature-set">Available feature sets</a> in the <i>Organizations User
2434
+ * Guide</i>.</p>
2435
+ * @public
2436
+ */
2437
+ export declare class OrganizationNotInAllFeaturesModeException extends __BaseException {
2438
+ readonly name: "OrganizationNotInAllFeaturesModeException";
2439
+ readonly $fault: "client";
2440
+ Message?: string | undefined;
2441
+ /**
2442
+ * @internal
2443
+ */
2444
+ constructor(opts: __ExceptionOptionType<OrganizationNotInAllFeaturesModeException, __BaseException>);
2445
+ }
2446
+ /**
2447
+ * <p>The request was rejected because trusted access is not enabled for IAM in Organizations. For details, see IAM and Organizations in the <i>Organizations User Guide</i>.</p>
2448
+ * @public
2449
+ */
2450
+ export declare class ServiceAccessNotEnabledException extends __BaseException {
2451
+ readonly name: "ServiceAccessNotEnabledException";
2452
+ readonly $fault: "client";
2453
+ Message?: string | undefined;
2454
+ /**
2455
+ * @internal
2456
+ */
2457
+ constructor(opts: __ExceptionOptionType<ServiceAccessNotEnabledException, __BaseException>);
2458
+ }
2459
+ /**
2460
+ * @public
2461
+ */
2462
+ export interface DisableOrganizationsRootSessionsRequest {
2463
+ }
2464
+ /**
2465
+ * @public
2466
+ */
2467
+ export interface DisableOrganizationsRootSessionsResponse {
2468
+ /**
2469
+ * <p>The unique identifier (ID) of an organization.</p>
2470
+ * @public
2471
+ */
2472
+ OrganizationId?: string | undefined;
2473
+ /**
2474
+ * <p>The features you have enabled for centralized root access of member accounts in your
2475
+ * organization.</p>
2476
+ * @public
2477
+ */
2478
+ EnabledFeatures?: FeatureType[] | undefined;
2479
+ }
2360
2480
  /**
2361
2481
  * @public
2362
2482
  */
@@ -2419,6 +2539,60 @@ export declare class InvalidAuthenticationCodeException extends __BaseException
2419
2539
  */
2420
2540
  constructor(opts: __ExceptionOptionType<InvalidAuthenticationCodeException, __BaseException>);
2421
2541
  }
2542
+ /**
2543
+ * <p>The request was rejected because the account making the request is not the management
2544
+ * account for the organization.</p>
2545
+ * @public
2546
+ */
2547
+ export declare class CallerIsNotManagementAccountException extends __BaseException {
2548
+ readonly name: "CallerIsNotManagementAccountException";
2549
+ readonly $fault: "client";
2550
+ Message?: string | undefined;
2551
+ /**
2552
+ * @internal
2553
+ */
2554
+ constructor(opts: __ExceptionOptionType<CallerIsNotManagementAccountException, __BaseException>);
2555
+ }
2556
+ /**
2557
+ * @public
2558
+ */
2559
+ export interface EnableOrganizationsRootCredentialsManagementRequest {
2560
+ }
2561
+ /**
2562
+ * @public
2563
+ */
2564
+ export interface EnableOrganizationsRootCredentialsManagementResponse {
2565
+ /**
2566
+ * <p>The unique identifier (ID) of an organization.</p>
2567
+ * @public
2568
+ */
2569
+ OrganizationId?: string | undefined;
2570
+ /**
2571
+ * <p>The features you have enabled for centralized root access.</p>
2572
+ * @public
2573
+ */
2574
+ EnabledFeatures?: FeatureType[] | undefined;
2575
+ }
2576
+ /**
2577
+ * @public
2578
+ */
2579
+ export interface EnableOrganizationsRootSessionsRequest {
2580
+ }
2581
+ /**
2582
+ * @public
2583
+ */
2584
+ export interface EnableOrganizationsRootSessionsResponse {
2585
+ /**
2586
+ * <p>The unique identifier (ID) of an organization.</p>
2587
+ * @public
2588
+ */
2589
+ OrganizationId?: string | undefined;
2590
+ /**
2591
+ * <p>The features you have enabled for centralized root access.</p>
2592
+ * @public
2593
+ */
2594
+ EnabledFeatures?: FeatureType[] | undefined;
2595
+ }
2422
2596
  /**
2423
2597
  * @public
2424
2598
  * @enum
@@ -3049,6 +3223,7 @@ export declare const SummaryKeyType: {
3049
3223
  readonly AccessKeysPerUserQuota: "AccessKeysPerUserQuota";
3050
3224
  readonly AccountAccessKeysPresent: "AccountAccessKeysPresent";
3051
3225
  readonly AccountMFAEnabled: "AccountMFAEnabled";
3226
+ readonly AccountPasswordPresent: "AccountPasswordPresent";
3052
3227
  readonly AccountSigningCertificatesPresent: "AccountSigningCertificatesPresent";
3053
3228
  readonly AttachedPoliciesPerGroupQuota: "AttachedPoliciesPerGroupQuota";
3054
3229
  readonly AttachedPoliciesPerRoleQuota: "AttachedPoliciesPerRoleQuota";
@@ -3380,11 +3555,14 @@ export interface GetInstanceProfileResponse {
3380
3555
  export interface GetLoginProfileRequest {
3381
3556
  /**
3382
3557
  * <p>The name of the user whose login profile you want to retrieve.</p>
3558
+ * <p>This parameter is optional. If no user name is included, it defaults to the principal
3559
+ * making the request. When you make this request with root user credentials, you must use
3560
+ * an <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html">AssumeRoot</a> session to omit the user name.</p>
3383
3561
  * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
3384
3562
  * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
3385
3563
  * @public
3386
3564
  */
3387
- UserName: string | undefined;
3565
+ UserName?: string | undefined;
3388
3566
  }
3389
3567
  /**
3390
3568
  * <p>Contains the response to a successful <a>GetLoginProfile</a> request.
@@ -5642,6 +5820,26 @@ export interface ListOpenIDConnectProviderTagsResponse {
5642
5820
  */
5643
5821
  Marker?: string | undefined;
5644
5822
  }
5823
+ /**
5824
+ * @public
5825
+ */
5826
+ export interface ListOrganizationsFeaturesRequest {
5827
+ }
5828
+ /**
5829
+ * @public
5830
+ */
5831
+ export interface ListOrganizationsFeaturesResponse {
5832
+ /**
5833
+ * <p>The unique identifier (ID) of an organization.</p>
5834
+ * @public
5835
+ */
5836
+ OrganizationId?: string | undefined;
5837
+ /**
5838
+ * <p>Specifies the features that are currently available in your organization.</p>
5839
+ * @public
5840
+ */
5841
+ EnabledFeatures?: FeatureType[] | undefined;
5842
+ }
5645
5843
  /**
5646
5844
  * @public
5647
5845
  * @enum
@@ -7586,616 +7784,6 @@ export interface Position {
7586
7784
  */
7587
7785
  Column?: number | undefined;
7588
7786
  }
7589
- /**
7590
- * @public
7591
- * @enum
7592
- */
7593
- export declare const PolicySourceType: {
7594
- readonly AWS_MANAGED: "aws-managed";
7595
- readonly GROUP: "group";
7596
- readonly NONE: "none";
7597
- readonly RESOURCE: "resource";
7598
- readonly ROLE: "role";
7599
- readonly USER: "user";
7600
- readonly USER_MANAGED: "user-managed";
7601
- };
7602
- /**
7603
- * @public
7604
- */
7605
- export type PolicySourceType = (typeof PolicySourceType)[keyof typeof PolicySourceType];
7606
- /**
7607
- * <p>Contains a reference to a <code>Statement</code> element in a policy document that
7608
- * determines the result of the simulation.</p>
7609
- * <p>This data type is used by the <code>MatchedStatements</code> member of the <code>
7610
- * <a>EvaluationResult</a>
7611
- * </code> type.</p>
7612
- * @public
7613
- */
7614
- export interface Statement {
7615
- /**
7616
- * <p>The identifier of the policy that was provided as an input.</p>
7617
- * @public
7618
- */
7619
- SourcePolicyId?: string | undefined;
7620
- /**
7621
- * <p>The type of the policy.</p>
7622
- * @public
7623
- */
7624
- SourcePolicyType?: PolicySourceType | undefined;
7625
- /**
7626
- * <p>The row and column of the beginning of the <code>Statement</code> in an IAM
7627
- * policy.</p>
7628
- * @public
7629
- */
7630
- StartPosition?: Position | undefined;
7631
- /**
7632
- * <p>The row and column of the end of a <code>Statement</code> in an IAM policy.</p>
7633
- * @public
7634
- */
7635
- EndPosition?: Position | undefined;
7636
- }
7637
- /**
7638
- * <p>Contains information about the effect that Organizations has on a policy simulation.</p>
7639
- * @public
7640
- */
7641
- export interface OrganizationsDecisionDetail {
7642
- /**
7643
- * <p>Specifies whether the simulated operation is allowed by the Organizations service control
7644
- * policies that impact the simulated user's account.</p>
7645
- * @public
7646
- */
7647
- AllowedByOrganizations?: boolean | undefined;
7648
- }
7649
- /**
7650
- * <p>Contains information about the effect that a permissions boundary has on a policy
7651
- * simulation when the boundary is applied to an IAM entity.</p>
7652
- * @public
7653
- */
7654
- export interface PermissionsBoundaryDecisionDetail {
7655
- /**
7656
- * <p>Specifies whether an action is allowed by a permissions boundary that is applied to an
7657
- * IAM entity (user or role). A value of <code>true</code> means that the permissions
7658
- * boundary does not deny the action. This means that the policy includes an
7659
- * <code>Allow</code> statement that matches the request. In this case, if an
7660
- * identity-based policy also allows the action, the request is allowed. A value of
7661
- * <code>false</code> means that either the requested action is not allowed (implicitly
7662
- * denied) or that the action is explicitly denied by the permissions boundary. In both of
7663
- * these cases, the action is not allowed, regardless of the identity-based policy.</p>
7664
- * @public
7665
- */
7666
- AllowedByPermissionsBoundary?: boolean | undefined;
7667
- }
7668
- /**
7669
- * <p>Contains the result of the simulation of a single API operation call on a single
7670
- * resource.</p>
7671
- * <p>This data type is used by a member of the <a>EvaluationResult</a> data
7672
- * type.</p>
7673
- * @public
7674
- */
7675
- export interface ResourceSpecificResult {
7676
- /**
7677
- * <p>The name of the simulated resource, in Amazon Resource Name (ARN) format.</p>
7678
- * @public
7679
- */
7680
- EvalResourceName: string | undefined;
7681
- /**
7682
- * <p>The result of the simulation of the simulated API operation on the resource specified in
7683
- * <code>EvalResourceName</code>.</p>
7684
- * @public
7685
- */
7686
- EvalResourceDecision: PolicyEvaluationDecisionType | undefined;
7687
- /**
7688
- * <p>A list of the statements in the input policies that determine the result for this part
7689
- * of the simulation. Remember that even if multiple statements allow the operation on the
7690
- * resource, if <i>any</i> statement denies that operation, then the explicit
7691
- * deny overrides any allow. In addition, the deny statement is the only entry included in the
7692
- * result.</p>
7693
- * @public
7694
- */
7695
- MatchedStatements?: Statement[] | undefined;
7696
- /**
7697
- * <p>A list of context keys that are required by the included input policies but that were
7698
- * not provided by one of the input parameters. This list is used when a list of ARNs is
7699
- * included in the <code>ResourceArns</code> parameter instead of "*". If you do not specify
7700
- * individual resources, by setting <code>ResourceArns</code> to "*" or by not including the
7701
- * <code>ResourceArns</code> parameter, then any missing context values are instead
7702
- * included under the <code>EvaluationResults</code> section. To discover the context keys
7703
- * used by a set of policies, you can call <a>GetContextKeysForCustomPolicy</a> or
7704
- * <a>GetContextKeysForPrincipalPolicy</a>.</p>
7705
- * @public
7706
- */
7707
- MissingContextValues?: string[] | undefined;
7708
- /**
7709
- * <p>Additional details about the results of the evaluation decision on a single resource.
7710
- * This parameter is returned only for cross-account simulations. This parameter explains how
7711
- * each policy type contributes to the resource-specific evaluation decision.</p>
7712
- * @public
7713
- */
7714
- EvalDecisionDetails?: Record<string, PolicyEvaluationDecisionType> | undefined;
7715
- /**
7716
- * <p>Contains information about the effect that a permissions boundary has on a policy
7717
- * simulation when that boundary is applied to an IAM entity.</p>
7718
- * @public
7719
- */
7720
- PermissionsBoundaryDecisionDetail?: PermissionsBoundaryDecisionDetail | undefined;
7721
- }
7722
- /**
7723
- * <p>Contains the results of a simulation.</p>
7724
- * <p>This data type is used by the return parameter of <code>
7725
- * <a>SimulateCustomPolicy</a>
7726
- * </code> and <code>
7727
- * <a>SimulatePrincipalPolicy</a>
7728
- * </code>.</p>
7729
- * @public
7730
- */
7731
- export interface EvaluationResult {
7732
- /**
7733
- * <p>The name of the API operation tested on the indicated resource.</p>
7734
- * @public
7735
- */
7736
- EvalActionName: string | undefined;
7737
- /**
7738
- * <p>The ARN of the resource that the indicated API operation was tested on.</p>
7739
- * @public
7740
- */
7741
- EvalResourceName?: string | undefined;
7742
- /**
7743
- * <p>The result of the simulation.</p>
7744
- * @public
7745
- */
7746
- EvalDecision: PolicyEvaluationDecisionType | undefined;
7747
- /**
7748
- * <p>A list of the statements in the input policies that determine the result for this
7749
- * scenario. Remember that even if multiple statements allow the operation on the resource, if
7750
- * only one statement denies that operation, then the explicit deny overrides any allow. In
7751
- * addition, the deny statement is the only entry included in the result.</p>
7752
- * @public
7753
- */
7754
- MatchedStatements?: Statement[] | undefined;
7755
- /**
7756
- * <p>A list of context keys that are required by the included input policies but that were
7757
- * not provided by one of the input parameters. This list is used when the resource in a
7758
- * simulation is "*", either explicitly, or when the <code>ResourceArns</code> parameter
7759
- * blank. If you include a list of resources, then any missing context values are instead
7760
- * included under the <code>ResourceSpecificResults</code> section. To discover the context
7761
- * keys used by a set of policies, you can call <a>GetContextKeysForCustomPolicy</a> or <a>GetContextKeysForPrincipalPolicy</a>.</p>
7762
- * @public
7763
- */
7764
- MissingContextValues?: string[] | undefined;
7765
- /**
7766
- * <p>A structure that details how Organizations and its service control policies affect the results of
7767
- * the simulation. Only applies if the simulated user's account is part of an
7768
- * organization.</p>
7769
- * @public
7770
- */
7771
- OrganizationsDecisionDetail?: OrganizationsDecisionDetail | undefined;
7772
- /**
7773
- * <p>Contains information about the effect that a permissions boundary has on a policy
7774
- * simulation when the boundary is applied to an IAM entity.</p>
7775
- * @public
7776
- */
7777
- PermissionsBoundaryDecisionDetail?: PermissionsBoundaryDecisionDetail | undefined;
7778
- /**
7779
- * <p>Additional details about the results of the cross-account evaluation decision. This
7780
- * parameter is populated for only cross-account simulations. It contains a brief summary of
7781
- * how each policy type contributes to the final evaluation decision.</p>
7782
- * <p>If the simulation evaluates policies within the same account and includes a resource
7783
- * ARN, then the parameter is present but the response is empty. If the simulation evaluates
7784
- * policies within the same account and specifies all resources (<code>*</code>), then the
7785
- * parameter is not returned.</p>
7786
- * <p>When you make a cross-account request, Amazon Web Services evaluates the request in the trusting
7787
- * account and the trusted account. The request is allowed only if both evaluations return
7788
- * <code>true</code>. For more information about how policies are evaluated, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics">Evaluating policies within a single account</a>.</p>
7789
- * <p>If an Organizations SCP included in the evaluation denies access, the simulation ends. In
7790
- * this case, policy evaluation does not proceed any further and this parameter is not
7791
- * returned.</p>
7792
- * @public
7793
- */
7794
- EvalDecisionDetails?: Record<string, PolicyEvaluationDecisionType> | undefined;
7795
- /**
7796
- * <p>The individual results of the simulation of the API operation specified in
7797
- * EvalActionName on each resource.</p>
7798
- * @public
7799
- */
7800
- ResourceSpecificResults?: ResourceSpecificResult[] | undefined;
7801
- }
7802
- /**
7803
- * <p>Contains the response to a successful <a>SimulatePrincipalPolicy</a> or
7804
- * <a>SimulateCustomPolicy</a> request.</p>
7805
- * @public
7806
- */
7807
- export interface SimulatePolicyResponse {
7808
- /**
7809
- * <p>The results of the simulation.</p>
7810
- * @public
7811
- */
7812
- EvaluationResults?: EvaluationResult[] | undefined;
7813
- /**
7814
- * <p>A flag that indicates whether there are more items to return. If your
7815
- * results were truncated, you can make a subsequent pagination request using the <code>Marker</code>
7816
- * request parameter to retrieve more items. Note that IAM might return fewer than the
7817
- * <code>MaxItems</code> number of results even when there are more results available. We recommend
7818
- * that you check <code>IsTruncated</code> after every call to ensure that you receive all your
7819
- * results.</p>
7820
- * @public
7821
- */
7822
- IsTruncated?: boolean | undefined;
7823
- /**
7824
- * <p>When <code>IsTruncated</code> is <code>true</code>, this element
7825
- * is present and contains the value to use for the <code>Marker</code> parameter in a subsequent
7826
- * pagination request.</p>
7827
- * @public
7828
- */
7829
- Marker?: string | undefined;
7830
- }
7831
- /**
7832
- * @public
7833
- */
7834
- export interface SimulatePrincipalPolicyRequest {
7835
- /**
7836
- * <p>The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to
7837
- * include in the simulation. If you specify a user, group, or role, the simulation
7838
- * includes all policies that are associated with that entity. If you specify a user, the
7839
- * simulation also includes all policies that are attached to any groups the user belongs
7840
- * to.</p>
7841
- * <p>The maximum length of the policy document that you can pass in this operation,
7842
- * including whitespace, is listed below. To view the maximum character counts of a managed policy with no whitespaces, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length">IAM and STS character quotas</a>.</p>
7843
- * <p>For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i>.</p>
7844
- * @public
7845
- */
7846
- PolicySourceArn: string | undefined;
7847
- /**
7848
- * <p>An optional list of additional policy documents to include in the simulation. Each
7849
- * document is specified as a string containing the complete, valid JSON text of an IAM
7850
- * policy.</p>
7851
- * <p>The <a href="http://wikipedia.org/wiki/regex">regex pattern</a>
7852
- * used to validate this parameter is a string of characters consisting of the following:</p>
7853
- * <ul>
7854
- * <li>
7855
- * <p>Any printable ASCII
7856
- * character ranging from the space character (<code>\u0020</code>) through the end of the ASCII character range</p>
7857
- * </li>
7858
- * <li>
7859
- * <p>The printable characters in the Basic Latin and Latin-1 Supplement character set
7860
- * (through <code>\u00FF</code>)</p>
7861
- * </li>
7862
- * <li>
7863
- * <p>The special characters tab (<code>\u0009</code>), line feed (<code>\u000A</code>), and
7864
- * carriage return (<code>\u000D</code>)</p>
7865
- * </li>
7866
- * </ul>
7867
- * @public
7868
- */
7869
- PolicyInputList?: string[] | undefined;
7870
- /**
7871
- * <p>The IAM permissions boundary policy to simulate. The permissions boundary sets the
7872
- * maximum permissions that the entity can have. You can input only one permissions
7873
- * boundary when you pass a policy to this operation. An IAM entity can only have one
7874
- * permissions boundary in effect at a time. For example, if a permissions boundary is
7875
- * attached to an entity and you pass in a different permissions boundary policy using this
7876
- * parameter, then the new permissions boundary policy is used for the simulation. For more
7877
- * information about permissions boundaries, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html">Permissions boundaries for IAM
7878
- * entities</a> in the <i>IAM User Guide</i>. The policy input is
7879
- * specified as a string containing the complete, valid JSON text of a permissions boundary
7880
- * policy.</p>
7881
- * <p>The maximum length of the policy document that you can pass in this operation,
7882
- * including whitespace, is listed below. To view the maximum character counts of a managed policy with no whitespaces, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length">IAM and STS character quotas</a>.</p>
7883
- * <p>The <a href="http://wikipedia.org/wiki/regex">regex pattern</a>
7884
- * used to validate this parameter is a string of characters consisting of the following:</p>
7885
- * <ul>
7886
- * <li>
7887
- * <p>Any printable ASCII
7888
- * character ranging from the space character (<code>\u0020</code>) through the end of the ASCII character range</p>
7889
- * </li>
7890
- * <li>
7891
- * <p>The printable characters in the Basic Latin and Latin-1 Supplement character set
7892
- * (through <code>\u00FF</code>)</p>
7893
- * </li>
7894
- * <li>
7895
- * <p>The special characters tab (<code>\u0009</code>), line feed (<code>\u000A</code>), and
7896
- * carriage return (<code>\u000D</code>)</p>
7897
- * </li>
7898
- * </ul>
7899
- * @public
7900
- */
7901
- PermissionsBoundaryPolicyInputList?: string[] | undefined;
7902
- /**
7903
- * <p>A list of names of API operations to evaluate in the simulation. Each operation is
7904
- * evaluated for each resource. Each operation must include the service identifier, such as
7905
- * <code>iam:CreateUser</code>.</p>
7906
- * @public
7907
- */
7908
- ActionNames: string[] | undefined;
7909
- /**
7910
- * <p>A list of ARNs of Amazon Web Services resources to include in the simulation. If this parameter is
7911
- * not provided, then the value defaults to <code>*</code> (all resources). Each API in the
7912
- * <code>ActionNames</code> parameter is evaluated for each resource in this list. The
7913
- * simulation determines the access result (allowed or denied) of each combination and
7914
- * reports it in the response. You can simulate resources that don't exist in your
7915
- * account.</p>
7916
- * <p>The simulation does not automatically retrieve policies for the specified resources.
7917
- * If you want to include a resource policy in the simulation, then you must include the
7918
- * policy as a string in the <code>ResourcePolicy</code> parameter.</p>
7919
- * <p>For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i>.</p>
7920
- * <note>
7921
- * <p>Simulation of resource-based policies isn't supported for IAM roles.</p>
7922
- * </note>
7923
- * @public
7924
- */
7925
- ResourceArns?: string[] | undefined;
7926
- /**
7927
- * <p>A resource-based policy to include in the simulation provided as a string. Each
7928
- * resource in the simulation is treated as if it had this policy attached. You can include
7929
- * only one resource-based policy in a simulation.</p>
7930
- * <p>The maximum length of the policy document that you can pass in this operation,
7931
- * including whitespace, is listed below. To view the maximum character counts of a managed policy with no whitespaces, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length">IAM and STS character quotas</a>.</p>
7932
- * <p>The <a href="http://wikipedia.org/wiki/regex">regex pattern</a>
7933
- * used to validate this parameter is a string of characters consisting of the following:</p>
7934
- * <ul>
7935
- * <li>
7936
- * <p>Any printable ASCII
7937
- * character ranging from the space character (<code>\u0020</code>) through the end of the ASCII character range</p>
7938
- * </li>
7939
- * <li>
7940
- * <p>The printable characters in the Basic Latin and Latin-1 Supplement character set
7941
- * (through <code>\u00FF</code>)</p>
7942
- * </li>
7943
- * <li>
7944
- * <p>The special characters tab (<code>\u0009</code>), line feed (<code>\u000A</code>), and
7945
- * carriage return (<code>\u000D</code>)</p>
7946
- * </li>
7947
- * </ul>
7948
- * <note>
7949
- * <p>Simulation of resource-based policies isn't supported for IAM roles.</p>
7950
- * </note>
7951
- * @public
7952
- */
7953
- ResourcePolicy?: string | undefined;
7954
- /**
7955
- * <p>An Amazon Web Services account ID that specifies the owner of any simulated resource that does not
7956
- * identify its owner in the resource ARN. Examples of resource ARNs include an S3 bucket
7957
- * or object. If <code>ResourceOwner</code> is specified, it is also used as the account
7958
- * owner of any <code>ResourcePolicy</code> included in the simulation. If the
7959
- * <code>ResourceOwner</code> parameter is not specified, then the owner of the
7960
- * resources and the resource policy defaults to the account of the identity provided in
7961
- * <code>CallerArn</code>. This parameter is required only if you specify a
7962
- * resource-based policy and account that owns the resource is different from the account
7963
- * that owns the simulated calling user <code>CallerArn</code>.</p>
7964
- * @public
7965
- */
7966
- ResourceOwner?: string | undefined;
7967
- /**
7968
- * <p>The ARN of the IAM user that you want to specify as the simulated caller of the API
7969
- * operations. If you do not specify a <code>CallerArn</code>, it defaults to the ARN of
7970
- * the user that you specify in <code>PolicySourceArn</code>, if you specified a user. If
7971
- * you include both a <code>PolicySourceArn</code> (for example,
7972
- * <code>arn:aws:iam::123456789012:user/David</code>) and a <code>CallerArn</code> (for
7973
- * example, <code>arn:aws:iam::123456789012:user/Bob</code>), the result is that you
7974
- * simulate calling the API operations as Bob, as if Bob had David's policies.</p>
7975
- * <p>You can specify only the ARN of an IAM user. You cannot specify the ARN of an
7976
- * assumed role, federated user, or a service principal.</p>
7977
- * <p>
7978
- * <code>CallerArn</code> is required if you include a <code>ResourcePolicy</code> and
7979
- * the <code>PolicySourceArn</code> is not the ARN for an IAM user. This is required so
7980
- * that the resource-based policy's <code>Principal</code> element has a value to use in
7981
- * evaluating the policy.</p>
7982
- * <p>For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i>.</p>
7983
- * @public
7984
- */
7985
- CallerArn?: string | undefined;
7986
- /**
7987
- * <p>A list of context keys and corresponding values for the simulation to use. Whenever a
7988
- * context key is evaluated in one of the simulated IAM permissions policies, the
7989
- * corresponding value is supplied.</p>
7990
- * @public
7991
- */
7992
- ContextEntries?: ContextEntry[] | undefined;
7993
- /**
7994
- * <p>Specifies the type of simulation to run. Different API operations that support
7995
- * resource-based policies require different combinations of resources. By specifying the
7996
- * type of simulation to run, you enable the policy simulator to enforce the presence of
7997
- * the required resources to ensure reliable simulation results. If your simulation does
7998
- * not match one of the following scenarios, then you can omit this parameter. The
7999
- * following list shows each of the supported scenario values and the resources that you
8000
- * must define to run the simulation.</p>
8001
- * <p>Each of the Amazon EC2 scenarios requires that you specify instance, image, and security
8002
- * group resources. If your scenario includes an EBS volume, then you must specify that
8003
- * volume as a resource. If the Amazon EC2 scenario includes VPC, then you must supply the
8004
- * network interface resource. If it includes an IP subnet, then you must specify the
8005
- * subnet resource. For more information on the Amazon EC2 scenario options, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html">Supported platforms</a> in the <i>Amazon EC2 User Guide</i>.</p>
8006
- * <ul>
8007
- * <li>
8008
- * <p>
8009
- * <b>EC2-VPC-InstanceStore</b>
8010
- * </p>
8011
- * <p>instance, image, security group, network interface</p>
8012
- * </li>
8013
- * <li>
8014
- * <p>
8015
- * <b>EC2-VPC-InstanceStore-Subnet</b>
8016
- * </p>
8017
- * <p>instance, image, security group, network interface, subnet</p>
8018
- * </li>
8019
- * <li>
8020
- * <p>
8021
- * <b>EC2-VPC-EBS</b>
8022
- * </p>
8023
- * <p>instance, image, security group, network interface, volume</p>
8024
- * </li>
8025
- * <li>
8026
- * <p>
8027
- * <b>EC2-VPC-EBS-Subnet</b>
8028
- * </p>
8029
- * <p>instance, image, security group, network interface, subnet, volume</p>
8030
- * </li>
8031
- * </ul>
8032
- * @public
8033
- */
8034
- ResourceHandlingOption?: string | undefined;
8035
- /**
8036
- * <p>Use this only when paginating results to indicate the
8037
- * maximum number of items you want in the response. If additional items exist beyond the maximum
8038
- * you specify, the <code>IsTruncated</code> response element is <code>true</code>.</p>
8039
- * <p>If you do not include this parameter, the number of items defaults to 100. Note that
8040
- * IAM might return fewer results, even when there are more results available. In that case, the
8041
- * <code>IsTruncated</code> response element returns <code>true</code>, and <code>Marker</code>
8042
- * contains a value to include in the subsequent call that tells the service where to continue
8043
- * from.</p>
8044
- * @public
8045
- */
8046
- MaxItems?: number | undefined;
8047
- /**
8048
- * <p>Use this parameter only when paginating results and only after
8049
- * you receive a response indicating that the results are truncated. Set it to the value of the
8050
- * <code>Marker</code> element in the response that you received to indicate where the next call
8051
- * should start.</p>
8052
- * @public
8053
- */
8054
- Marker?: string | undefined;
8055
- }
8056
- /**
8057
- * @public
8058
- */
8059
- export interface TagInstanceProfileRequest {
8060
- /**
8061
- * <p>The name of the IAM instance profile to which you want to add tags.</p>
8062
- * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
8063
- * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
8064
- * @public
8065
- */
8066
- InstanceProfileName: string | undefined;
8067
- /**
8068
- * <p>The list of tags that you want to attach to the IAM instance profile.
8069
- * Each tag consists of a key name and an associated value.</p>
8070
- * @public
8071
- */
8072
- Tags: Tag[] | undefined;
8073
- }
8074
- /**
8075
- * @public
8076
- */
8077
- export interface TagMFADeviceRequest {
8078
- /**
8079
- * <p>The unique identifier for the IAM virtual MFA device to which you want to add tags.
8080
- * For virtual MFA devices, the serial number is the same as the ARN.</p>
8081
- * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
8082
- * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
8083
- * @public
8084
- */
8085
- SerialNumber: string | undefined;
8086
- /**
8087
- * <p>The list of tags that you want to attach to the IAM virtual MFA device.
8088
- * Each tag consists of a key name and an associated value.</p>
8089
- * @public
8090
- */
8091
- Tags: Tag[] | undefined;
8092
- }
8093
- /**
8094
- * @public
8095
- */
8096
- export interface TagOpenIDConnectProviderRequest {
8097
- /**
8098
- * <p>The ARN of the OIDC identity provider in IAM to which you want to add tags.</p>
8099
- * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
8100
- * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
8101
- * @public
8102
- */
8103
- OpenIDConnectProviderArn: string | undefined;
8104
- /**
8105
- * <p>The list of tags that you want to attach to the OIDC identity provider in IAM.
8106
- * Each tag consists of a key name and an associated value.</p>
8107
- * @public
8108
- */
8109
- Tags: Tag[] | undefined;
8110
- }
8111
- /**
8112
- * @public
8113
- */
8114
- export interface TagPolicyRequest {
8115
- /**
8116
- * <p>The ARN of the IAM customer managed policy to which you want to add tags.</p>
8117
- * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
8118
- * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
8119
- * @public
8120
- */
8121
- PolicyArn: string | undefined;
8122
- /**
8123
- * <p>The list of tags that you want to attach to the IAM customer managed policy.
8124
- * Each tag consists of a key name and an associated value.</p>
8125
- * @public
8126
- */
8127
- Tags: Tag[] | undefined;
8128
- }
8129
- /**
8130
- * @public
8131
- */
8132
- export interface TagRoleRequest {
8133
- /**
8134
- * <p>The name of the IAM role to which you want to add tags.</p>
8135
- * <p>This parameter accepts (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters that consist of upper and lowercase alphanumeric
8136
- * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
8137
- * @public
8138
- */
8139
- RoleName: string | undefined;
8140
- /**
8141
- * <p>The list of tags that you want to attach to the IAM role. Each tag consists of a key name and an associated value.</p>
8142
- * @public
8143
- */
8144
- Tags: Tag[] | undefined;
8145
- }
8146
- /**
8147
- * @public
8148
- */
8149
- export interface TagSAMLProviderRequest {
8150
- /**
8151
- * <p>The ARN of the SAML identity provider in IAM to which you want to add tags.</p>
8152
- * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
8153
- * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
8154
- * @public
8155
- */
8156
- SAMLProviderArn: string | undefined;
8157
- /**
8158
- * <p>The list of tags that you want to attach to the SAML identity provider in IAM.
8159
- * Each tag consists of a key name and an associated value.</p>
8160
- * @public
8161
- */
8162
- Tags: Tag[] | undefined;
8163
- }
8164
- /**
8165
- * @public
8166
- */
8167
- export interface TagServerCertificateRequest {
8168
- /**
8169
- * <p>The name of the IAM server certificate to which you want to add tags.</p>
8170
- * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
8171
- * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
8172
- * @public
8173
- */
8174
- ServerCertificateName: string | undefined;
8175
- /**
8176
- * <p>The list of tags that you want to attach to the IAM server certificate.
8177
- * Each tag consists of a key name and an associated value.</p>
8178
- * @public
8179
- */
8180
- Tags: Tag[] | undefined;
8181
- }
8182
- /**
8183
- * @public
8184
- */
8185
- export interface TagUserRequest {
8186
- /**
8187
- * <p>The name of the IAM user to which you want to add tags.</p>
8188
- * <p>This parameter allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters consisting of upper and lowercase alphanumeric
8189
- * characters with no spaces. You can also include any of the following characters: _+=,.@-</p>
8190
- * @public
8191
- */
8192
- UserName: string | undefined;
8193
- /**
8194
- * <p>The list of tags that you want to attach to the IAM user. Each tag consists of a key name and an associated value.</p>
8195
- * @public
8196
- */
8197
- Tags: Tag[] | undefined;
8198
- }
8199
7787
  /**
8200
7788
  * @internal
8201
7789
  */