import type { DocumentType as __DocumentType } from "@smithy/types"; import type { ApplicationStatus, ApplicationVisibility, AuthenticationMethodType, FederationProtocol, GrantType, InstanceAccessControlAttributeConfigurationStatus, InstanceStatus, JwksRetrievalOption, KmsKeyStatus, KmsKeyType, PrincipalType, ProvisioningStatus, ProvisionTargetType, RegionStatus, SignInOrigin, StatusValues, TargetType, TrustedTokenIssuerType, UserBackgroundSessionApplicationStatus } from "./enums"; /** *

The value used for mapping a specified attribute to an identity source. For more information, see Attribute mappings in the IAM Identity Center User Guide.

* @public */ export interface AccessControlAttributeValue { /** *

The identity source to use when mapping a specified attribute to IAM Identity Center.

* @public */ Source: string[] | undefined; } /** *

These are IAM Identity Center identity store attributes that you can configure for use in attributes-based access control (ABAC). You can create permissions policies that determine who can access your Amazon Web Services resources based upon the configured attribute values. When you enable ABAC and specify AccessControlAttributes, IAM Identity Center passes the attribute values of the authenticated user into IAM for use in policy evaluation.

* @public */ export interface AccessControlAttribute { /** *

The name of the attribute associated with your identities in your identity source. This is used to map a specified attribute in your identity source with an attribute in IAM Identity Center.

* @public */ Key: string | undefined; /** *

The value used for mapping a specified attribute to an identity source.

* @public */ Value: AccessControlAttributeValue | undefined; } /** *

The assignment that indicates a principal's limited access to a specified Amazon Web Services account with a specified permission set.

The term principal here refers to a user or group that is defined in IAM Identity Center.

* @public */ export interface AccountAssignment { /** *

The identifier of the Amazon Web Services account.

* @public */ AccountId?: string | undefined; /** *

The ARN of the permission set. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ PermissionSetArn?: string | undefined; /** *

The entity type for which the assignment will be created.

* @public */ PrincipalType?: PrincipalType | undefined; /** *

An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

* @public */ PrincipalId?: string | undefined; } /** *

A structure that describes an assignment of an Amazon Web Services account to a principal and the permissions that principal has in the account.

* @public */ export interface AccountAssignmentForPrincipal { /** *

The account ID number of the Amazon Web Services account.

* @public */ AccountId?: string | undefined; /** *

The ARN of the IAM Identity Center permission set assigned to this principal for this Amazon Web Services account.

* @public */ PermissionSetArn?: string | undefined; /** *

The ID of the principal.

* @public */ PrincipalId?: string | undefined; /** *

The type of the principal.

* @public */ PrincipalType?: PrincipalType | undefined; } /** *

The status of the creation or deletion operation of an assignment that a principal needs to access an account.

* @public */ export interface AccountAssignmentOperationStatus { /** *

The status of the permission set provisioning process.

* @public */ Status?: StatusValues | undefined; /** *

The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

* @public */ RequestId?: string | undefined; /** *

The message that contains an error or exception in case of an operation failure.

* @public */ FailureReason?: string | undefined; /** *

TargetID is an Amazon Web Services account identifier, (For example, 123456789012).

* @public */ TargetId?: string | undefined; /** *

The entity type for which the assignment will be created.

* @public */ TargetType?: TargetType | undefined; /** *

The ARN of the permission set. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ PermissionSetArn?: string | undefined; /** *

The entity type for which the assignment will be created.

* @public */ PrincipalType?: PrincipalType | undefined; /** *

An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

* @public */ PrincipalId?: string | undefined; /** *

The date that the permission set was created.

* @public */ CreatedDate?: Date | undefined; } /** *

Provides information about the AccountAssignment creation request.

* @public */ export interface AccountAssignmentOperationStatusMetadata { /** *

The status of the permission set provisioning process.

* @public */ Status?: StatusValues | undefined; /** *

The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

* @public */ RequestId?: string | undefined; /** *

The date that the permission set was created.

* @public */ CreatedDate?: Date | undefined; } /** * @public */ export interface AddRegionRequest { /** *

The Amazon Resource Name (ARN) of the IAM Identity Center instance to replicate to the target Region.

* @public */ InstanceArn: string | undefined; /** *

The name of the Amazon Web Services Region to add to the IAM Identity Center instance. The Region name must be 1-32 characters long and follow the pattern of Amazon Web Services Region names (for example, us-east-1).

* @public */ RegionName: string | undefined; } /** * @public */ export interface AddRegionResponse { /** *

The status of the Region after the Add operation. The status is ADDING when the asynchronous workflow is in progress and changes to ACTIVE when complete.

* @public */ Status?: RegionStatus | undefined; } /** *

A structure that describes the sign-in options for an application portal.

* @public */ export interface SignInOptions { /** *

This determines how IAM Identity Center navigates the user to the target application. It can be one of the following values:

* @public */ Origin: SignInOrigin | undefined; /** *

The URL that accepts authentication requests for an application. This is a required parameter if the Origin parameter is APPLICATION.

* @public */ ApplicationUrl?: string | undefined; } /** *

A structure that describes the options for the access portal associated with an application.

* @public */ export interface PortalOptions { /** *

A structure that describes the sign-in options for the access portal.

* @public */ SignInOptions?: SignInOptions | undefined; /** *

Indicates whether this application is visible in the access portal.

* @public */ Visibility?: ApplicationVisibility | undefined; } /** *

A structure that describes an application that uses IAM Identity Center for access management.

* @public */ export interface Application { /** *

The ARN of the application.

* @public */ ApplicationArn?: string | undefined; /** *

The ARN of the application provider for this application.

* @public */ ApplicationProviderArn?: string | undefined; /** *

The name of the application.

* @public */ Name?: string | undefined; /** *

The Amazon Web Services account ID number of the application.

* @public */ ApplicationAccount?: string | undefined; /** *

The ARN of the instance of IAM Identity Center that is configured with this application.

* @public */ InstanceArn?: string | undefined; /** *

The ARN of the identity store that is connected to the instance of IAM Identity Center.

* @public */ IdentityStoreArn?: string | undefined; /** *

The current status of the application in this instance of IAM Identity Center.

* @public */ Status?: ApplicationStatus | undefined; /** *

A structure that describes the options for the access portal associated with this application.

* @public */ PortalOptions?: PortalOptions | undefined; /** *

The description of the application.

* @public */ Description?: string | undefined; /** *

The date and time when the application was originally created.

* @public */ CreatedDate?: Date | undefined; /** *

The Amazon Web Services Region where the application was created in IAM Identity Center.

* @public */ CreatedFrom?: string | undefined; } /** * @public */ export interface DeleteApplicationAccessScopeRequest { /** *

Specifies the ARN of the application with the access scope to delete.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the name of the access scope to remove from the application.

* @public */ Scope: string | undefined; } /** * @public */ export interface GetApplicationAccessScopeRequest { /** *

Specifies the ARN of the application with the access scope that you want to retrieve.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the name of the access scope for which you want the authorized targets.

* @public */ Scope: string | undefined; } /** * @public */ export interface GetApplicationAccessScopeResponse { /** *

The name of the access scope that can be used with the authorized targets.

* @public */ Scope: string | undefined; /** *

An array of authorized targets associated with this access scope.

* @public */ AuthorizedTargets?: string[] | undefined; } /** * @public */ export interface ListApplicationAccessScopesRequest { /** *

Specifies the ARN of the application.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

* @public */ MaxResults?: number | undefined; /** *

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

* @public */ NextToken?: string | undefined; } /** *

A structure that describes an IAM Identity Center access scope and its authorized targets.

* @public */ export interface ScopeDetails { /** *

The name of the access scope.

* @public */ Scope: string | undefined; /** *

An array list of ARNs of applications.

* @public */ AuthorizedTargets?: string[] | undefined; } /** * @public */ export interface ListApplicationAccessScopesResponse { /** *

An array list of access scopes and their authorized targets that are associated with the application.

* @public */ Scopes: ScopeDetails[] | undefined; /** *

If present, this value indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null. This indicates that this is the last page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface PutApplicationAccessScopeRequest { /** *

Specifies the name of the access scope to be associated with the specified targets.

* @public */ Scope: string | undefined; /** *

Specifies an array list of ARNs that represent the authorized targets for this access scope.

* @public */ AuthorizedTargets?: string[] | undefined; /** *

Specifies the ARN of the application with the access scope with the targets to add or update.

* @public */ ApplicationArn: string | undefined; } /** *

A structure that describes an assignment of a principal to an application.

* @public */ export interface ApplicationAssignment { /** *

The ARN of the application that has principals assigned.

* @public */ ApplicationArn: string | undefined; /** *

The unique identifier of the principal assigned to the application.

* @public */ PrincipalId: string | undefined; /** *

The type of the principal assigned to the application.

* @public */ PrincipalType: PrincipalType | undefined; } /** *

A structure that describes an application to which a principal is assigned.

* @public */ export interface ApplicationAssignmentForPrincipal { /** *

The ARN of the application to which the specified principal is assigned.

* @public */ ApplicationArn?: string | undefined; /** *

The unique identifier of the principal assigned to the application.

* @public */ PrincipalId?: string | undefined; /** *

The type of the principal assigned to the application.

* @public */ PrincipalType?: PrincipalType | undefined; } /** * @public */ export interface DeleteApplicationAuthenticationMethodRequest { /** *

Specifies the ARN of the application with the authentication method to delete.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the authentication method type to delete from the application.

* @public */ AuthenticationMethodType: AuthenticationMethodType | undefined; } /** * @public */ export interface GetApplicationAuthenticationMethodRequest { /** *

Specifies the ARN of the application.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the type of authentication method for which you want details.

* @public */ AuthenticationMethodType: AuthenticationMethodType | undefined; } /** *

A structure that describes details for authentication that uses IAM.

* @public */ export interface IamAuthenticationMethod { /** *

An IAM policy document in JSON.

* @public */ ActorPolicy: __DocumentType | undefined; } /** *

A structure that describes an authentication method that can be used by an application.

* @public */ export type AuthenticationMethod = AuthenticationMethod.IamMember | AuthenticationMethod.$UnknownMember; /** * @public */ export declare namespace AuthenticationMethod { /** *

A structure that describes details for IAM authentication.

* @public */ interface IamMember { Iam: IamAuthenticationMethod; $unknown?: never; } /** * @public */ interface $UnknownMember { Iam?: never; $unknown: [string, any]; } /** * @deprecated unused in schema-serde mode. * */ interface Visitor { Iam: (value: IamAuthenticationMethod) => T; _: (name: string, value: any) => T; } } /** * @public */ export interface GetApplicationAuthenticationMethodResponse { /** *

A structure that contains details about the requested authentication method.

* @public */ AuthenticationMethod?: AuthenticationMethod | undefined; } /** * @public */ export interface ListApplicationAuthenticationMethodsRequest { /** *

Specifies the ARN of the application with the authentication methods you want to list.

* @public */ ApplicationArn: string | undefined; /** *

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

* @public */ NextToken?: string | undefined; } /** *

A structure that describes an authentication method and its type.

* @public */ export interface AuthenticationMethodItem { /** *

The type of authentication that is used by this method.

* @public */ AuthenticationMethodType?: AuthenticationMethodType | undefined; /** *

A structure that describes an authentication method. The contents of this structure is determined by the AuthenticationMethodType.

* @public */ AuthenticationMethod?: AuthenticationMethod | undefined; } /** * @public */ export interface ListApplicationAuthenticationMethodsResponse { /** *

An array list of authentication methods for the specified application.

* @public */ AuthenticationMethods?: AuthenticationMethodItem[] | undefined; /** *

If present, this value indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null. This indicates that this is the last page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface PutApplicationAuthenticationMethodRequest { /** *

Specifies the ARN of the application with the authentication method to add or update.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the type of the authentication method that you want to add or update.

* @public */ AuthenticationMethodType: AuthenticationMethodType | undefined; /** *

Specifies a structure that describes the authentication method to add or update. The structure type you provide is determined by the AuthenticationMethodType parameter.

* @public */ AuthenticationMethod: AuthenticationMethod | undefined; } /** * @public */ export interface DeleteApplicationGrantRequest { /** *

Specifies the ARN of the application with the grant to delete.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the type of grant to delete from the application.

* @public */ GrantType: GrantType | undefined; } /** * @public */ export interface GetApplicationGrantRequest { /** *

Specifies the ARN of the application that contains the grant.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the type of grant.

* @public */ GrantType: GrantType | undefined; } /** *

A structure that defines configuration settings for an application that supports the OAuth 2.0 Authorization Code Grant.

* @public */ export interface AuthorizationCodeGrant { /** *

A list of URIs that are valid locations to redirect a user's browser after the user is authorized.

RedirectUris is required when the grant type is authorization_code.

* @public */ RedirectUris?: string[] | undefined; } /** *

A structure that describes a trusted token issuer and associates it with a set of authorized audiences.

* @public */ export interface AuthorizedTokenIssuer { /** *

The ARN of the trusted token issuer.

* @public */ TrustedTokenIssuerArn?: string | undefined; /** *

An array list of authorized audiences, or applications, that can consume the tokens generated by the associated trusted token issuer.

* @public */ AuthorizedAudiences?: string[] | undefined; } /** *

A structure that defines configuration settings for an application that supports the JWT Bearer Token Authorization Grant. The AuthorizedAudience field is the aud claim. For more information, see RFC 7523.

* @public */ export interface JwtBearerGrant { /** *

A list of allowed token issuers trusted by the Identity Center instances for this application.

AuthorizedTokenIssuers is required when the grant type is JwtBearerGrant.

* @public */ AuthorizedTokenIssuers?: AuthorizedTokenIssuer[] | undefined; } /** *

A structure that defines configuration settings for an application that supports the OAuth 2.0 Refresh Token Grant. For more, see RFC 6749.

* @public */ export interface RefreshTokenGrant { } /** *

A structure that defines configuration settings for an application that supports the OAuth 2.0 Token Exchange Grant. For more information, see RFC 8693.

* @public */ export interface TokenExchangeGrant { } /** *

The Grant union represents the set of possible configuration options for the selected grant type. Exactly one member of the union must be specified, and must match the grant type selected.

* @public */ export type Grant = Grant.AuthorizationCodeMember | Grant.JwtBearerMember | Grant.RefreshTokenMember | Grant.TokenExchangeMember | Grant.$UnknownMember; /** * @public */ export declare namespace Grant { /** *

Configuration options for the authorization_code grant type.

* @public */ interface AuthorizationCodeMember { AuthorizationCode: AuthorizationCodeGrant; JwtBearer?: never; RefreshToken?: never; TokenExchange?: never; $unknown?: never; } /** *

Configuration options for the urn:ietf:params:oauth:grant-type:jwt-bearer grant type.

* @public */ interface JwtBearerMember { AuthorizationCode?: never; JwtBearer: JwtBearerGrant; RefreshToken?: never; TokenExchange?: never; $unknown?: never; } /** *

Configuration options for the refresh_token grant type.

* @public */ interface RefreshTokenMember { AuthorizationCode?: never; JwtBearer?: never; RefreshToken: RefreshTokenGrant; TokenExchange?: never; $unknown?: never; } /** *

Configuration options for the urn:ietf:params:oauth:grant-type:token-exchange grant type.

* @public */ interface TokenExchangeMember { AuthorizationCode?: never; JwtBearer?: never; RefreshToken?: never; TokenExchange: TokenExchangeGrant; $unknown?: never; } /** * @public */ interface $UnknownMember { AuthorizationCode?: never; JwtBearer?: never; RefreshToken?: never; TokenExchange?: never; $unknown: [string, any]; } /** * @deprecated unused in schema-serde mode. * */ interface Visitor { AuthorizationCode: (value: AuthorizationCodeGrant) => T; JwtBearer: (value: JwtBearerGrant) => T; RefreshToken: (value: RefreshTokenGrant) => T; TokenExchange: (value: TokenExchangeGrant) => T; _: (name: string, value: any) => T; } } /** * @public */ export interface GetApplicationGrantResponse { /** *

A structure that describes the requested grant.

* @public */ Grant: Grant | undefined; } /** * @public */ export interface ListApplicationGrantsRequest { /** *

Specifies the ARN of the application whose grants you want to list.

* @public */ ApplicationArn: string | undefined; /** *

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

* @public */ NextToken?: string | undefined; } /** *

A structure that defines a single grant and its configuration.

* @public */ export interface GrantItem { /** *

The type of the selected grant.

* @public */ GrantType: GrantType | undefined; /** *

The configuration structure for the selected grant.

* @public */ Grant: Grant | undefined; } /** * @public */ export interface ListApplicationGrantsResponse { /** *

An array list of structures that describe the requested grants.

* @public */ Grants: GrantItem[] | undefined; /** *

If present, this value indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null. This indicates that this is the last page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface PutApplicationGrantRequest { /** *

Specifies the ARN of the application to update.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the type of grant to update.

* @public */ GrantType: GrantType | undefined; /** *

Specifies a structure that describes the grant to update.

* @public */ Grant: Grant | undefined; } /** *

A structure that describes how the portal represents an application provider.

* @public */ export interface DisplayData { /** *

The name of the application provider that appears in the portal.

* @public */ DisplayName?: string | undefined; /** *

A URL that points to an icon that represents the application provider.

* @public */ IconUrl?: string | undefined; /** *

The description of the application provider that appears in the portal.

* @public */ Description?: string | undefined; } /** *

A structure that describes details for an IAM Identity Center access scope that is associated with a resource server.

* @public */ export interface ResourceServerScopeDetails { /** *

The description of an access scope for a resource server.

* @public */ LongDescription?: string | undefined; /** *

The title of an access scope for a resource server.

* @public */ DetailedTitle?: string | undefined; } /** *

A structure that describes the configuration of a resource server.

* @public */ export interface ResourceServerConfig { /** *

A list of the IAM Identity Center access scopes that are associated with this resource server.

* @public */ Scopes?: Record | undefined; } /** *

A structure that describes a provider that can be used to connect an Amazon Web Services managed application or customer managed application to IAM Identity Center.

* @public */ export interface ApplicationProvider { /** *

The ARN of the application provider.

* @public */ ApplicationProviderArn: string | undefined; /** *

The protocol that the application provider uses to perform federation.

* @public */ FederationProtocol?: FederationProtocol | undefined; /** *

A structure that describes how IAM Identity Center represents the application provider in the portal.

* @public */ DisplayData?: DisplayData | undefined; /** *

A structure that describes the application provider's resource server.

* @public */ ResourceServerConfig?: ResourceServerConfig | undefined; } /** *

Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set.

* @public */ export interface CustomerManagedPolicyReference { /** *

The name of the IAM policy that you have configured in each account where you want to deploy your permission set.

* @public */ Name: string | undefined; /** *

The path to the IAM policy that you have configured in each account where you want to deploy your permission set. The default is /. For more information, see Friendly names and paths in the IAM User Guide.

* @public */ Path?: string | undefined; } /** * @public */ export interface AttachCustomerManagedPolicyReferenceToPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet.

* @public */ PermissionSetArn: string | undefined; /** *

Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set.

* @public */ CustomerManagedPolicyReference: CustomerManagedPolicyReference | undefined; } /** * @public */ export interface AttachCustomerManagedPolicyReferenceToPermissionSetResponse { } /** *

A structure that stores a list of managed policy ARNs that describe the associated Amazon Web Services managed policy.

* @public */ export interface AttachedManagedPolicy { /** *

The name of the Amazon Web Services managed policy.

* @public */ Name?: string | undefined; /** *

The ARN of the Amazon Web Services managed policy. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ Arn?: string | undefined; } /** * @public */ export interface AttachManagedPolicyToPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet that the managed policy should be attached to.

* @public */ PermissionSetArn: string | undefined; /** *

The Amazon Web Services managed policy ARN to be attached to a permission set.

* @public */ ManagedPolicyArn: string | undefined; } /** * @public */ export interface AttachManagedPolicyToPermissionSetResponse { } /** * @public */ export interface CreateAccountAssignmentRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

TargetID is an Amazon Web Services account identifier, (For example, 123456789012).

* @public */ TargetId: string | undefined; /** *

The entity type for which the assignment will be created.

* @public */ TargetType: TargetType | undefined; /** *

The ARN of the permission set that the admin wants to grant the principal access to.

* @public */ PermissionSetArn: string | undefined; /** *

The entity type for which the assignment will be created.

* @public */ PrincipalType: PrincipalType | undefined; /** *

An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

* @public */ PrincipalId: string | undefined; } /** * @public */ export interface CreateAccountAssignmentResponse { /** *

The status object for the account assignment creation operation.

* @public */ AccountAssignmentCreationStatus?: AccountAssignmentOperationStatus | undefined; } /** *

A set of key-value pairs that are used to manage the resource. Tags can only be applied to permission sets and cannot be applied to corresponding roles that IAM Identity Center creates in Amazon Web Services accounts.

* @public */ export interface Tag { /** *

The key for the tag.

* @public */ Key: string | undefined; /** *

The value of the tag.

* @public */ Value: string | undefined; } /** * @public */ export interface CreateApplicationRequest { /** *

The ARN of the instance of IAM Identity Center under which the operation will run. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the application provider under which the operation will run.

* @public */ ApplicationProviderArn: string | undefined; /** *

The name of the .

* @public */ Name: string | undefined; /** *

The description of the .

* @public */ Description?: string | undefined; /** *

A structure that describes the options for the portal associated with an application.

* @public */ PortalOptions?: PortalOptions | undefined; /** *

Specifies tags to be attached to the application.

* @public */ Tags?: Tag[] | undefined; /** *

Specifies whether the application is enabled or disabled.

* @public */ Status?: ApplicationStatus | undefined; /** *

Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

* @public */ ClientToken?: string | undefined; } /** * @public */ export interface CreateApplicationResponse { /** *

Specifies the ARN of the application.

* @public */ ApplicationArn?: string | undefined; /** *

The ARN of the instance of IAM Identity Center under which the operation will run. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn?: string | undefined; /** *

The ARN of the identity store that is connected to the instance of IAM Identity Center.

* @public */ IdentityStoreArn?: string | undefined; } /** * @public */ export interface CreateApplicationAssignmentRequest { /** *

The ARN of the application for which the assignment is created.

* @public */ ApplicationArn: string | undefined; /** *

An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

* @public */ PrincipalId: string | undefined; /** *

The entity type for which the assignment will be created.

* @public */ PrincipalType: PrincipalType | undefined; } /** * @public */ export interface CreateApplicationAssignmentResponse { } /** * @public */ export interface CreateInstanceRequest { /** *

The name of the instance of IAM Identity Center.

* @public */ Name?: string | undefined; /** *

Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

* @public */ ClientToken?: string | undefined; /** *

Specifies tags to be attached to the instance of IAM Identity Center.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface CreateInstanceResponse { /** *

The ARN of the instance of IAM Identity Center under which the operation will run.

For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn?: string | undefined; } /** *

Specifies the attributes to add to your attribute-based access control (ABAC) configuration.

* @public */ export interface InstanceAccessControlAttributeConfiguration { /** *

Lists the attributes that are configured for ABAC in the specified IAM Identity Center instance.

* @public */ AccessControlAttributes: AccessControlAttribute[] | undefined; } /** * @public */ export interface CreateInstanceAccessControlAttributeConfigurationRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; /** *

Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion. Doing so provides an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center will replace the attribute value with the value from the IAM Identity Center identity store.

* @public */ InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration | undefined; } /** * @public */ export interface CreateInstanceAccessControlAttributeConfigurationResponse { } /** * @public */ export interface CreatePermissionSetRequest { /** *

The name of the PermissionSet.

* @public */ Name: string | undefined; /** *

The description of the PermissionSet.

* @public */ Description?: string | undefined; /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The length of time that the application user sessions are valid in the ISO-8601 standard.

* @public */ SessionDuration?: string | undefined; /** *

Used to redirect users within the application during the federation authentication process.

* @public */ RelayState?: string | undefined; /** *

The tags to attach to the new PermissionSet.

* @public */ Tags?: Tag[] | undefined; } /** *

An entity that contains IAM policies.

* @public */ export interface PermissionSet { /** *

The name of the permission set.

* @public */ Name?: string | undefined; /** *

The ARN of the permission set. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ PermissionSetArn?: string | undefined; /** *

The description of the PermissionSet.

* @public */ Description?: string | undefined; /** *

The date that the permission set was created.

* @public */ CreatedDate?: Date | undefined; /** *

The length of time that the application user sessions are valid for in the ISO-8601 standard.

* @public */ SessionDuration?: string | undefined; /** *

Used to redirect users within the application during the federation authentication process.

* @public */ RelayState?: string | undefined; } /** * @public */ export interface CreatePermissionSetResponse { /** *

Defines the level of access on an Amazon Web Services account.

* @public */ PermissionSet?: PermissionSet | undefined; } /** *

A structure that describes configuration settings for a trusted token issuer that supports OpenID Connect (OIDC) and JSON Web Tokens (JWTs).

* @public */ export interface OidcJwtConfiguration { /** *

The URL that IAM Identity Center uses for OpenID Discovery. OpenID Discovery is used to obtain the information required to verify the tokens that the trusted token issuer generates.

* @public */ IssuerUrl: string | undefined; /** *

The path of the source attribute in the JWT from the trusted token issuer. The attribute mapped by this JMESPath expression is compared against the attribute mapped by IdentityStoreAttributePath when a trusted token issuer token is exchanged for an IAM Identity Center token.

* @public */ ClaimAttributePath: string | undefined; /** *

The path of the destination attribute in a JWT from IAM Identity Center. The attribute mapped by this JMESPath expression is compared against the attribute mapped by ClaimAttributePath when a trusted token issuer token is exchanged for an IAM Identity Center token.

* @public */ IdentityStoreAttributePath: string | undefined; /** *

The method that the trusted token issuer can use to retrieve the JSON Web Key Set used to verify a JWT.

* @public */ JwksRetrievalOption: JwksRetrievalOption | undefined; } /** *

A structure that describes the configuration of a trusted token issuer. The structure and available settings are determined by the type of the trusted token issuer.

* @public */ export type TrustedTokenIssuerConfiguration = TrustedTokenIssuerConfiguration.OidcJwtConfigurationMember | TrustedTokenIssuerConfiguration.$UnknownMember; /** * @public */ export declare namespace TrustedTokenIssuerConfiguration { /** *

A structure that describes the settings for a trusted token issuer that works with OpenID Connect (OIDC) by using JSON Web Tokens (JWT).

* @public */ interface OidcJwtConfigurationMember { OidcJwtConfiguration: OidcJwtConfiguration; $unknown?: never; } /** * @public */ interface $UnknownMember { OidcJwtConfiguration?: never; $unknown: [string, any]; } /** * @deprecated unused in schema-serde mode. * */ interface Visitor { OidcJwtConfiguration: (value: OidcJwtConfiguration) => T; _: (name: string, value: any) => T; } } /** * @public */ export interface CreateTrustedTokenIssuerRequest { /** *

Specifies the ARN of the instance of IAM Identity Center to contain the new trusted token issuer configuration.

* @public */ InstanceArn: string | undefined; /** *

Specifies the name of the new trusted token issuer configuration.

* @public */ Name: string | undefined; /** *

Specifies the type of the new trusted token issuer.

* @public */ TrustedTokenIssuerType: TrustedTokenIssuerType | undefined; /** *

Specifies settings that apply to the new trusted token issuer configuration. The settings that are available depend on what TrustedTokenIssuerType you specify.

* @public */ TrustedTokenIssuerConfiguration: TrustedTokenIssuerConfiguration | undefined; /** *

Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value..

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

* @public */ ClientToken?: string | undefined; /** *

Specifies tags to be attached to the new trusted token issuer configuration.

* @public */ Tags?: Tag[] | undefined; } /** * @public */ export interface CreateTrustedTokenIssuerResponse { /** *

The ARN of the new trusted token issuer configuration.

* @public */ TrustedTokenIssuerArn?: string | undefined; } /** * @public */ export interface DeleteAccountAssignmentRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

TargetID is an Amazon Web Services account identifier, (For example, 123456789012).

* @public */ TargetId: string | undefined; /** *

The entity type for which the assignment will be deleted.

* @public */ TargetType: TargetType | undefined; /** *

The ARN of the permission set that will be used to remove access.

* @public */ PermissionSetArn: string | undefined; /** *

The entity type for which the assignment will be deleted.

* @public */ PrincipalType: PrincipalType | undefined; /** *

An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

* @public */ PrincipalId: string | undefined; } /** * @public */ export interface DeleteAccountAssignmentResponse { /** *

The status object for the account assignment deletion operation.

* @public */ AccountAssignmentDeletionStatus?: AccountAssignmentOperationStatus | undefined; } /** * @public */ export interface DeleteApplicationRequest { /** *

Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ ApplicationArn: string | undefined; } /** * @public */ export interface DeleteApplicationResponse { } /** * @public */ export interface DeleteApplicationAssignmentRequest { /** *

Specifies the ARN of the application.

* @public */ ApplicationArn: string | undefined; /** *

An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

* @public */ PrincipalId: string | undefined; /** *

The entity type for which the assignment will be deleted.

* @public */ PrincipalType: PrincipalType | undefined; } /** * @public */ export interface DeleteApplicationAssignmentResponse { } /** * @public */ export interface DeleteInlinePolicyFromPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the permission set that will be used to remove access.

* @public */ PermissionSetArn: string | undefined; } /** * @public */ export interface DeleteInlinePolicyFromPermissionSetResponse { } /** * @public */ export interface DeleteInstanceRequest { /** *

The ARN of the instance of IAM Identity Center under which the operation will run.

* @public */ InstanceArn: string | undefined; } /** * @public */ export interface DeleteInstanceResponse { } /** * @public */ export interface DeleteInstanceAccessControlAttributeConfigurationRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; } /** * @public */ export interface DeleteInstanceAccessControlAttributeConfigurationResponse { } /** * @public */ export interface DeletePermissionsBoundaryFromPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet.

* @public */ PermissionSetArn: string | undefined; } /** * @public */ export interface DeletePermissionsBoundaryFromPermissionSetResponse { } /** * @public */ export interface DeletePermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the permission set that should be deleted.

* @public */ PermissionSetArn: string | undefined; } /** * @public */ export interface DeletePermissionSetResponse { } /** * @public */ export interface DeleteTrustedTokenIssuerRequest { /** *

Specifies the ARN of the trusted token issuer configuration to delete.

* @public */ TrustedTokenIssuerArn: string | undefined; } /** * @public */ export interface DeleteTrustedTokenIssuerResponse { } /** * @public */ export interface DescribeAccountAssignmentCreationStatusRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The identifier that is used to track the request operation progress.

* @public */ AccountAssignmentCreationRequestId: string | undefined; } /** * @public */ export interface DescribeAccountAssignmentCreationStatusResponse { /** *

The status object for the account assignment creation operation.

* @public */ AccountAssignmentCreationStatus?: AccountAssignmentOperationStatus | undefined; } /** * @public */ export interface DescribeAccountAssignmentDeletionStatusRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The identifier that is used to track the request operation progress.

* @public */ AccountAssignmentDeletionRequestId: string | undefined; } /** * @public */ export interface DescribeAccountAssignmentDeletionStatusResponse { /** *

The status object for the account assignment deletion operation.

* @public */ AccountAssignmentDeletionStatus?: AccountAssignmentOperationStatus | undefined; } /** * @public */ export interface DescribeApplicationRequest { /** *

Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ ApplicationArn: string | undefined; } /** * @public */ export interface DescribeApplicationResponse { /** *

Specifies the ARN of the application.

* @public */ ApplicationArn?: string | undefined; /** *

The ARN of the application provider under which the operation will run.

* @public */ ApplicationProviderArn?: string | undefined; /** *

The application name.

* @public */ Name?: string | undefined; /** *

The account ID.

* @public */ ApplicationAccount?: string | undefined; /** *

The ARN of the IAM Identity Center application under which the operation will run. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn?: string | undefined; /** *

The ARN of the identity store that is connected to the instance of IAM Identity Center.

* @public */ IdentityStoreArn?: string | undefined; /** *

Specifies whether the application is enabled or disabled.

* @public */ Status?: ApplicationStatus | undefined; /** *

A structure that describes the options for the portal associated with an application.

* @public */ PortalOptions?: PortalOptions | undefined; /** *

The description of the .

* @public */ Description?: string | undefined; /** *

The date the application was created.

* @public */ CreatedDate?: Date | undefined; /** *

The Amazon Web Services Region where the application was created in IAM Identity Center.

* @public */ CreatedFrom?: string | undefined; } /** * @public */ export interface DescribeApplicationAssignmentRequest { /** *

Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ ApplicationArn: string | undefined; /** *

An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

* @public */ PrincipalId: string | undefined; /** *

The entity type for which the assignment will be created.

* @public */ PrincipalType: PrincipalType | undefined; } /** * @public */ export interface DescribeApplicationAssignmentResponse { /** *

The entity type for which the assignment will be created.

* @public */ PrincipalType?: PrincipalType | undefined; /** *

An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

* @public */ PrincipalId?: string | undefined; /** *

Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ ApplicationArn?: string | undefined; } /** * @public */ export interface DescribeApplicationProviderRequest { /** *

Specifies the ARN of the application provider for which you want details.

* @public */ ApplicationProviderArn: string | undefined; } /** * @public */ export interface DescribeApplicationProviderResponse { /** *

The ARN of the application provider.

* @public */ ApplicationProviderArn: string | undefined; /** *

The protocol used to federate to the application provider.

* @public */ FederationProtocol?: FederationProtocol | undefined; /** *

A structure with details about the display data for the application provider.

* @public */ DisplayData?: DisplayData | undefined; /** *

A structure with details about the receiving application.

* @public */ ResourceServerConfig?: ResourceServerConfig | undefined; } /** * @public */ export interface DescribeInstanceRequest { /** *

The ARN of the instance of IAM Identity Center under which the operation will run.

* @public */ InstanceArn: string | undefined; } /** *

The encryption configuration of your IAM Identity Center instance, including the key type, KMS key ARN, and current encryption status.

* @public */ export interface EncryptionConfigurationDetails { /** *

The type of KMS key used for encryption.

* @public */ KeyType?: KmsKeyType | undefined; /** *

The ARN of the KMS key currently used to encrypt data in your IAM Identity Center instance.

* @public */ KmsKeyArn?: string | undefined; /** *

The current status of encryption configuration.

* @public */ EncryptionStatus?: KmsKeyStatus | undefined; /** *

Provides additional context about the current encryption status. This field is particularly useful when the encryption status is UPDATE_FAILED. When encryption configuration update fails, this field contains information about the cause, which may include KMS key access issues, key not found errors, invalid key configuration, key in an invalid state, or a disabled key.

* @public */ EncryptionStatusReason?: string | undefined; } /** * @public */ export interface DescribeInstanceResponse { /** *

The ARN of the instance of IAM Identity Center under which the operation will run. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn?: string | undefined; /** *

The identifier of the identity store that is connected to the instance of IAM Identity Center.

* @public */ IdentityStoreId?: string | undefined; /** *

The identifier of the Amazon Web Services account for which the instance was created.

* @public */ OwnerAccountId?: string | undefined; /** *

Specifies the instance name.

* @public */ Name?: string | undefined; /** *

The date the instance was created.

* @public */ CreatedDate?: Date | undefined; /** *

The status of the instance.

* @public */ Status?: InstanceStatus | undefined; /** *

Provides additional context about the current status of the IAM Identity Center instance. This field is particularly useful when an instance is in a non-ACTIVE state, such as CREATE_FAILED. When an instance fails to create or update, this field contains information about the cause, which may include issues with KMS key configuration, permission problems with the specified KMS key, or service-related errors.

* @public */ StatusReason?: string | undefined; /** *

Contains the encryption configuration for your IAM Identity Center instance, including the encryption status, KMS key type, and KMS key ARN.

* @public */ EncryptionConfigurationDetails?: EncryptionConfigurationDetails | undefined; } /** * @public */ export interface DescribeInstanceAccessControlAttributeConfigurationRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; } /** * @public */ export interface DescribeInstanceAccessControlAttributeConfigurationResponse { /** *

The status of the attribute configuration process.

* @public */ Status?: InstanceAccessControlAttributeConfigurationStatus | undefined; /** *

Provides more details about the current status of the specified attribute.

* @public */ StatusReason?: string | undefined; /** *

Gets the list of IAM Identity Center identity store attributes that have been added to your ABAC configuration.

* @public */ InstanceAccessControlAttributeConfiguration?: InstanceAccessControlAttributeConfiguration | undefined; } /** * @public */ export interface DescribePermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the permission set.

* @public */ PermissionSetArn: string | undefined; } /** * @public */ export interface DescribePermissionSetResponse { /** *

Describes the level of access on an Amazon Web Services account.

* @public */ PermissionSet?: PermissionSet | undefined; } /** * @public */ export interface DescribePermissionSetProvisioningStatusRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The identifier that is provided by the ProvisionPermissionSet call to retrieve the current status of the provisioning workflow.

* @public */ ProvisionPermissionSetRequestId: string | undefined; } /** *

A structure that is used to provide the status of the provisioning operation for a specified permission set.

* @public */ export interface PermissionSetProvisioningStatus { /** *

The status of the permission set provisioning process.

* @public */ Status?: StatusValues | undefined; /** *

The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

* @public */ RequestId?: string | undefined; /** *

The identifier of the Amazon Web Services account from which to list the assignments.

* @public */ AccountId?: string | undefined; /** *

The ARN of the permission set that is being provisioned. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ PermissionSetArn?: string | undefined; /** *

The message that contains an error or exception in case of an operation failure.

* @public */ FailureReason?: string | undefined; /** *

The date that the permission set was created.

* @public */ CreatedDate?: Date | undefined; } /** * @public */ export interface DescribePermissionSetProvisioningStatusResponse { /** *

The status object for the permission set provisioning operation.

* @public */ PermissionSetProvisioningStatus?: PermissionSetProvisioningStatus | undefined; } /** * @public */ export interface DescribeRegionRequest { /** *

The Amazon Resource Name (ARN) of the IAM Identity Center instance.

* @public */ InstanceArn: string | undefined; /** *

The name of the Amazon Web Services Region to retrieve information about. The Region name must be 1-32 characters long and follow the pattern of Amazon Web Services Region names (for example, us-east-1).

* @public */ RegionName: string | undefined; } /** * @public */ export interface DescribeRegionResponse { /** *

The Amazon Web Services Region name.

* @public */ RegionName?: string | undefined; /** *

The current status of the Region. Valid values are ACTIVE (Region is operational), ADDING (Region replication workflow is in progress), or REMOVING (Region removal workflow is in progress).

* @public */ Status?: RegionStatus | undefined; /** *

The timestamp when the Region was added to the IAM Identity Center instance. For the primary Region, this is the IAM Identity Center instance creation time.

* @public */ AddedDate?: Date | undefined; /** *

Indicates whether this is the primary Region where the IAM Identity Center instance was originally enabled. For more information on the difference between the primary Region and additional Regions, see IAM Identity Center User Guide

* @public */ IsPrimaryRegion?: boolean | undefined; } /** * @public */ export interface DescribeTrustedTokenIssuerRequest { /** *

Specifies the ARN of the trusted token issuer configuration that you want details about.

* @public */ TrustedTokenIssuerArn: string | undefined; } /** * @public */ export interface DescribeTrustedTokenIssuerResponse { /** *

The ARN of the trusted token issuer configuration.

* @public */ TrustedTokenIssuerArn?: string | undefined; /** *

The name of the trusted token issuer configuration.

* @public */ Name?: string | undefined; /** *

The type of the trusted token issuer.

* @public */ TrustedTokenIssuerType?: TrustedTokenIssuerType | undefined; /** *

A structure the describes the settings that apply of this trusted token issuer.

* @public */ TrustedTokenIssuerConfiguration?: TrustedTokenIssuerConfiguration | undefined; } /** * @public */ export interface DetachCustomerManagedPolicyReferenceFromPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet.

* @public */ PermissionSetArn: string | undefined; /** *

Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set.

* @public */ CustomerManagedPolicyReference: CustomerManagedPolicyReference | undefined; } /** * @public */ export interface DetachCustomerManagedPolicyReferenceFromPermissionSetResponse { } /** * @public */ export interface DetachManagedPolicyFromPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet from which the policy should be detached.

* @public */ PermissionSetArn: string | undefined; /** *

The Amazon Web Services managed policy ARN to be detached from a permission set.

* @public */ ManagedPolicyArn: string | undefined; } /** * @public */ export interface DetachManagedPolicyFromPermissionSetResponse { } /** *

A structure that specifies the KMS key type and KMS key ARN used to encrypt data in your IAM Identity Center instance.

* @public */ export interface EncryptionConfiguration { /** *

The type of KMS key used for encryption.

* @public */ KeyType: KmsKeyType | undefined; /** *

The ARN of the KMS key used to encrypt data. Required when KeyType is CUSTOMER_MANAGED_KEY. Cannot be specified when KeyType is AWS_OWNED_KMS_KEY.

* @public */ KmsKeyArn?: string | undefined; } /** * @public */ export interface GetApplicationAssignmentConfigurationRequest { /** *

Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ ApplicationArn: string | undefined; } /** * @public */ export interface GetApplicationAssignmentConfigurationResponse { /** *

If AssignmentsRequired is true (default value), users don’t have access to the application unless an assignment is created using the CreateApplicationAssignment API. If false, all users have access to the application.

* @public */ AssignmentRequired: boolean | undefined; } /** * @public */ export interface GetApplicationSessionConfigurationRequest { /** *

The Amazon Resource Name (ARN) of the application for which to retrieve the session configuration.

* @public */ ApplicationArn: string | undefined; } /** * @public */ export interface GetApplicationSessionConfigurationResponse { /** *

The status of user background sessions for the application.

* @public */ UserBackgroundSessionApplicationStatus?: UserBackgroundSessionApplicationStatus | undefined; } /** * @public */ export interface GetInlinePolicyForPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the permission set.

* @public */ PermissionSetArn: string | undefined; } /** * @public */ export interface GetInlinePolicyForPermissionSetResponse { /** *

The inline policy that is attached to the permission set.

For Length Constraints, if a valid ARN is provided for a permission set, it is possible for an empty inline policy to be returned.

* @public */ InlinePolicy?: string | undefined; } /** * @public */ export interface GetPermissionsBoundaryForPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet.

* @public */ PermissionSetArn: string | undefined; } /** *

Specifies the configuration of the Amazon Web Services managed or customer managed policy that you want to set as a permissions boundary. Specify either CustomerManagedPolicyReference to use the name and path of a customer managed policy, or ManagedPolicyArn to use the ARN of an Amazon Web Services managed policy. A permissions boundary represents the maximum permissions that any policy can grant your role. For more information, see Permissions boundaries for IAM entities in the IAM User Guide.

Policies used as permissions boundaries don't provide permissions. You must also attach an IAM policy to the role. To learn how the effective permissions for a role are evaluated, see IAM JSON policy evaluation logic in the IAM User Guide.

* @public */ export interface PermissionsBoundary { /** *

Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set.

* @public */ CustomerManagedPolicyReference?: CustomerManagedPolicyReference | undefined; /** *

The Amazon Web Services managed policy ARN that you want to attach to a permission set as a permissions boundary.

* @public */ ManagedPolicyArn?: string | undefined; } /** * @public */ export interface GetPermissionsBoundaryForPermissionSetResponse { /** *

The permissions boundary attached to the specified permission set.

* @public */ PermissionsBoundary?: PermissionsBoundary | undefined; } /** *

Provides information about the IAM Identity Center instance.

* @public */ export interface InstanceMetadata { /** *

The ARN of the Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn?: string | undefined; /** *

The identifier of the identity store that is connected to the Identity Center instance.

* @public */ IdentityStoreId?: string | undefined; /** *

The Amazon Web Services account ID number of the owner of the Identity Center instance.

* @public */ OwnerAccountId?: string | undefined; /** *

The name of the Identity Center instance.

* @public */ Name?: string | undefined; /** *

The date and time that the Identity Center instance was created.

* @public */ CreatedDate?: Date | undefined; /** *

The current status of this Identity Center instance.

* @public */ Status?: InstanceStatus | undefined; /** *

Provides additional context about the current status of the IAM Identity Center instance. This field is particularly useful when an instance is in a non-ACTIVE state, such as CREATE_FAILED. When an instance creation fails, this field contains information about the cause, which may include issues with KMS key configuration or insufficient permissions.

* @public */ StatusReason?: string | undefined; } /** *

Filters the operation status list based on the passed attribute value.

* @public */ export interface OperationStatusFilter { /** *

Filters the list operations result based on the status attribute.

* @public */ Status?: StatusValues | undefined; } /** * @public */ export interface ListAccountAssignmentCreationStatusRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The maximum number of results to display for the assignment.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; /** *

Filters results based on the passed attribute value.

* @public */ Filter?: OperationStatusFilter | undefined; } /** * @public */ export interface ListAccountAssignmentCreationStatusResponse { /** *

The status object for the account assignment creation operation.

* @public */ AccountAssignmentsCreationStatus?: AccountAssignmentOperationStatusMetadata[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListAccountAssignmentDeletionStatusRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The maximum number of results to display for the assignment.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; /** *

Filters results based on the passed attribute value.

* @public */ Filter?: OperationStatusFilter | undefined; } /** * @public */ export interface ListAccountAssignmentDeletionStatusResponse { /** *

The status object for the account assignment deletion operation.

* @public */ AccountAssignmentsDeletionStatus?: AccountAssignmentOperationStatusMetadata[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListAccountAssignmentsRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The identifier of the Amazon Web Services account from which to list the assignments.

* @public */ AccountId: string | undefined; /** *

The ARN of the permission set from which to list assignments.

* @public */ PermissionSetArn: string | undefined; /** *

The maximum number of results to display for the assignment.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListAccountAssignmentsResponse { /** *

The list of assignments that match the input Amazon Web Services account and permission set.

* @public */ AccountAssignments?: AccountAssignment[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** *

A structure that describes a filter for account assignments.

* @public */ export interface ListAccountAssignmentsFilter { /** *

The ID number of an Amazon Web Services account that filters the results in the response.

* @public */ AccountId?: string | undefined; } /** * @public */ export interface ListAccountAssignmentsForPrincipalRequest { /** *

Specifies the ARN of the instance of IAM Identity Center that contains the principal.

* @public */ InstanceArn: string | undefined; /** *

Specifies the principal for which you want to retrieve the list of account assignments.

* @public */ PrincipalId: string | undefined; /** *

Specifies the type of the principal.

* @public */ PrincipalType: PrincipalType | undefined; /** *

Specifies an Amazon Web Services account ID number. Results are filtered to only those that match this ID number.

* @public */ Filter?: ListAccountAssignmentsFilter | undefined; /** *

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

* @public */ NextToken?: string | undefined; /** *

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

* @public */ MaxResults?: number | undefined; } /** * @public */ export interface ListAccountAssignmentsForPrincipalResponse { /** *

An array list of the account assignments for the principal.

* @public */ AccountAssignments?: AccountAssignmentForPrincipal[] | undefined; /** *

If present, this value indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null. This indicates that this is the last page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListAccountsForProvisionedPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet from which the associated Amazon Web Services accounts will be listed.

* @public */ PermissionSetArn: string | undefined; /** *

The permission set provisioning status for an Amazon Web Services account.

* @public */ ProvisioningStatus?: ProvisioningStatus | undefined; /** *

The maximum number of results to display for the PermissionSet.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListAccountsForProvisionedPermissionSetResponse { /** *

The list of Amazon Web Services AccountIds.

* @public */ AccountIds?: string[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListApplicationAssignmentsRequest { /** *

Specifies the ARN of the application.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

* @public */ MaxResults?: number | undefined; /** *

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListApplicationAssignmentsResponse { /** *

The list of users assigned to an application.

* @public */ ApplicationAssignments?: ApplicationAssignment[] | undefined; /** *

If present, this value indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null. This indicates that this is the last page of results.

* @public */ NextToken?: string | undefined; } /** *

A structure that describes a filter for application assignments.

* @public */ export interface ListApplicationAssignmentsFilter { /** *

The ARN of an application.

* @public */ ApplicationArn?: string | undefined; } /** * @public */ export interface ListApplicationAssignmentsForPrincipalRequest { /** *

Specifies the instance of IAM Identity Center that contains principal and applications.

* @public */ InstanceArn: string | undefined; /** *

Specifies the unique identifier of the principal for which you want to retrieve its assignments.

* @public */ PrincipalId: string | undefined; /** *

Specifies the type of the principal for which you want to retrieve its assignments.

* @public */ PrincipalType: PrincipalType | undefined; /** *

Filters the output to include only assignments associated with the application that has the specified ARN.

* @public */ Filter?: ListApplicationAssignmentsFilter | undefined; /** *

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

* @public */ NextToken?: string | undefined; /** *

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

* @public */ MaxResults?: number | undefined; } /** * @public */ export interface ListApplicationAssignmentsForPrincipalResponse { /** *

An array list of the application assignments for the specified principal.

* @public */ ApplicationAssignments?: ApplicationAssignmentForPrincipal[] | undefined; /** *

If present, this value indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null. This indicates that this is the last page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListApplicationProvidersRequest { /** *

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

* @public */ MaxResults?: number | undefined; /** *

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListApplicationProvidersResponse { /** *

An array list of structures that describe application providers.

* @public */ ApplicationProviders?: ApplicationProvider[] | undefined; /** *

If present, this value indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null. This indicates that this is the last page of results.

* @public */ NextToken?: string | undefined; } /** *

A structure that describes a filter for applications.

* @public */ export interface ListApplicationsFilter { /** *

An Amazon Web Services account ID number that filters the results in the response.

* @public */ ApplicationAccount?: string | undefined; /** *

The ARN of an application provider that can filter the results in the response.

* @public */ ApplicationProvider?: string | undefined; } /** * @public */ export interface ListApplicationsRequest { /** *

The ARN of the IAM Identity Center application under which the operation will run. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

* @public */ MaxResults?: number | undefined; /** *

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

* @public */ NextToken?: string | undefined; /** *

Filters response results.

* @public */ Filter?: ListApplicationsFilter | undefined; } /** * @public */ export interface ListApplicationsResponse { /** *

Retrieves all applications associated with the instance.

* @public */ Applications?: Application[] | undefined; /** *

If present, this value indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null. This indicates that this is the last page of results.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListCustomerManagedPolicyReferencesInPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet.

* @public */ PermissionSetArn: string | undefined; /** *

The maximum number of results to display for the list call.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListCustomerManagedPolicyReferencesInPermissionSetResponse { /** *

Specifies the names and paths of the customer managed policies that you have attached to your permission set.

* @public */ CustomerManagedPolicyReferences?: CustomerManagedPolicyReference[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListInstancesRequest { /** *

The maximum number of results to display for the instance.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListInstancesResponse { /** *

Lists the IAM Identity Center instances that the caller has access to.

* @public */ Instances?: InstanceMetadata[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListManagedPoliciesInPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet whose managed policies will be listed.

* @public */ PermissionSetArn: string | undefined; /** *

The maximum number of results to display for the PermissionSet.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListManagedPoliciesInPermissionSetResponse { /** *

An array of the AttachedManagedPolicy data type object.

* @public */ AttachedManagedPolicies?: AttachedManagedPolicy[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListPermissionSetProvisioningStatusRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The maximum number of results to display for the assignment.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; /** *

Filters results based on the passed attribute value.

* @public */ Filter?: OperationStatusFilter | undefined; } /** *

Provides information about the permission set provisioning status.

* @public */ export interface PermissionSetProvisioningStatusMetadata { /** *

The status of the permission set provisioning process.

* @public */ Status?: StatusValues | undefined; /** *

The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

* @public */ RequestId?: string | undefined; /** *

The date that the permission set was created.

* @public */ CreatedDate?: Date | undefined; } /** * @public */ export interface ListPermissionSetProvisioningStatusResponse { /** *

The status object for the permission set provisioning operation.

* @public */ PermissionSetsProvisioningStatus?: PermissionSetProvisioningStatusMetadata[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListPermissionSetsRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; /** *

The maximum number of results to display for the assignment.

* @public */ MaxResults?: number | undefined; } /** * @public */ export interface ListPermissionSetsResponse { /** *

Defines the level of access on an Amazon Web Services account.

* @public */ PermissionSets?: string[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListPermissionSetsProvisionedToAccountRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The identifier of the Amazon Web Services account from which to list the assignments.

* @public */ AccountId: string | undefined; /** *

The status object for the permission set provisioning operation.

* @public */ ProvisioningStatus?: ProvisioningStatus | undefined; /** *

The maximum number of results to display for the assignment.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListPermissionSetsProvisionedToAccountResponse { /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; /** *

Defines the level of access that an Amazon Web Services account has.

* @public */ PermissionSets?: string[] | undefined; } /** * @public */ export interface ListRegionsRequest { /** *

The Amazon Resource Name (ARN) of the IAM Identity Center instance.

* @public */ InstanceArn: string | undefined; /** *

The maximum number of results to return in a single call. Default is 100.

* @public */ MaxResults?: number | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** *

Contains information about an enabled Region of an IAM Identity Center instance, including the Region name, status, date added, and whether it is the primary Region.

* @public */ export interface RegionMetadata { /** *

The Amazon Web Services Region name.

* @public */ RegionName?: string | undefined; /** *

The current status of the Region. Valid values are ACTIVE (Region is operational), ADDING (Region extension workflow is in progress), or REMOVING (Region removal workflow is in progress).

* @public */ Status?: RegionStatus | undefined; /** *

The timestamp when the Region was added to the IAM Identity Center instance. For the primary Region, this is the instance creation time.

* @public */ AddedDate?: Date | undefined; /** *

Indicates whether this is the primary Region where the IAM Identity Center instance was originally enabled. The primary Region cannot be removed.

* @public */ IsPrimaryRegion?: boolean | undefined; } /** * @public */ export interface ListRegionsResponse { /** *

The list of Regions enabled in the IAM Identity Center instance, including Regions with ACTIVE, ADDING, or REMOVING status.

* @public */ Regions?: RegionMetadata[] | undefined; /** *

The pagination token to be used in subsequent calls. If the value is null, then there are no more entries.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListTagsForResourceRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn?: string | undefined; /** *

The ARN of the resource with the tags to be listed.

* @public */ ResourceArn: string | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListTagsForResourceResponse { /** *

A set of key-value pairs that are used to manage the resource.

* @public */ Tags?: Tag[] | undefined; /** *

The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

* @public */ NextToken?: string | undefined; } /** * @public */ export interface ListTrustedTokenIssuersRequest { /** *

Specifies the ARN of the instance of IAM Identity Center with the trusted token issuer configurations that you want to list.

* @public */ InstanceArn: string | undefined; /** *

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

* @public */ MaxResults?: number | undefined; /** *

Specifies that you want to receive the next page of results. Valid only if you received a NextToken response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call's NextToken response to request the next page of results.

* @public */ NextToken?: string | undefined; } /** *

A structure that describes a trusted token issuer.

* @public */ export interface TrustedTokenIssuerMetadata { /** *

The ARN of the trusted token issuer configuration in the instance of IAM Identity Center.

* @public */ TrustedTokenIssuerArn?: string | undefined; /** *

The name of the trusted token issuer configuration in the instance of IAM Identity Center.

* @public */ Name?: string | undefined; /** *

The type of trusted token issuer.

* @public */ TrustedTokenIssuerType?: TrustedTokenIssuerType | undefined; } /** * @public */ export interface ListTrustedTokenIssuersResponse { /** *

An array list of the trusted token issuer configurations.

* @public */ TrustedTokenIssuers?: TrustedTokenIssuerMetadata[] | undefined; /** *

If present, this value indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null. This indicates that this is the last page of results.

* @public */ NextToken?: string | undefined; } /** *

A structure that describes updated configuration settings for a trusted token issuer that supports OpenID Connect (OIDC) and JSON Web Tokens (JWTs).

* @public */ export interface OidcJwtUpdateConfiguration { /** *

The path of the source attribute in the JWT from the trusted token issuer. The attribute mapped by this JMESPath expression is compared against the attribute mapped by IdentityStoreAttributePath when a trusted token issuer token is exchanged for an IAM Identity Center token.

* @public */ ClaimAttributePath?: string | undefined; /** *

The path of the destination attribute in a JWT from IAM Identity Center. The attribute mapped by this JMESPath expression is compared against the attribute mapped by ClaimAttributePath when a trusted token issuer token is exchanged for an IAM Identity Center token.

* @public */ IdentityStoreAttributePath?: string | undefined; /** *

The method that the trusted token issuer can use to retrieve the JSON Web Key Set used to verify a JWT.

* @public */ JwksRetrievalOption?: JwksRetrievalOption | undefined; } /** * @public */ export interface ProvisionPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the permission set.

* @public */ PermissionSetArn: string | undefined; /** *

TargetID is an Amazon Web Services account identifier, (For example, 123456789012).

* @public */ TargetId?: string | undefined; /** *

The entity type for which the assignment will be created.

* @public */ TargetType: ProvisionTargetType | undefined; } /** * @public */ export interface ProvisionPermissionSetResponse { /** *

The status object for the permission set provisioning operation.

* @public */ PermissionSetProvisioningStatus?: PermissionSetProvisioningStatus | undefined; } /** * @public */ export interface PutApplicationAssignmentConfigurationRequest { /** *

Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ ApplicationArn: string | undefined; /** *

If AssignmentsRequired is true (default value), users don’t have access to the application unless an assignment is created using the CreateApplicationAssignment API. If false, all users have access to the application.

* @public */ AssignmentRequired: boolean | undefined; } /** * @public */ export interface PutApplicationAssignmentConfigurationResponse { } /** * @public */ export interface PutApplicationSessionConfigurationRequest { /** *

The Amazon Resource Name (ARN) of the application for which to update the session configuration.

* @public */ ApplicationArn: string | undefined; /** *

The status of user background sessions for the application.

* @public */ UserBackgroundSessionApplicationStatus?: UserBackgroundSessionApplicationStatus | undefined; } /** * @public */ export interface PutApplicationSessionConfigurationResponse { } /** * @public */ export interface PutInlinePolicyToPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the permission set.

* @public */ PermissionSetArn: string | undefined; /** *

The inline policy to attach to a PermissionSet.

* @public */ InlinePolicy: string | undefined; } /** * @public */ export interface PutInlinePolicyToPermissionSetResponse { } /** * @public */ export interface PutPermissionsBoundaryToPermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the PermissionSet.

* @public */ PermissionSetArn: string | undefined; /** *

The permissions boundary that you want to attach to a PermissionSet.

* @public */ PermissionsBoundary: PermissionsBoundary | undefined; } /** * @public */ export interface PutPermissionsBoundaryToPermissionSetResponse { } /** * @public */ export interface RemoveRegionRequest { /** *

The Amazon Resource Name (ARN) of the IAM Identity Center instance.

* @public */ InstanceArn: string | undefined; /** *

The name of the Amazon Web Services Region to remove from the IAM Identity Center instance. The Region name must be 1-32 characters long and follow the pattern of Amazon Web Services Region names (for example, us-east-1). The primary Region cannot be removed.

* @public */ RegionName: string | undefined; } /** * @public */ export interface RemoveRegionResponse { /** *

The status of the Region after the remove operation. The status is REMOVING when the asynchronous workflow is in progress. The Region record is deleted when the workflow completes.

* @public */ Status?: RegionStatus | undefined; } /** * @public */ export interface TagResourceRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn?: string | undefined; /** *

The ARN of the resource with the tags to be listed.

* @public */ ResourceArn: string | undefined; /** *

A set of key-value pairs that are used to manage the resource.

* @public */ Tags: Tag[] | undefined; } /** * @public */ export interface TagResourceResponse { } /** * @public */ export interface UntagResourceRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn?: string | undefined; /** *

The ARN of the resource with the tags to be listed.

* @public */ ResourceArn: string | undefined; /** *

The keys of tags that are attached to the resource.

* @public */ TagKeys: string[] | undefined; } /** * @public */ export interface UntagResourceResponse { } /** *

A structure that describes the options for the access portal associated with an application that can be updated.

* @public */ export interface UpdateApplicationPortalOptions { /** *

A structure that describes the sign-in options for an application portal.

* @public */ SignInOptions?: SignInOptions | undefined; } /** * @public */ export interface UpdateApplicationRequest { /** *

Specifies the ARN of the application. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ ApplicationArn: string | undefined; /** *

Specifies the updated name for the application.

* @public */ Name?: string | undefined; /** *

The description of the .

* @public */ Description?: string | undefined; /** *

Specifies whether the application is enabled or disabled.

* @public */ Status?: ApplicationStatus | undefined; /** *

A structure that describes the options for the portal associated with an application.

* @public */ PortalOptions?: UpdateApplicationPortalOptions | undefined; } /** * @public */ export interface UpdateApplicationResponse { } /** * @public */ export interface UpdateInstanceRequest { /** *

Updates the instance name.

* @public */ Name?: string | undefined; /** *

The ARN of the instance of IAM Identity Center under which the operation will run. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

Specifies the encryption configuration for your IAM Identity Center instance. You can use this to configure customer managed KMS keys or Amazon Web Services owned KMS keys for encrypting your instance data.

* @public */ EncryptionConfiguration?: EncryptionConfiguration | undefined; } /** * @public */ export interface UpdateInstanceResponse { } /** * @public */ export interface UpdateInstanceAccessControlAttributeConfigurationRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed.

* @public */ InstanceArn: string | undefined; /** *

Updates the attributes for your ABAC configuration.

* @public */ InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration | undefined; } /** * @public */ export interface UpdateInstanceAccessControlAttributeConfigurationResponse { } /** * @public */ export interface UpdatePermissionSetRequest { /** *

The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

* @public */ InstanceArn: string | undefined; /** *

The ARN of the permission set.

* @public */ PermissionSetArn: string | undefined; /** *

The description of the PermissionSet.

* @public */ Description?: string | undefined; /** *

The length of time that the application user sessions are valid for in the ISO-8601 standard.

* @public */ SessionDuration?: string | undefined; /** *

Used to redirect users within the application during the federation authentication process.

* @public */ RelayState?: string | undefined; } /** * @public */ export interface UpdatePermissionSetResponse { } /** *

A structure that contains details to be updated for a trusted token issuer configuration. The structure and settings that you can include depend on the type of the trusted token issuer being updated.

* @public */ export type TrustedTokenIssuerUpdateConfiguration = TrustedTokenIssuerUpdateConfiguration.OidcJwtConfigurationMember | TrustedTokenIssuerUpdateConfiguration.$UnknownMember; /** * @public */ export declare namespace TrustedTokenIssuerUpdateConfiguration { /** *

A structure that describes an updated configuration for a trusted token issuer that uses OpenID Connect (OIDC) with JSON web tokens (JWT).

* @public */ interface OidcJwtConfigurationMember { OidcJwtConfiguration: OidcJwtUpdateConfiguration; $unknown?: never; } /** * @public */ interface $UnknownMember { OidcJwtConfiguration?: never; $unknown: [string, any]; } /** * @deprecated unused in schema-serde mode. * */ interface Visitor { OidcJwtConfiguration: (value: OidcJwtUpdateConfiguration) => T; _: (name: string, value: any) => T; } } /** * @public */ export interface UpdateTrustedTokenIssuerRequest { /** *

Specifies the ARN of the trusted token issuer configuration that you want to update.

* @public */ TrustedTokenIssuerArn: string | undefined; /** *

Specifies the updated name to be applied to the trusted token issuer configuration.

* @public */ Name?: string | undefined; /** *

Specifies a structure with settings to apply to the specified trusted token issuer. The settings that you can provide are determined by the type of the trusted token issuer that you are updating.

* @public */ TrustedTokenIssuerConfiguration?: TrustedTokenIssuerUpdateConfiguration | undefined; } /** * @public */ export interface UpdateTrustedTokenIssuerResponse { }