import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AttachManagedPolicyToPermissionSetCommand , AttachManagedPolicyToPermissionSetCommandInput , AttachManagedPolicyToPermissionSetCommandOutput , } from "./commands/AttachManagedPolicyToPermissionSetCommand" ; import { CreateAccountAssignmentCommand , CreateAccountAssignmentCommandInput , CreateAccountAssignmentCommandOutput , } from "./commands/CreateAccountAssignmentCommand" ; import { CreateInstanceAccessControlAttributeConfigurationCommand , CreateInstanceAccessControlAttributeConfigurationCommandInput , CreateInstanceAccessControlAttributeConfigurationCommandOutput , } from "./commands/CreateInstanceAccessControlAttributeConfigurationCommand" ; import { CreatePermissionSetCommand , CreatePermissionSetCommandInput , CreatePermissionSetCommandOutput , } from "./commands/CreatePermissionSetCommand" ; import { DeleteAccountAssignmentCommand , DeleteAccountAssignmentCommandInput , DeleteAccountAssignmentCommandOutput , } from "./commands/DeleteAccountAssignmentCommand" ; import { DeleteInlinePolicyFromPermissionSetCommand , DeleteInlinePolicyFromPermissionSetCommandInput , DeleteInlinePolicyFromPermissionSetCommandOutput , } from "./commands/DeleteInlinePolicyFromPermissionSetCommand" ; import { DeleteInstanceAccessControlAttributeConfigurationCommand , DeleteInstanceAccessControlAttributeConfigurationCommandInput , DeleteInstanceAccessControlAttributeConfigurationCommandOutput , } from "./commands/DeleteInstanceAccessControlAttributeConfigurationCommand" ; import { DeletePermissionSetCommand , DeletePermissionSetCommandInput , DeletePermissionSetCommandOutput , } from "./commands/DeletePermissionSetCommand" ; import { DescribeAccountAssignmentCreationStatusCommand , DescribeAccountAssignmentCreationStatusCommandInput , DescribeAccountAssignmentCreationStatusCommandOutput , } from "./commands/DescribeAccountAssignmentCreationStatusCommand" ; import { DescribeAccountAssignmentDeletionStatusCommand , DescribeAccountAssignmentDeletionStatusCommandInput , DescribeAccountAssignmentDeletionStatusCommandOutput , } from "./commands/DescribeAccountAssignmentDeletionStatusCommand" ; import { DescribeInstanceAccessControlAttributeConfigurationCommand , DescribeInstanceAccessControlAttributeConfigurationCommandInput , DescribeInstanceAccessControlAttributeConfigurationCommandOutput , } from "./commands/DescribeInstanceAccessControlAttributeConfigurationCommand" ; import { DescribePermissionSetCommand , DescribePermissionSetCommandInput , DescribePermissionSetCommandOutput , } from "./commands/DescribePermissionSetCommand" ; import { DescribePermissionSetProvisioningStatusCommand , DescribePermissionSetProvisioningStatusCommandInput , DescribePermissionSetProvisioningStatusCommandOutput , } from "./commands/DescribePermissionSetProvisioningStatusCommand" ; import { DetachManagedPolicyFromPermissionSetCommand , DetachManagedPolicyFromPermissionSetCommandInput , DetachManagedPolicyFromPermissionSetCommandOutput , } from "./commands/DetachManagedPolicyFromPermissionSetCommand" ; import { GetInlinePolicyForPermissionSetCommand , GetInlinePolicyForPermissionSetCommandInput , GetInlinePolicyForPermissionSetCommandOutput , } from "./commands/GetInlinePolicyForPermissionSetCommand" ; import { ListAccountAssignmentCreationStatusCommand , ListAccountAssignmentCreationStatusCommandInput , ListAccountAssignmentCreationStatusCommandOutput , } from "./commands/ListAccountAssignmentCreationStatusCommand" ; import { ListAccountAssignmentDeletionStatusCommand , ListAccountAssignmentDeletionStatusCommandInput , ListAccountAssignmentDeletionStatusCommandOutput , } from "./commands/ListAccountAssignmentDeletionStatusCommand" ; import { ListAccountAssignmentsCommand , ListAccountAssignmentsCommandInput , ListAccountAssignmentsCommandOutput , } from "./commands/ListAccountAssignmentsCommand" ; import { ListAccountsForProvisionedPermissionSetCommand , ListAccountsForProvisionedPermissionSetCommandInput , ListAccountsForProvisionedPermissionSetCommandOutput , } from "./commands/ListAccountsForProvisionedPermissionSetCommand" ; import { ListInstancesCommand , ListInstancesCommandInput , ListInstancesCommandOutput , } from "./commands/ListInstancesCommand" ; import { ListManagedPoliciesInPermissionSetCommand , ListManagedPoliciesInPermissionSetCommandInput , ListManagedPoliciesInPermissionSetCommandOutput , } from "./commands/ListManagedPoliciesInPermissionSetCommand" ; import { ListPermissionSetProvisioningStatusCommand , ListPermissionSetProvisioningStatusCommandInput , ListPermissionSetProvisioningStatusCommandOutput , } from "./commands/ListPermissionSetProvisioningStatusCommand" ; import { ListPermissionSetsCommand , ListPermissionSetsCommandInput , ListPermissionSetsCommandOutput , } from "./commands/ListPermissionSetsCommand" ; import { ListPermissionSetsProvisionedToAccountCommand , ListPermissionSetsProvisionedToAccountCommandInput , ListPermissionSetsProvisionedToAccountCommandOutput , } from "./commands/ListPermissionSetsProvisionedToAccountCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { ProvisionPermissionSetCommand , ProvisionPermissionSetCommandInput , ProvisionPermissionSetCommandOutput , } from "./commands/ProvisionPermissionSetCommand" ; import { PutInlinePolicyToPermissionSetCommand , PutInlinePolicyToPermissionSetCommandInput , PutInlinePolicyToPermissionSetCommandOutput , } from "./commands/PutInlinePolicyToPermissionSetCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateInstanceAccessControlAttributeConfigurationCommand , UpdateInstanceAccessControlAttributeConfigurationCommandInput , UpdateInstanceAccessControlAttributeConfigurationCommandOutput , } from "./commands/UpdateInstanceAccessControlAttributeConfigurationCommand" ; import { UpdatePermissionSetCommand , UpdatePermissionSetCommandInput , UpdatePermissionSetCommandOutput , } from "./commands/UpdatePermissionSetCommand" ; import { SSOAdminClient } from "./SSOAdminClient" ; /**
 * <p>Amazon Web Services Single Sign On (SSO) is a cloud SSO service that makes it easy to centrally manage SSO
 *       access to multiple Amazon Web Services accounts and business applications. This guide provides information on
 *       SSO operations which could be used for access management of Amazon Web Services accounts. For information about
 *       Amazon Web Services SSO features, see the <a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html">Amazon Web Services Single Sign-On User Guide</a>.</p>
 *          <p>Many operations in the SSO APIs rely on identifiers for users and groups, known as
 *       principals. For more information about how to work with principals and principal IDs in Amazon Web Services SSO,
 *       see the <a href="https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web Services SSO Identity Store API
 *         Reference</a>.</p>
 */ export class SSOAdmin extends SSOAdminClient { /**
     * <p>Attaches an IAM managed policy ARN to a permission set.</p>
     *          <note>
     *             <p>If the permission set is already referenced by one or more account assignments, you will
     *         need to call <code>
     *                   <a>ProvisionPermissionSet</a>
     *                </code> after this operation.
     *         Calling <code>ProvisionPermissionSet</code> applies the corresponding IAM policy updates to
     *         all assigned accounts.</p>
     *          </note>
     */ public attachManagedPolicyToPermissionSet ( args , options ? ) ; public attachManagedPolicyToPermissionSet ( args , cb ) ; public attachManagedPolicyToPermissionSet ( args , options , cb ) ; public attachManagedPolicyToPermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new AttachManagedPolicyToPermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Assigns access to a principal for a specified Amazon Web Services account using a specified permission
     *       set.</p>
     *          <note>
     *             <p>The term <i>principal</i> here refers to a user or group that is defined
     *         in Amazon Web Services SSO.</p>
     *          </note>
     *          <note>
     *             <p>As part of a successful <code>CreateAccountAssignment</code> call, the specified
     *         permission set will automatically be provisioned to the account in the form of an IAM
     *         policy. That policy is attached to the SSO-created IAM role. If the permission set is
     *         subsequently updated, the corresponding IAM policies attached to roles in your accounts will
     *         not be updated automatically. In this case, you must call <code>
     *                   <a>ProvisionPermissionSet</a>
     *                </code> to make these updates.</p>
     *          </note>
     */ public createAccountAssignment ( args , options ? ) ; public createAccountAssignment ( args , cb ) ; public createAccountAssignment ( args , options , cb ) ; public createAccountAssignment ( args , optionsOrCb ? , cb ? ) { const command = new CreateAccountAssignmentCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Enables the attributes-based access control (ABAC) feature for the specified Amazon Web Services SSO
     *       instance. You can also specify new attributes to add to your ABAC configuration during the
     *       enabling process. For more information about ABAC, see <a href="/singlesignon/latest/userguide/abac.html">Attribute-Based Access Control</a> in the <i>Amazon Web Services SSO User Guide</i>.</p>
     */ public createInstanceAccessControlAttributeConfiguration ( args , options ? ) ; public createInstanceAccessControlAttributeConfiguration ( args , cb ) ; public createInstanceAccessControlAttributeConfiguration ( args , options , cb ) ; public createInstanceAccessControlAttributeConfiguration ( args , optionsOrCb ? , cb ? ) { const command = new CreateInstanceAccessControlAttributeConfigurationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a permission set within a specified SSO instance.</p>
     *          <note>
     *             <p>To grant users and groups access to Amazon Web Services account resources, use <code>
     *                   <a>CreateAccountAssignment</a>
     *                </code>.</p>
     *          </note>
     */ public createPermissionSet ( args , options ? ) ; public createPermissionSet ( args , cb ) ; public createPermissionSet ( args , options , cb ) ; public createPermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new CreatePermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a principal's access from a specified Amazon Web Services account using a specified permission
     *       set.</p>
     */ public deleteAccountAssignment ( args , options ? ) ; public deleteAccountAssignment ( args , cb ) ; public deleteAccountAssignment ( args , options , cb ) ; public deleteAccountAssignment ( args , optionsOrCb ? , cb ? ) { const command = new DeleteAccountAssignmentCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes the inline policy from a specified permission set.</p>
     */ public deleteInlinePolicyFromPermissionSet ( args , options ? ) ; public deleteInlinePolicyFromPermissionSet ( args , cb ) ; public deleteInlinePolicyFromPermissionSet ( args , options , cb ) ; public deleteInlinePolicyFromPermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new DeleteInlinePolicyFromPermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Disables the attributes-based access control (ABAC) feature for the specified Amazon Web Services SSO
     *       instance and deletes all of the attribute mappings that have been configured. Once deleted,
     *       any attributes that are received from an identity source and any custom attributes you have
     *       previously configured will not be passed. For more information about ABAC, see <a href="/singlesignon/latest/userguide/abac.html">Attribute-Based Access Control</a> in the <i>Amazon Web Services SSO User Guide</i>.</p>
     */ public deleteInstanceAccessControlAttributeConfiguration ( args , options ? ) ; public deleteInstanceAccessControlAttributeConfiguration ( args , cb ) ; public deleteInstanceAccessControlAttributeConfiguration ( args , options , cb ) ; public deleteInstanceAccessControlAttributeConfiguration ( args , optionsOrCb ? , cb ? ) { const command = new DeleteInstanceAccessControlAttributeConfigurationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes the specified permission set.</p>
     */ public deletePermissionSet ( args , options ? ) ; public deletePermissionSet ( args , cb ) ; public deletePermissionSet ( args , options , cb ) ; public deletePermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new DeletePermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Describes the status of the assignment creation request.</p>
     */ public describeAccountAssignmentCreationStatus ( args , options ? ) ; public describeAccountAssignmentCreationStatus ( args , cb ) ; public describeAccountAssignmentCreationStatus ( args , options , cb ) ; public describeAccountAssignmentCreationStatus ( args , optionsOrCb ? , cb ? ) { const command = new DescribeAccountAssignmentCreationStatusCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Describes the status of the assignment deletion request.</p>
     */ public describeAccountAssignmentDeletionStatus ( args , options ? ) ; public describeAccountAssignmentDeletionStatus ( args , cb ) ; public describeAccountAssignmentDeletionStatus ( args , options , cb ) ; public describeAccountAssignmentDeletionStatus ( args , optionsOrCb ? , cb ? ) { const command = new DescribeAccountAssignmentDeletionStatusCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the list of Amazon Web Services SSO identity store attributes that have been configured to
     *       work with attributes-based access control (ABAC) for the specified Amazon Web Services SSO instance. This
     *       will not return attributes configured and sent by an external identity provider.
     *       For more information about ABAC, see <a href="/singlesignon/latest/userguide/abac.html">Attribute-Based Access Control</a> in the <i>Amazon Web Services SSO User Guide</i>.</p>
     */ public describeInstanceAccessControlAttributeConfiguration ( args , options ? ) ; public describeInstanceAccessControlAttributeConfiguration ( args , cb ) ; public describeInstanceAccessControlAttributeConfiguration ( args , options , cb ) ; public describeInstanceAccessControlAttributeConfiguration ( args , optionsOrCb ? , cb ? ) { const command = new DescribeInstanceAccessControlAttributeConfigurationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets the details of the permission set.</p>
     */ public describePermissionSet ( args , options ? ) ; public describePermissionSet ( args , cb ) ; public describePermissionSet ( args , options , cb ) ; public describePermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new DescribePermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Describes the status for the given permission set provisioning request.</p>
     */ public describePermissionSetProvisioningStatus ( args , options ? ) ; public describePermissionSetProvisioningStatus ( args , cb ) ; public describePermissionSetProvisioningStatus ( args , options , cb ) ; public describePermissionSetProvisioningStatus ( args , optionsOrCb ? , cb ? ) { const command = new DescribePermissionSetProvisioningStatusCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Detaches the attached IAM managed policy ARN from the specified permission set.</p>
     */ public detachManagedPolicyFromPermissionSet ( args , options ? ) ; public detachManagedPolicyFromPermissionSet ( args , cb ) ; public detachManagedPolicyFromPermissionSet ( args , options , cb ) ; public detachManagedPolicyFromPermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new DetachManagedPolicyFromPermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Obtains the inline policy assigned to the permission set.</p>
     */ public getInlinePolicyForPermissionSet ( args , options ? ) ; public getInlinePolicyForPermissionSet ( args , cb ) ; public getInlinePolicyForPermissionSet ( args , options , cb ) ; public getInlinePolicyForPermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new GetInlinePolicyForPermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the status of the Amazon Web Services account assignment creation requests for a specified SSO
     *       instance.</p>
     */ public listAccountAssignmentCreationStatus ( args , options ? ) ; public listAccountAssignmentCreationStatus ( args , cb ) ; public listAccountAssignmentCreationStatus ( args , options , cb ) ; public listAccountAssignmentCreationStatus ( args , optionsOrCb ? , cb ? ) { const command = new ListAccountAssignmentCreationStatusCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the status of the Amazon Web Services account assignment deletion requests for a specified SSO
     *       instance.</p>
     */ public listAccountAssignmentDeletionStatus ( args , options ? ) ; public listAccountAssignmentDeletionStatus ( args , cb ) ; public listAccountAssignmentDeletionStatus ( args , options , cb ) ; public listAccountAssignmentDeletionStatus ( args , optionsOrCb ? , cb ? ) { const command = new ListAccountAssignmentDeletionStatusCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the assignee of the specified Amazon Web Services account with the specified permission
     *       set.</p>
     */ public listAccountAssignments ( args , options ? ) ; public listAccountAssignments ( args , cb ) ; public listAccountAssignments ( args , options , cb ) ; public listAccountAssignments ( args , optionsOrCb ? , cb ? ) { const command = new ListAccountAssignmentsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all the Amazon Web Services accounts where the specified permission set is provisioned.</p>
     */ public listAccountsForProvisionedPermissionSet ( args , options ? ) ; public listAccountsForProvisionedPermissionSet ( args , cb ) ; public listAccountsForProvisionedPermissionSet ( args , options , cb ) ; public listAccountsForProvisionedPermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new ListAccountsForProvisionedPermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the SSO instances that the caller has access to.</p>
     */ public listInstances ( args , options ? ) ; public listInstances ( args , cb ) ; public listInstances ( args , options , cb ) ; public listInstances ( args , optionsOrCb ? , cb ? ) { const command = new ListInstancesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the IAM managed policy that is attached to a specified permission set.</p>
     */ public listManagedPoliciesInPermissionSet ( args , options ? ) ; public listManagedPoliciesInPermissionSet ( args , cb ) ; public listManagedPoliciesInPermissionSet ( args , options , cb ) ; public listManagedPoliciesInPermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new ListManagedPoliciesInPermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the status of the permission set provisioning requests for a specified SSO
     *       instance.</p>
     */ public listPermissionSetProvisioningStatus ( args , options ? ) ; public listPermissionSetProvisioningStatus ( args , cb ) ; public listPermissionSetProvisioningStatus ( args , options , cb ) ; public listPermissionSetProvisioningStatus ( args , optionsOrCb ? , cb ? ) { const command = new ListPermissionSetProvisioningStatusCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the <a>PermissionSet</a>s in an SSO instance.</p>
     */ public listPermissionSets ( args , options ? ) ; public listPermissionSets ( args , cb ) ; public listPermissionSets ( args , options , cb ) ; public listPermissionSets ( args , optionsOrCb ? , cb ? ) { const command = new ListPermissionSetsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all the permission sets that are provisioned to a specified Amazon Web Services account.</p>
     */ public listPermissionSetsProvisionedToAccount ( args , options ? ) ; public listPermissionSetsProvisionedToAccount ( args , cb ) ; public listPermissionSetsProvisionedToAccount ( args , options , cb ) ; public listPermissionSetsProvisionedToAccount ( args , optionsOrCb ? , cb ? ) { const command = new ListPermissionSetsProvisionedToAccountCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the tags that are attached to a specified resource.</p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>The process by which a specified permission set is provisioned to the specified
     *       target.</p>
     */ public provisionPermissionSet ( args , options ? ) ; public provisionPermissionSet ( args , cb ) ; public provisionPermissionSet ( args , options , cb ) ; public provisionPermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new ProvisionPermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Attaches an IAM inline policy to a permission set.</p>
     *          <note>
     *             <p>If the permission set is already referenced by one or more account assignments, you will
     *         need to call <code>
     *                   <a>ProvisionPermissionSet</a>
     *                </code> after this action to
     *         apply the corresponding IAM policy updates to all assigned accounts.</p>
     *          </note>
     */ public putInlinePolicyToPermissionSet ( args , options ? ) ; public putInlinePolicyToPermissionSet ( args , cb ) ; public putInlinePolicyToPermissionSet ( args , options , cb ) ; public putInlinePolicyToPermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new PutInlinePolicyToPermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Associates a set of tags with a specified resource.</p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Disassociates a set of tags from a specified resource.</p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates the Amazon Web Services SSO identity store attributes that you can use with the Amazon Web Services SSO
     *       instance for attributes-based access control (ABAC). When using an external identity provider
     *       as an identity source, you can pass attributes through the SAML assertion as an alternative to
     *       configuring attributes from the Amazon Web Services SSO identity store. If a SAML assertion passes any of
     *       these attributes, Amazon Web Services SSO replaces the attribute value with the value from the Amazon Web Services SSO
     *       identity store. For more information about ABAC, see <a href="/singlesignon/latest/userguide/abac.html">Attribute-Based Access Control</a> in the <i>Amazon Web Services SSO User Guide</i>.</p>
     */ public updateInstanceAccessControlAttributeConfiguration ( args , options ? ) ; public updateInstanceAccessControlAttributeConfiguration ( args , cb ) ; public updateInstanceAccessControlAttributeConfiguration ( args , options , cb ) ; public updateInstanceAccessControlAttributeConfiguration ( args , optionsOrCb ? , cb ? ) { const command = new UpdateInstanceAccessControlAttributeConfigurationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates an existing permission set.</p>
     */ public updatePermissionSet ( args , options ? ) ; public updatePermissionSet ( args , cb ) ; public updatePermissionSet ( args , options , cb ) ; public updatePermissionSet ( args , optionsOrCb ? , cb ? ) { const command = new UpdatePermissionSetCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }