import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AssociateDeviceWithPlacementCommand , AssociateDeviceWithPlacementCommandInput , AssociateDeviceWithPlacementCommandOutput , } from "./commands/AssociateDeviceWithPlacementCommand" ; import { CreatePlacementCommand , CreatePlacementCommandInput , CreatePlacementCommandOutput , } from "./commands/CreatePlacementCommand" ; import { CreateProjectCommand , CreateProjectCommandInput , CreateProjectCommandOutput , } from "./commands/CreateProjectCommand" ; import { DeletePlacementCommand , DeletePlacementCommandInput , DeletePlacementCommandOutput , } from "./commands/DeletePlacementCommand" ; import { DeleteProjectCommand , DeleteProjectCommandInput , DeleteProjectCommandOutput , } from "./commands/DeleteProjectCommand" ; import { DescribePlacementCommand , DescribePlacementCommandInput , DescribePlacementCommandOutput , } from "./commands/DescribePlacementCommand" ; import { DescribeProjectCommand , DescribeProjectCommandInput , DescribeProjectCommandOutput , } from "./commands/DescribeProjectCommand" ; import { DisassociateDeviceFromPlacementCommand , DisassociateDeviceFromPlacementCommandInput , DisassociateDeviceFromPlacementCommandOutput , } from "./commands/DisassociateDeviceFromPlacementCommand" ; import { GetDevicesInPlacementCommand , GetDevicesInPlacementCommandInput , GetDevicesInPlacementCommandOutput , } from "./commands/GetDevicesInPlacementCommand" ; import { ListPlacementsCommand , ListPlacementsCommandInput , ListPlacementsCommandOutput , } from "./commands/ListPlacementsCommand" ; import { ListProjectsCommand , ListProjectsCommandInput , ListProjectsCommandOutput , } from "./commands/ListProjectsCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdatePlacementCommand , UpdatePlacementCommandInput , UpdatePlacementCommandOutput , } from "./commands/UpdatePlacementCommand" ; import { UpdateProjectCommand , UpdateProjectCommandInput , UpdateProjectCommandOutput , } from "./commands/UpdateProjectCommand" ; import { IoT1ClickProjectsClient } from "./IoT1ClickProjectsClient" ; /**
 * <p>The AWS IoT 1-Click Projects API Reference</p>
 */ export class IoT1ClickProjects extends IoT1ClickProjectsClient { /**
     * <p>Associates a physical device with a placement.</p>
     */ public associateDeviceWithPlacement ( args , options ? ) ; public associateDeviceWithPlacement ( args , cb ) ; public associateDeviceWithPlacement ( args , options , cb ) ; public associateDeviceWithPlacement ( args , optionsOrCb ? , cb ? ) { const command = new AssociateDeviceWithPlacementCommand ( 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 empty placement.</p>
     */ public createPlacement ( args , options ? ) ; public createPlacement ( args , cb ) ; public createPlacement ( args , options , cb ) ; public createPlacement ( args , optionsOrCb ? , cb ? ) { const command = new CreatePlacementCommand ( 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 empty project with a placement template. A project contains zero or more
     *       placements that adhere to the placement template defined in the project.</p>
     */ public createProject ( args , options ? ) ; public createProject ( args , cb ) ; public createProject ( args , options , cb ) ; public createProject ( args , optionsOrCb ? , cb ? ) { const command = new CreateProjectCommand ( 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 placement. To delete a placement, it must not have any devices associated with
     *       it.</p>
     *          <note>
     *             <p>When you delete a placement, all associated data becomes irretrievable.</p>
     *          </note>
     */ public deletePlacement ( args , options ? ) ; public deletePlacement ( args , cb ) ; public deletePlacement ( args , options , cb ) ; public deletePlacement ( args , optionsOrCb ? , cb ? ) { const command = new DeletePlacementCommand ( 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 project. To delete a project, it must not have any placements associated with
     *       it.</p>
     *          <note>
     *             <p>When you delete a project, all associated data becomes irretrievable.</p>
     *          </note>
     */ public deleteProject ( args , options ? ) ; public deleteProject ( args , cb ) ; public deleteProject ( args , options , cb ) ; public deleteProject ( args , optionsOrCb ? , cb ? ) { const command = new DeleteProjectCommand ( 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 a placement in a project.</p>
     */ public describePlacement ( args , options ? ) ; public describePlacement ( args , cb ) ; public describePlacement ( args , options , cb ) ; public describePlacement ( args , optionsOrCb ? , cb ? ) { const command = new DescribePlacementCommand ( 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 an object describing a project.</p>
     */ public describeProject ( args , options ? ) ; public describeProject ( args , cb ) ; public describeProject ( args , options , cb ) ; public describeProject ( args , optionsOrCb ? , cb ? ) { const command = new DescribeProjectCommand ( 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 a physical device from a placement.</p>
     */ public disassociateDeviceFromPlacement ( args , options ? ) ; public disassociateDeviceFromPlacement ( args , cb ) ; public disassociateDeviceFromPlacement ( args , options , cb ) ; public disassociateDeviceFromPlacement ( args , optionsOrCb ? , cb ? ) { const command = new DisassociateDeviceFromPlacementCommand ( 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 an object enumerating the devices in a placement.</p>
     */ public getDevicesInPlacement ( args , options ? ) ; public getDevicesInPlacement ( args , cb ) ; public getDevicesInPlacement ( args , options , cb ) ; public getDevicesInPlacement ( args , optionsOrCb ? , cb ? ) { const command = new GetDevicesInPlacementCommand ( 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 placement(s) of a project.</p>
     */ public listPlacements ( args , options ? ) ; public listPlacements ( args , cb ) ; public listPlacements ( args , options , cb ) ; public listPlacements ( args , optionsOrCb ? , cb ? ) { const command = new ListPlacementsCommand ( 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 AWS IoT 1-Click project(s) associated with your AWS account and region.</p>
     */ public listProjects ( args , options ? ) ; public listProjects ( args , cb ) ; public listProjects ( args , options , cb ) ; public listProjects ( args , optionsOrCb ? , cb ? ) { const command = new ListProjectsCommand ( 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 (metadata key/value pairs) which you have assigned to the 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>Creates or modifies tags for a resource. Tags are key/value pairs (metadata) that can be
     *       used to manage a resource. For more information, see <a href="https://aws.amazon.com/answers/account-management/aws-tagging-strategies/">AWS Tagging
     *         Strategies</a>.</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>Removes one or more tags (metadata key/value pairs) from a 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 a placement with the given attributes. To clear an attribute, pass an empty value
     *       (i.e., "").</p>
     */ public updatePlacement ( args , options ? ) ; public updatePlacement ( args , cb ) ; public updatePlacement ( args , options , cb ) ; public updatePlacement ( args , optionsOrCb ? , cb ? ) { const command = new UpdatePlacementCommand ( 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 project associated with your AWS account and region. With the exception of
     *       device template names, you can pass just the values that need to be updated because the update
     *       request will change only the values that are provided. To clear a value, pass the empty string
     *       (i.e., <code>""</code>).</p>
     */ public updateProject ( args , options ? ) ; public updateProject ( args , cb ) ; public updateProject ( args , options , cb ) ; public updateProject ( args , optionsOrCb ? , cb ? ) { const command = new UpdateProjectCommand ( 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 ) ; } } }