import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AssociateConnectionAliasCommand , AssociateConnectionAliasCommandInput , AssociateConnectionAliasCommandOutput , } from "./commands/AssociateConnectionAliasCommand" ; import { AssociateIpGroupsCommand , AssociateIpGroupsCommandInput , AssociateIpGroupsCommandOutput , } from "./commands/AssociateIpGroupsCommand" ; import { AuthorizeIpRulesCommand , AuthorizeIpRulesCommandInput , AuthorizeIpRulesCommandOutput , } from "./commands/AuthorizeIpRulesCommand" ; import { CopyWorkspaceImageCommand , CopyWorkspaceImageCommandInput , CopyWorkspaceImageCommandOutput , } from "./commands/CopyWorkspaceImageCommand" ; import { CreateConnectionAliasCommand , CreateConnectionAliasCommandInput , CreateConnectionAliasCommandOutput , } from "./commands/CreateConnectionAliasCommand" ; import { CreateIpGroupCommand , CreateIpGroupCommandInput , CreateIpGroupCommandOutput , } from "./commands/CreateIpGroupCommand" ; import { CreateTagsCommand , CreateTagsCommandInput , CreateTagsCommandOutput } from "./commands/CreateTagsCommand" ; import { CreateUpdatedWorkspaceImageCommand , CreateUpdatedWorkspaceImageCommandInput , CreateUpdatedWorkspaceImageCommandOutput , } from "./commands/CreateUpdatedWorkspaceImageCommand" ; import { CreateWorkspaceBundleCommand , CreateWorkspaceBundleCommandInput , CreateWorkspaceBundleCommandOutput , } from "./commands/CreateWorkspaceBundleCommand" ; import { CreateWorkspacesCommand , CreateWorkspacesCommandInput , CreateWorkspacesCommandOutput , } from "./commands/CreateWorkspacesCommand" ; import { DeleteConnectionAliasCommand , DeleteConnectionAliasCommandInput , DeleteConnectionAliasCommandOutput , } from "./commands/DeleteConnectionAliasCommand" ; import { DeleteIpGroupCommand , DeleteIpGroupCommandInput , DeleteIpGroupCommandOutput , } from "./commands/DeleteIpGroupCommand" ; import { DeleteTagsCommand , DeleteTagsCommandInput , DeleteTagsCommandOutput } from "./commands/DeleteTagsCommand" ; import { DeleteWorkspaceBundleCommand , DeleteWorkspaceBundleCommandInput , DeleteWorkspaceBundleCommandOutput , } from "./commands/DeleteWorkspaceBundleCommand" ; import { DeleteWorkspaceImageCommand , DeleteWorkspaceImageCommandInput , DeleteWorkspaceImageCommandOutput , } from "./commands/DeleteWorkspaceImageCommand" ; import { DeregisterWorkspaceDirectoryCommand , DeregisterWorkspaceDirectoryCommandInput , DeregisterWorkspaceDirectoryCommandOutput , } from "./commands/DeregisterWorkspaceDirectoryCommand" ; import { DescribeAccountCommand , DescribeAccountCommandInput , DescribeAccountCommandOutput , } from "./commands/DescribeAccountCommand" ; import { DescribeAccountModificationsCommand , DescribeAccountModificationsCommandInput , DescribeAccountModificationsCommandOutput , } from "./commands/DescribeAccountModificationsCommand" ; import { DescribeClientPropertiesCommand , DescribeClientPropertiesCommandInput , DescribeClientPropertiesCommandOutput , } from "./commands/DescribeClientPropertiesCommand" ; import { DescribeConnectionAliasesCommand , DescribeConnectionAliasesCommandInput , DescribeConnectionAliasesCommandOutput , } from "./commands/DescribeConnectionAliasesCommand" ; import { DescribeConnectionAliasPermissionsCommand , DescribeConnectionAliasPermissionsCommandInput , DescribeConnectionAliasPermissionsCommandOutput , } from "./commands/DescribeConnectionAliasPermissionsCommand" ; import { DescribeIpGroupsCommand , DescribeIpGroupsCommandInput , DescribeIpGroupsCommandOutput , } from "./commands/DescribeIpGroupsCommand" ; import { DescribeTagsCommand , DescribeTagsCommandInput , DescribeTagsCommandOutput , } from "./commands/DescribeTagsCommand" ; import { DescribeWorkspaceBundlesCommand , DescribeWorkspaceBundlesCommandInput , DescribeWorkspaceBundlesCommandOutput , } from "./commands/DescribeWorkspaceBundlesCommand" ; import { DescribeWorkspaceDirectoriesCommand , DescribeWorkspaceDirectoriesCommandInput , DescribeWorkspaceDirectoriesCommandOutput , } from "./commands/DescribeWorkspaceDirectoriesCommand" ; import { DescribeWorkspaceImagePermissionsCommand , DescribeWorkspaceImagePermissionsCommandInput , DescribeWorkspaceImagePermissionsCommandOutput , } from "./commands/DescribeWorkspaceImagePermissionsCommand" ; import { DescribeWorkspaceImagesCommand , DescribeWorkspaceImagesCommandInput , DescribeWorkspaceImagesCommandOutput , } from "./commands/DescribeWorkspaceImagesCommand" ; import { DescribeWorkspacesCommand , DescribeWorkspacesCommandInput , DescribeWorkspacesCommandOutput , } from "./commands/DescribeWorkspacesCommand" ; import { DescribeWorkspacesConnectionStatusCommand , DescribeWorkspacesConnectionStatusCommandInput , DescribeWorkspacesConnectionStatusCommandOutput , } from "./commands/DescribeWorkspacesConnectionStatusCommand" ; import { DescribeWorkspaceSnapshotsCommand , DescribeWorkspaceSnapshotsCommandInput , DescribeWorkspaceSnapshotsCommandOutput , } from "./commands/DescribeWorkspaceSnapshotsCommand" ; import { DisassociateConnectionAliasCommand , DisassociateConnectionAliasCommandInput , DisassociateConnectionAliasCommandOutput , } from "./commands/DisassociateConnectionAliasCommand" ; import { DisassociateIpGroupsCommand , DisassociateIpGroupsCommandInput , DisassociateIpGroupsCommandOutput , } from "./commands/DisassociateIpGroupsCommand" ; import { ImportWorkspaceImageCommand , ImportWorkspaceImageCommandInput , ImportWorkspaceImageCommandOutput , } from "./commands/ImportWorkspaceImageCommand" ; import { ListAvailableManagementCidrRangesCommand , ListAvailableManagementCidrRangesCommandInput , ListAvailableManagementCidrRangesCommandOutput , } from "./commands/ListAvailableManagementCidrRangesCommand" ; import { MigrateWorkspaceCommand , MigrateWorkspaceCommandInput , MigrateWorkspaceCommandOutput , } from "./commands/MigrateWorkspaceCommand" ; import { ModifyAccountCommand , ModifyAccountCommandInput , ModifyAccountCommandOutput , } from "./commands/ModifyAccountCommand" ; import { ModifyClientPropertiesCommand , ModifyClientPropertiesCommandInput , ModifyClientPropertiesCommandOutput , } from "./commands/ModifyClientPropertiesCommand" ; import { ModifySelfservicePermissionsCommand , ModifySelfservicePermissionsCommandInput , ModifySelfservicePermissionsCommandOutput , } from "./commands/ModifySelfservicePermissionsCommand" ; import { ModifyWorkspaceAccessPropertiesCommand , ModifyWorkspaceAccessPropertiesCommandInput , ModifyWorkspaceAccessPropertiesCommandOutput , } from "./commands/ModifyWorkspaceAccessPropertiesCommand" ; import { ModifyWorkspaceCreationPropertiesCommand , ModifyWorkspaceCreationPropertiesCommandInput , ModifyWorkspaceCreationPropertiesCommandOutput , } from "./commands/ModifyWorkspaceCreationPropertiesCommand" ; import { ModifyWorkspacePropertiesCommand , ModifyWorkspacePropertiesCommandInput , ModifyWorkspacePropertiesCommandOutput , } from "./commands/ModifyWorkspacePropertiesCommand" ; import { ModifyWorkspaceStateCommand , ModifyWorkspaceStateCommandInput , ModifyWorkspaceStateCommandOutput , } from "./commands/ModifyWorkspaceStateCommand" ; import { RebootWorkspacesCommand , RebootWorkspacesCommandInput , RebootWorkspacesCommandOutput , } from "./commands/RebootWorkspacesCommand" ; import { RebuildWorkspacesCommand , RebuildWorkspacesCommandInput , RebuildWorkspacesCommandOutput , } from "./commands/RebuildWorkspacesCommand" ; import { RegisterWorkspaceDirectoryCommand , RegisterWorkspaceDirectoryCommandInput , RegisterWorkspaceDirectoryCommandOutput , } from "./commands/RegisterWorkspaceDirectoryCommand" ; import { RestoreWorkspaceCommand , RestoreWorkspaceCommandInput , RestoreWorkspaceCommandOutput , } from "./commands/RestoreWorkspaceCommand" ; import { RevokeIpRulesCommand , RevokeIpRulesCommandInput , RevokeIpRulesCommandOutput , } from "./commands/RevokeIpRulesCommand" ; import { StartWorkspacesCommand , StartWorkspacesCommandInput , StartWorkspacesCommandOutput , } from "./commands/StartWorkspacesCommand" ; import { StopWorkspacesCommand , StopWorkspacesCommandInput , StopWorkspacesCommandOutput , } from "./commands/StopWorkspacesCommand" ; import { TerminateWorkspacesCommand , TerminateWorkspacesCommandInput , TerminateWorkspacesCommandOutput , } from "./commands/TerminateWorkspacesCommand" ; import { UpdateConnectionAliasPermissionCommand , UpdateConnectionAliasPermissionCommandInput , UpdateConnectionAliasPermissionCommandOutput , } from "./commands/UpdateConnectionAliasPermissionCommand" ; import { UpdateRulesOfIpGroupCommand , UpdateRulesOfIpGroupCommandInput , UpdateRulesOfIpGroupCommandOutput , } from "./commands/UpdateRulesOfIpGroupCommand" ; import { UpdateWorkspaceBundleCommand , UpdateWorkspaceBundleCommandInput , UpdateWorkspaceBundleCommandOutput , } from "./commands/UpdateWorkspaceBundleCommand" ; import { UpdateWorkspaceImagePermissionCommand , UpdateWorkspaceImagePermissionCommandInput , UpdateWorkspaceImagePermissionCommandOutput , } from "./commands/UpdateWorkspaceImagePermissionCommand" ; import { WorkSpacesClient } from "./WorkSpacesClient" ; /**
 * <fullname>Amazon WorkSpaces Service</fullname>
 *          <p>Amazon WorkSpaces enables you to provision virtual, cloud-based Microsoft Windows and
 *          Amazon Linux desktops for your users.</p>
 */ export class WorkSpaces extends WorkSpacesClient { /**
     * <p>Associates the specified connection alias with the specified directory to enable cross-Region redirection.
     *          For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html">
     *             Cross-Region Redirection for Amazon WorkSpaces</a>.</p>
     *
     *          <note>
     *             <p>Before performing this operation, call <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeConnectionAliases.html">
     *             DescribeConnectionAliases</a> to make sure that the current state of the connection alias is <code>CREATED</code>.</p>
     *          </note>
     */ public associateConnectionAlias ( args , options ? ) ; public associateConnectionAlias ( args , cb ) ; public associateConnectionAlias ( args , options , cb ) ; public associateConnectionAlias ( args , optionsOrCb ? , cb ? ) { const command = new AssociateConnectionAliasCommand ( 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 the specified IP access control group with the specified directory.</p>
     */ public associateIpGroups ( args , options ? ) ; public associateIpGroups ( args , cb ) ; public associateIpGroups ( args , options , cb ) ; public associateIpGroups ( args , optionsOrCb ? , cb ? ) { const command = new AssociateIpGroupsCommand ( 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>Adds one or more rules to the specified IP access control group.</p>
     *          <p>This action gives users permission to access their WorkSpaces from the CIDR address
     *          ranges specified in the rules.</p>
     */ public authorizeIpRules ( args , options ? ) ; public authorizeIpRules ( args , cb ) ; public authorizeIpRules ( args , options , cb ) ; public authorizeIpRules ( args , optionsOrCb ? , cb ? ) { const command = new AuthorizeIpRulesCommand ( 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>Copies the specified image from the specified Region to the current Region.
     *          For more information about copying images, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/copy-custom-image.html">
     *             Copy a Custom WorkSpaces Image</a>.</p>
     *
     *          <p>In the China (Ningxia) Region, you can copy images only within the same Region.</p>
     *
     *          <p>In Amazon Web Services GovCloud (US), to copy images to and from other Regions, contact Amazon Web Services Support.</p>
     *
     *          <important>
     *             <p>Before copying a shared image, be sure to verify that it has been shared from the
     *             correct Amazon Web Services account. To determine if an image has been shared and to see the
     *             ID of the Amazon Web Services account that owns an image, use the <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImages.html">DescribeWorkSpaceImages</a> and <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImagePermissions.html">DescribeWorkspaceImagePermissions</a> API operations. </p>
     *          </important>
     */ public copyWorkspaceImage ( args , options ? ) ; public copyWorkspaceImage ( args , cb ) ; public copyWorkspaceImage ( args , options , cb ) ; public copyWorkspaceImage ( args , optionsOrCb ? , cb ? ) { const command = new CopyWorkspaceImageCommand ( 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 the specified connection alias for use with cross-Region redirection. For more information, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html">
     *          Cross-Region Redirection for Amazon WorkSpaces</a>.</p>
     */ public createConnectionAlias ( args , options ? ) ; public createConnectionAlias ( args , cb ) ; public createConnectionAlias ( args , options , cb ) ; public createConnectionAlias ( args , optionsOrCb ? , cb ? ) { const command = new CreateConnectionAliasCommand ( 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 an IP access control group.</p>
     *          <p>An IP access control group provides you with the ability to control the IP addresses
     *          from which users are allowed to access their WorkSpaces. To specify the CIDR address
     *          ranges, add rules to your IP access control group and then associate the group with your
     *          directory. You can add rules when you create the group or at any time using <a>AuthorizeIpRules</a>.</p>
     *
     *          <p>There is a default IP access control group associated with your directory. If you don't
     *          associate an IP access control group with your directory, the default group is used. The
     *          default group includes a default rule that allows users to access their WorkSpaces from
     *          anywhere. You cannot modify the default IP access control group for your directory.</p>
     */ public createIpGroup ( args , options ? ) ; public createIpGroup ( args , cb ) ; public createIpGroup ( args , options , cb ) ; public createIpGroup ( args , optionsOrCb ? , cb ? ) { const command = new CreateIpGroupCommand ( 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 the specified tags for the specified WorkSpaces resource.</p>
     */ public createTags ( args , options ? ) ; public createTags ( args , cb ) ; public createTags ( args , options , cb ) ; public createTags ( args , optionsOrCb ? , cb ? ) { const command = new CreateTagsCommand ( 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 new updated WorkSpace image based on the specified source image. The
     *          new updated WorkSpace image has the latest drivers and other updates required by
     *          the Amazon WorkSpaces components.</p>
     *
     *          <p>To determine which WorkSpace images need to be updated with the latest Amazon
     *          WorkSpaces requirements, use
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImages.html">
     *             DescribeWorkspaceImages</a>.</p>
     *
     *          <note>
     *             <ul>
     *                <li>
     *                   <p>Only Windows 10, Windows Sever 2016, and Windows Server 2019 WorkSpace images can be programmatically updated at this time.</p>
     *                </li>
     *                <li>
     *                   <p>Microsoft Windows updates and other application updates are not included
     *                   in the update process.</p>
     *                </li>
     *                <li>
     *                   <p>The source WorkSpace image is not deleted. You can delete the source image after you've
     *                   verified your new updated image and created a new bundle. </p>
     *                </li>
     *             </ul>
     *          </note>
     */ public createUpdatedWorkspaceImage ( args , options ? ) ; public createUpdatedWorkspaceImage ( args , cb ) ; public createUpdatedWorkspaceImage ( args , options , cb ) ; public createUpdatedWorkspaceImage ( args , optionsOrCb ? , cb ? ) { const command = new CreateUpdatedWorkspaceImageCommand ( 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 the specified WorkSpace bundle. For more information about creating WorkSpace bundles, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/create-custom-bundle.html">
     *             Create a Custom WorkSpaces Image and Bundle</a>.</p>
     */ public createWorkspaceBundle ( args , options ? ) ; public createWorkspaceBundle ( args , cb ) ; public createWorkspaceBundle ( args , options , cb ) ; public createWorkspaceBundle ( args , optionsOrCb ? , cb ? ) { const command = new CreateWorkspaceBundleCommand ( 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 one or more WorkSpaces.</p>
     *          <p>This operation is asynchronous and returns before the WorkSpaces are created.</p>
     */ public createWorkspaces ( args , options ? ) ; public createWorkspaces ( args , cb ) ; public createWorkspaces ( args , options , cb ) ; public createWorkspaces ( args , optionsOrCb ? , cb ? ) { const command = new CreateWorkspacesCommand ( 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 connection alias. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html">
     *          Cross-Region Redirection for Amazon WorkSpaces</a>.</p>
     *
     *          <important>
     *             <p>
     *                <b>If you will no longer be using a fully qualified domain name (FQDN) as the registration code
     *             for your WorkSpaces users, you must take certain precautions to prevent potential security issues.</b>
     *             For more information, see
     *             <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html#cross-region-redirection-security-considerations">
     *                Security Considerations if You Stop Using Cross-Region Redirection</a>.</p>
     *          </important>
     *
     *          <note>
     *             <p>To delete a connection alias that has been shared, the shared account must first disassociate the connection alias
     *             from any directories it has been associated with. Then you must unshare the connection alias from the account it has
     *             been shared with. You can delete a connection alias only after it is no longer shared with any accounts or
     *             associated with any directories.</p>
     *          </note>
     */ public deleteConnectionAlias ( args , options ? ) ; public deleteConnectionAlias ( args , cb ) ; public deleteConnectionAlias ( args , options , cb ) ; public deleteConnectionAlias ( args , optionsOrCb ? , cb ? ) { const command = new DeleteConnectionAliasCommand ( 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 IP access control group.</p>
     *          <p>You cannot delete an IP access control group that is associated with a directory.</p>
     */ public deleteIpGroup ( args , options ? ) ; public deleteIpGroup ( args , cb ) ; public deleteIpGroup ( args , options , cb ) ; public deleteIpGroup ( args , optionsOrCb ? , cb ? ) { const command = new DeleteIpGroupCommand ( 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 tags from the specified WorkSpaces resource.</p>
     */ public deleteTags ( args , options ? ) ; public deleteTags ( args , cb ) ; public deleteTags ( args , options , cb ) ; public deleteTags ( args , optionsOrCb ? , cb ? ) { const command = new DeleteTagsCommand ( 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 WorkSpace bundle. For more information about deleting WorkSpace bundles, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/delete_bundle.html">
     *             Delete a Custom WorkSpaces Bundle or Image</a>.</p>
     */ public deleteWorkspaceBundle ( args , options ? ) ; public deleteWorkspaceBundle ( args , cb ) ; public deleteWorkspaceBundle ( args , options , cb ) ; public deleteWorkspaceBundle ( args , optionsOrCb ? , cb ? ) { const command = new DeleteWorkspaceBundleCommand ( 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 image from your account. To delete an image, you must first delete
     *          any bundles that are associated with the image and unshare the image if it is shared with
     *          other accounts. </p>
     */ public deleteWorkspaceImage ( args , options ? ) ; public deleteWorkspaceImage ( args , cb ) ; public deleteWorkspaceImage ( args , options , cb ) ; public deleteWorkspaceImage ( args , optionsOrCb ? , cb ? ) { const command = new DeleteWorkspaceImageCommand ( 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>Deregisters the specified directory. This operation is asynchronous
     *          and returns before the WorkSpace directory is deregistered. If any WorkSpaces are
     *       registered to this directory, you must remove them before you can deregister the directory.</p>
     *
     *          <note>
     *             <p>Simple AD and AD Connector are made available to you free of charge to use with WorkSpaces.
     *             If there are no WorkSpaces being used with your Simple AD or AD Connector directory for 30
     *             consecutive days, this directory will be automatically deregistered for use with Amazon WorkSpaces,
     *             and you will be charged for this directory as per the
     *             <a href="http://aws.amazon.com/directoryservice/pricing/">Directory Service pricing terms</a>.</p>
     *
     *             <p>To delete empty directories, see
     *             <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/delete-workspaces-directory.html">
     *                Delete the Directory for Your WorkSpaces</a>. If you delete your
     *             Simple AD or AD Connector directory, you can always create a new one when you want to start using
     *             WorkSpaces again.</p>
     *          </note>
     */ public deregisterWorkspaceDirectory ( args , options ? ) ; public deregisterWorkspaceDirectory ( args , cb ) ; public deregisterWorkspaceDirectory ( args , options , cb ) ; public deregisterWorkspaceDirectory ( args , optionsOrCb ? , cb ? ) { const command = new DeregisterWorkspaceDirectoryCommand ( 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>Retrieves a list that describes the configuration of Bring Your Own License (BYOL) for
     *          the specified account.</p>
     */ public describeAccount ( args , options ? ) ; public describeAccount ( args , cb ) ; public describeAccount ( args , options , cb ) ; public describeAccount ( args , optionsOrCb ? , cb ? ) { const command = new DescribeAccountCommand ( 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>Retrieves a list that describes modifications to the configuration of Bring Your Own
     *          License (BYOL) for the specified account.</p>
     */ public describeAccountModifications ( args , options ? ) ; public describeAccountModifications ( args , cb ) ; public describeAccountModifications ( args , options , cb ) ; public describeAccountModifications ( args , optionsOrCb ? , cb ? ) { const command = new DescribeAccountModificationsCommand ( 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>Retrieves a list that describes one or more specified Amazon WorkSpaces clients.</p>
     */ public describeClientProperties ( args , options ? ) ; public describeClientProperties ( args , cb ) ; public describeClientProperties ( args , options , cb ) ; public describeClientProperties ( args , optionsOrCb ? , cb ? ) { const command = new DescribeClientPropertiesCommand ( 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>Retrieves a list that describes the connection aliases used for cross-Region redirection. For more information, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html">
     *          Cross-Region Redirection for Amazon WorkSpaces</a>.</p>
     */ public describeConnectionAliases ( args , options ? ) ; public describeConnectionAliases ( args , cb ) ; public describeConnectionAliases ( args , options , cb ) ; public describeConnectionAliases ( args , optionsOrCb ? , cb ? ) { const command = new DescribeConnectionAliasesCommand ( 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 permissions that the owner of a connection alias has granted to another Amazon Web Services account for
     *          the specified connection alias. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html">
     *             Cross-Region Redirection for Amazon WorkSpaces</a>.</p>
     */ public describeConnectionAliasPermissions ( args , options ? ) ; public describeConnectionAliasPermissions ( args , cb ) ; public describeConnectionAliasPermissions ( args , options , cb ) ; public describeConnectionAliasPermissions ( args , optionsOrCb ? , cb ? ) { const command = new DescribeConnectionAliasPermissionsCommand ( 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 one or more of your IP access control groups.</p>
     */ public describeIpGroups ( args , options ? ) ; public describeIpGroups ( args , cb ) ; public describeIpGroups ( args , options , cb ) ; public describeIpGroups ( args , optionsOrCb ? , cb ? ) { const command = new DescribeIpGroupsCommand ( 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 specified tags for the specified WorkSpaces resource.</p>
     */ public describeTags ( args , options ? ) ; public describeTags ( args , cb ) ; public describeTags ( args , options , cb ) ; public describeTags ( args , optionsOrCb ? , cb ? ) { const command = new DescribeTagsCommand ( 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>Retrieves a list that describes the available WorkSpace bundles.</p>
     *          <p>You can filter the results using either bundle ID or owner, but not both.</p>
     */ public describeWorkspaceBundles ( args , options ? ) ; public describeWorkspaceBundles ( args , cb ) ; public describeWorkspaceBundles ( args , options , cb ) ; public describeWorkspaceBundles ( args , optionsOrCb ? , cb ? ) { const command = new DescribeWorkspaceBundlesCommand ( 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 available directories that are registered with
     *          Amazon WorkSpaces.</p>
     */ public describeWorkspaceDirectories ( args , options ? ) ; public describeWorkspaceDirectories ( args , cb ) ; public describeWorkspaceDirectories ( args , options , cb ) ; public describeWorkspaceDirectories ( args , optionsOrCb ? , cb ? ) { const command = new DescribeWorkspaceDirectoriesCommand ( 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 permissions that the owner of an image has granted to other
     *          Amazon Web Services accounts for an image.</p>
     */ public describeWorkspaceImagePermissions ( args , options ? ) ; public describeWorkspaceImagePermissions ( args , cb ) ; public describeWorkspaceImagePermissions ( args , options , cb ) ; public describeWorkspaceImagePermissions ( args , optionsOrCb ? , cb ? ) { const command = new DescribeWorkspaceImagePermissionsCommand ( 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>Retrieves a list that describes one or more specified images, if the image identifiers
     *          are provided. Otherwise, all images in the account are described. </p>
     */ public describeWorkspaceImages ( args , options ? ) ; public describeWorkspaceImages ( args , cb ) ; public describeWorkspaceImages ( args , options , cb ) ; public describeWorkspaceImages ( args , optionsOrCb ? , cb ? ) { const command = new DescribeWorkspaceImagesCommand ( 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 specified WorkSpaces.</p>
     *          <p>You can filter the results by using the bundle identifier, directory identifier, or
     *          owner, but you can specify only one filter at a time.</p>
     */ public describeWorkspaces ( args , options ? ) ; public describeWorkspaces ( args , cb ) ; public describeWorkspaces ( args , options , cb ) ; public describeWorkspaces ( args , optionsOrCb ? , cb ? ) { const command = new DescribeWorkspacesCommand ( 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 connection status of the specified WorkSpaces.</p>
     */ public describeWorkspacesConnectionStatus ( args , options ? ) ; public describeWorkspacesConnectionStatus ( args , cb ) ; public describeWorkspacesConnectionStatus ( args , options , cb ) ; public describeWorkspacesConnectionStatus ( args , optionsOrCb ? , cb ? ) { const command = new DescribeWorkspacesConnectionStatusCommand ( 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 snapshots for the specified WorkSpace.</p>
     */ public describeWorkspaceSnapshots ( args , options ? ) ; public describeWorkspaceSnapshots ( args , cb ) ; public describeWorkspaceSnapshots ( args , options , cb ) ; public describeWorkspaceSnapshots ( args , optionsOrCb ? , cb ? ) { const command = new DescribeWorkspaceSnapshotsCommand ( 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 connection alias from a directory. Disassociating a connection alias disables cross-Region
     *          redirection between two directories in different Regions. For more information, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html">
     *             Cross-Region Redirection for Amazon WorkSpaces</a>.</p>
     *
     *          <note>
     *             <p>Before performing this operation, call <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeConnectionAliases.html">
     *             DescribeConnectionAliases</a> to make sure that the current state of the connection alias is <code>CREATED</code>.</p>
     *          </note>
     */ public disassociateConnectionAlias ( args , options ? ) ; public disassociateConnectionAlias ( args , cb ) ; public disassociateConnectionAlias ( args , options , cb ) ; public disassociateConnectionAlias ( args , optionsOrCb ? , cb ? ) { const command = new DisassociateConnectionAliasCommand ( 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 the specified IP access control group from the specified directory.</p>
     */ public disassociateIpGroups ( args , options ? ) ; public disassociateIpGroups ( args , cb ) ; public disassociateIpGroups ( args , options , cb ) ; public disassociateIpGroups ( args , optionsOrCb ? , cb ? ) { const command = new DisassociateIpGroupsCommand ( 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>Imports the specified Windows 10 Bring Your Own License (BYOL) image into Amazon
     *          WorkSpaces. The image must be an already licensed Amazon EC2 image that is in your
     *          Amazon Web Services account, and you must own the image. For more information about creating BYOL images, see
     *             <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html">
     *             Bring Your Own Windows Desktop Licenses</a>.</p>
     */ public importWorkspaceImage ( args , options ? ) ; public importWorkspaceImage ( args , cb ) ; public importWorkspaceImage ( args , options , cb ) ; public importWorkspaceImage ( args , optionsOrCb ? , cb ? ) { const command = new ImportWorkspaceImageCommand ( 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>Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that you can use
     *          for the network management interface when you enable Bring Your Own License (BYOL). </p>
     *
     *          <p>This operation can be run only by Amazon Web Services accounts that are enabled for BYOL. If your account
     *          isn't enabled for BYOL, you'll receive an <code>AccessDeniedException</code> error.</p>
     *
     *          <p>The management network interface is connected to a secure Amazon WorkSpaces management
     *          network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces
     *          clients, and to allow Amazon WorkSpaces to manage the WorkSpace.</p>
     */ public listAvailableManagementCidrRanges ( args , options ? ) ; public listAvailableManagementCidrRanges ( args , cb ) ; public listAvailableManagementCidrRanges ( args , options , cb ) ; public listAvailableManagementCidrRanges ( args , optionsOrCb ? , cb ? ) { const command = new ListAvailableManagementCidrRangesCommand ( 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>Migrates a WorkSpace from one operating system or bundle type to another, while retaining the data on the user volume.</p>
     *
     *          <p>The migration process recreates the WorkSpace by using a new root volume from the target bundle image and the user volume
     *          from the last available snapshot of the original WorkSpace. During migration, the original <code>D:\Users\%USERNAME%</code>
     *          user profile folder is renamed to <code>D:\Users\%USERNAME%MMddyyTHHmmss%.NotMigrated</code>. A new <code>D:\Users\%USERNAME%\</code>
     *          folder is generated by the new OS. Certain files in the old user profile are moved to the new user profile.</p>
     *
     *          <p>For available migration scenarios, details about what happens during migration, and best practices, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/migrate-workspaces.html">Migrate a WorkSpace</a>.</p>
     */ public migrateWorkspace ( args , options ? ) ; public migrateWorkspace ( args , cb ) ; public migrateWorkspace ( args , options , cb ) ; public migrateWorkspace ( args , optionsOrCb ? , cb ? ) { const command = new MigrateWorkspaceCommand ( 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>Modifies the configuration of Bring Your Own License (BYOL) for the specified
     *          account.</p>
     */ public modifyAccount ( args , options ? ) ; public modifyAccount ( args , cb ) ; public modifyAccount ( args , options , cb ) ; public modifyAccount ( args , optionsOrCb ? , cb ? ) { const command = new ModifyAccountCommand ( 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>Modifies the properties of the specified Amazon WorkSpaces clients.</p>
     */ public modifyClientProperties ( args , options ? ) ; public modifyClientProperties ( args , cb ) ; public modifyClientProperties ( args , options , cb ) ; public modifyClientProperties ( args , optionsOrCb ? , cb ? ) { const command = new ModifyClientPropertiesCommand ( 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>Modifies the self-service WorkSpace management capabilities for your users. For more
     *          information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/enable-user-self-service-workspace-management.html">Enable Self-Service WorkSpace Management Capabilities for Your Users</a>.</p>
     */ public modifySelfservicePermissions ( args , options ? ) ; public modifySelfservicePermissions ( args , cb ) ; public modifySelfservicePermissions ( args , options , cb ) ; public modifySelfservicePermissions ( args , optionsOrCb ? , cb ? ) { const command = new ModifySelfservicePermissionsCommand ( 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>Specifies which devices and operating systems users can use to access their WorkSpaces.
     *          For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/update-directory-details.html#control-device-access">
     *             Control Device Access</a>.</p>
     */ public modifyWorkspaceAccessProperties ( args , options ? ) ; public modifyWorkspaceAccessProperties ( args , cb ) ; public modifyWorkspaceAccessProperties ( args , options , cb ) ; public modifyWorkspaceAccessProperties ( args , optionsOrCb ? , cb ? ) { const command = new ModifyWorkspaceAccessPropertiesCommand ( 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>Modify the default properties used to create WorkSpaces.</p>
     */ public modifyWorkspaceCreationProperties ( args , options ? ) ; public modifyWorkspaceCreationProperties ( args , cb ) ; public modifyWorkspaceCreationProperties ( args , options , cb ) ; public modifyWorkspaceCreationProperties ( args , optionsOrCb ? , cb ? ) { const command = new ModifyWorkspaceCreationPropertiesCommand ( 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>Modifies the specified WorkSpace properties. For important information about how
     *          to modify the size of the root and user volumes, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html">
     *             Modify a WorkSpace</a>.
     *       </p>
     */ public modifyWorkspaceProperties ( args , options ? ) ; public modifyWorkspaceProperties ( args , cb ) ; public modifyWorkspaceProperties ( args , options , cb ) ; public modifyWorkspaceProperties ( args , optionsOrCb ? , cb ? ) { const command = new ModifyWorkspacePropertiesCommand ( 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>Sets the state of the specified WorkSpace.</p>
     *          <p>To maintain a WorkSpace without being interrupted, set the WorkSpace state to
     *             <code>ADMIN_MAINTENANCE</code>. WorkSpaces in this state do not respond to requests to
     *          reboot, stop, start, rebuild, or restore. An AutoStop WorkSpace in this state is not
     *          stopped. Users cannot log into a WorkSpace in the <code>ADMIN_MAINTENANCE</code>
     *          state.</p>
     */ public modifyWorkspaceState ( args , options ? ) ; public modifyWorkspaceState ( args , cb ) ; public modifyWorkspaceState ( args , options , cb ) ; public modifyWorkspaceState ( args , optionsOrCb ? , cb ? ) { const command = new ModifyWorkspaceStateCommand ( 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>Reboots the specified WorkSpaces.</p>
     *          <p>You cannot reboot a WorkSpace unless its state is <code>AVAILABLE</code> or
     *             <code>UNHEALTHY</code>.</p>
     *          <p>This operation is asynchronous and returns before the WorkSpaces have rebooted.</p>
     */ public rebootWorkspaces ( args , options ? ) ; public rebootWorkspaces ( args , cb ) ; public rebootWorkspaces ( args , options , cb ) ; public rebootWorkspaces ( args , optionsOrCb ? , cb ? ) { const command = new RebootWorkspacesCommand ( 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>Rebuilds the specified WorkSpace.</p>
     *          <p>You cannot rebuild a WorkSpace unless its state is <code>AVAILABLE</code>,
     *             <code>ERROR</code>, <code>UNHEALTHY</code>, <code>STOPPED</code>, or <code>REBOOTING</code>.</p>
     *          <p>Rebuilding a WorkSpace is a potentially destructive action that can result in the loss
     *          of data. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/reset-workspace.html">Rebuild a
     *          WorkSpace</a>.</p>
     *          <p>This operation is asynchronous and returns before the WorkSpaces have been completely
     *          rebuilt.</p>
     */ public rebuildWorkspaces ( args , options ? ) ; public rebuildWorkspaces ( args , cb ) ; public rebuildWorkspaces ( args , options , cb ) ; public rebuildWorkspaces ( args , optionsOrCb ? , cb ? ) { const command = new RebuildWorkspacesCommand ( 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>Registers the specified directory. This operation is asynchronous
     *          and returns before the WorkSpace directory is registered. If this is the first time you are
     *          registering a directory, you will need to create the workspaces_DefaultRole role before you can
     *          register a directory. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role">
     *             Creating the workspaces_DefaultRole Role</a>.</p>
     */ public registerWorkspaceDirectory ( args , options ? ) ; public registerWorkspaceDirectory ( args , cb ) ; public registerWorkspaceDirectory ( args , options , cb ) ; public registerWorkspaceDirectory ( args , optionsOrCb ? , cb ? ) { const command = new RegisterWorkspaceDirectoryCommand ( 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>Restores the specified WorkSpace to its last known healthy state.</p>
     *          <p>You cannot restore a WorkSpace unless its state is <code> AVAILABLE</code>,
     *             <code>ERROR</code>, <code>UNHEALTHY</code>, or <code>STOPPED</code>.</p>
     *          <p>Restoring a WorkSpace is a potentially destructive action that can result in the loss of
     *          data. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/restore-workspace.html">Restore a
     *          WorkSpace</a>.</p>
     *          <p>This operation is asynchronous and returns before the WorkSpace is completely
     *          restored.</p>
     */ public restoreWorkspace ( args , options ? ) ; public restoreWorkspace ( args , cb ) ; public restoreWorkspace ( args , options , cb ) ; public restoreWorkspace ( args , optionsOrCb ? , cb ? ) { const command = new RestoreWorkspaceCommand ( 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>Removes one or more rules from the specified IP access control group.</p>
     */ public revokeIpRules ( args , options ? ) ; public revokeIpRules ( args , cb ) ; public revokeIpRules ( args , options , cb ) ; public revokeIpRules ( args , optionsOrCb ? , cb ? ) { const command = new RevokeIpRulesCommand ( 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>Starts the specified WorkSpaces.</p>
     *          <p>You cannot start a WorkSpace unless it has a running mode of <code>AutoStop</code> and a
     *          state of <code>STOPPED</code>.</p>
     */ public startWorkspaces ( args , options ? ) ; public startWorkspaces ( args , cb ) ; public startWorkspaces ( args , options , cb ) ; public startWorkspaces ( args , optionsOrCb ? , cb ? ) { const command = new StartWorkspacesCommand ( 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> Stops the specified WorkSpaces.</p>
     *          <p>You cannot stop a WorkSpace unless it has a running mode of <code>AutoStop</code> and a
     *          state of <code>AVAILABLE</code>, <code>IMPAIRED</code>, <code>UNHEALTHY</code>, or
     *             <code>ERROR</code>.</p>
     */ public stopWorkspaces ( args , options ? ) ; public stopWorkspaces ( args , cb ) ; public stopWorkspaces ( args , options , cb ) ; public stopWorkspaces ( args , optionsOrCb ? , cb ? ) { const command = new StopWorkspacesCommand ( 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>Terminates the specified WorkSpaces.</p>
     *
     *          <important>
     *             <p>Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is
     *             destroyed. If you need to archive any user data, contact Amazon Web Services Support before
     *             terminating the WorkSpace.</p>
     *          </important>
     *
     *          <p>You can terminate a WorkSpace that is in any state except <code>SUSPENDED</code>.</p>
     *          <p>This operation is asynchronous and returns before the WorkSpaces have been completely
     *          terminated. After a WorkSpace is terminated, the <code>TERMINATED</code> state is returned
     *          only briefly before the WorkSpace directory metadata is cleaned up, so this state is rarely
     *          returned. To confirm that a WorkSpace is terminated, check for the WorkSpace ID by using
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html">
     *             DescribeWorkSpaces</a>. If the WorkSpace ID isn't returned, then the WorkSpace has
     *          been successfully terminated.</p>
     *
     *          <note>
     *             <p>Simple AD and AD Connector are made available to you free of charge to use with WorkSpaces.
     *             If there are no WorkSpaces being used with your Simple AD or AD Connector directory for 30
     *             consecutive days, this directory will be automatically deregistered for use with Amazon WorkSpaces,
     *             and you will be charged for this directory as per the
     *             <a href="http://aws.amazon.com/directoryservice/pricing/">Directory Service pricing terms</a>.</p>
     *
     *             <p>To delete empty directories, see
     *             <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/delete-workspaces-directory.html">
     *                Delete the Directory for Your WorkSpaces</a>. If you delete your
     *             Simple AD or AD Connector directory, you can always create a new one when you want to start using
     *             WorkSpaces again.</p>
     *          </note>
     */ public terminateWorkspaces ( args , options ? ) ; public terminateWorkspaces ( args , cb ) ; public terminateWorkspaces ( args , options , cb ) ; public terminateWorkspaces ( args , optionsOrCb ? , cb ? ) { const command = new TerminateWorkspacesCommand ( 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>Shares or unshares a connection alias with one account by specifying whether that account has permission to
     *          associate the connection alias with a directory. If the association permission is granted, the connection alias
     *          is shared with that account. If the association permission is revoked, the connection alias is unshared with the
     *          account. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html">
     *             Cross-Region Redirection for Amazon WorkSpaces</a>.</p>
     *
     *          <note>
     *             <ul>
     *                <li>
     *                   <p>Before performing this operation, call <a href="https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeConnectionAliases.html">
     *                   DescribeConnectionAliases</a> to make sure that the current state of the connection alias is <code>CREATED</code>.</p>
     *                </li>
     *                <li>
     *                   <p>To delete a connection alias that has been shared, the shared account must first disassociate the
     *                   connection alias from any directories it has been associated with. Then you must unshare the connection
     *                   alias from the account it has been shared with. You can delete a connection alias only after it is no
     *                   longer shared with any accounts or associated with any directories.</p>
     *                </li>
     *             </ul>
     *          </note>
     */ public updateConnectionAliasPermission ( args , options ? ) ; public updateConnectionAliasPermission ( args , cb ) ; public updateConnectionAliasPermission ( args , options , cb ) ; public updateConnectionAliasPermission ( args , optionsOrCb ? , cb ? ) { const command = new UpdateConnectionAliasPermissionCommand ( 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>Replaces the current rules of the specified IP access control group with the specified
     *          rules.</p>
     */ public updateRulesOfIpGroup ( args , options ? ) ; public updateRulesOfIpGroup ( args , cb ) ; public updateRulesOfIpGroup ( args , options , cb ) ; public updateRulesOfIpGroup ( args , optionsOrCb ? , cb ? ) { const command = new UpdateRulesOfIpGroupCommand ( 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 a WorkSpace bundle with a new image. For more information about updating WorkSpace bundles, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/update-custom-bundle.html">
     *             Update a Custom WorkSpaces Bundle</a>.</p>
     *
     *          <important>
     *             <p>Existing WorkSpaces aren't automatically updated when you update the bundle that they're
     *             based on. To update existing WorkSpaces that are based on a bundle that you've updated, you
     *             must either rebuild the WorkSpaces or delete and recreate them.</p>
     *          </important>
     */ public updateWorkspaceBundle ( args , options ? ) ; public updateWorkspaceBundle ( args , cb ) ; public updateWorkspaceBundle ( args , options , cb ) ; public updateWorkspaceBundle ( args , optionsOrCb ? , cb ? ) { const command = new UpdateWorkspaceBundleCommand ( 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>Shares or unshares an image with one account in the same Amazon Web Services Region by specifying whether that account has
     *          permission to copy the image. If the copy image permission is granted, the image is shared with that account.
     *          If the copy image permission is revoked, the image is unshared with the account.</p>
     *
     *          <p>After an image has been shared, the recipient account can copy the image to other Regions as needed.</p>
     *
     *          <p>In the China (Ningxia) Region, you can copy images only within the same Region.</p>
     *
     *          <p>In Amazon Web Services GovCloud (US), to copy images to and from other Regions, contact Amazon Web Services Support.</p>
     *
     *          <p>For more information about sharing images, see
     *          <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/share-custom-image.html">
     *             Share or Unshare a Custom WorkSpaces Image</a>.</p>
     *
     *          <note>
     *             <ul>
     *                <li>
     *                   <p>To delete an image that has been shared, you must unshare the image before you delete it.</p>
     *                </li>
     *                <li>
     *                   <p>Sharing Bring Your Own License (BYOL) images across Amazon Web Services accounts isn't supported at
     *                   this time in Amazon Web Services GovCloud (US). To share BYOL images across accounts in
     *                   Amazon Web Services GovCloud (US), contact Amazon Web Services Support.</p>
     *                </li>
     *             </ul>
     *          </note>
     */ public updateWorkspaceImagePermission ( args , options ? ) ; public updateWorkspaceImagePermission ( args , cb ) ; public updateWorkspaceImagePermission ( args , options , cb ) ; public updateWorkspaceImagePermission ( args , optionsOrCb ? , cb ? ) { const command = new UpdateWorkspaceImagePermissionCommand ( 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 ) ; } } }