/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
/*
 * Do not modify this file. This file is generated from the iot1click-projects-2018-05-14.normal.json service model.
 */
using System;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.IoT1ClickProjects.Model;
namespace Amazon.IoT1ClickProjects
{
    /// 
    /// Interface for accessing IoT1ClickProjects
    ///
    /// The AWS IoT 1-Click Projects API Reference
    /// 
    public partial interface IAmazonIoT1ClickProjects : IAmazonService, IDisposable
    {
        
        #region  AssociateDeviceWithPlacement
        /// 
        /// Associates a physical device with a placement.
        /// 
        /// Container for the necessary parameters to execute the AssociateDeviceWithPlacement service method.
        /// 
        /// The response from the AssociateDeviceWithPlacement service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for AssociateDeviceWithPlacement Operation
        AssociateDeviceWithPlacementResponse AssociateDeviceWithPlacement(AssociateDeviceWithPlacementRequest request);
        /// 
        /// Initiates the asynchronous execution of the AssociateDeviceWithPlacement operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AssociateDeviceWithPlacement operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAssociateDeviceWithPlacement
        ///         operation.
        /// REST API Reference for AssociateDeviceWithPlacement Operation
        IAsyncResult BeginAssociateDeviceWithPlacement(AssociateDeviceWithPlacementRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  AssociateDeviceWithPlacement operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAssociateDeviceWithPlacement.
        /// 
        /// Returns a  AssociateDeviceWithPlacementResult from IoT1ClickProjects.
        /// REST API Reference for AssociateDeviceWithPlacement Operation
        AssociateDeviceWithPlacementResponse EndAssociateDeviceWithPlacement(IAsyncResult asyncResult);
        #endregion
        
        #region  CreatePlacement
        /// 
        /// Creates an empty placement.
        /// 
        /// Container for the necessary parameters to execute the CreatePlacement service method.
        /// 
        /// The response from the CreatePlacement service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for CreatePlacement Operation
        CreatePlacementResponse CreatePlacement(CreatePlacementRequest request);
        /// 
        /// Initiates the asynchronous execution of the CreatePlacement operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreatePlacement operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreatePlacement
        ///         operation.
        /// REST API Reference for CreatePlacement Operation
        IAsyncResult BeginCreatePlacement(CreatePlacementRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  CreatePlacement operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreatePlacement.
        /// 
        /// Returns a  CreatePlacementResult from IoT1ClickProjects.
        /// REST API Reference for CreatePlacement Operation
        CreatePlacementResponse EndCreatePlacement(IAsyncResult asyncResult);
        #endregion
        
        #region  CreateProject
        /// 
        /// 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.
        /// 
        /// Container for the necessary parameters to execute the CreateProject service method.
        /// 
        /// The response from the CreateProject service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for CreateProject Operation
        CreateProjectResponse CreateProject(CreateProjectRequest request);
        /// 
        /// Initiates the asynchronous execution of the CreateProject operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateProject operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateProject
        ///         operation.
        /// REST API Reference for CreateProject Operation
        IAsyncResult BeginCreateProject(CreateProjectRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  CreateProject operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateProject.
        /// 
        /// Returns a  CreateProjectResult from IoT1ClickProjects.
        /// REST API Reference for CreateProject Operation
        CreateProjectResponse EndCreateProject(IAsyncResult asyncResult);
        #endregion
        
        #region  DeletePlacement
        /// 
        /// Deletes a placement. To delete a placement, it must not have any devices associated
        /// with it.
        /// 
        ///   
        /// 
        /// When you delete a placement, all associated data becomes irretrievable.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the DeletePlacement service method.
        /// 
        /// The response from the DeletePlacement service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for DeletePlacement Operation
        DeletePlacementResponse DeletePlacement(DeletePlacementRequest request);
        /// 
        /// Initiates the asynchronous execution of the DeletePlacement operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeletePlacement operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeletePlacement
        ///         operation.
        /// REST API Reference for DeletePlacement Operation
        IAsyncResult BeginDeletePlacement(DeletePlacementRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  DeletePlacement operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeletePlacement.
        /// 
        /// Returns a  DeletePlacementResult from IoT1ClickProjects.
        /// REST API Reference for DeletePlacement Operation
        DeletePlacementResponse EndDeletePlacement(IAsyncResult asyncResult);
        #endregion
        
        #region  DeleteProject
        /// 
        /// Deletes a project. To delete a project, it must not have any placements associated
        /// with it.
        /// 
        ///   
        /// 
        /// When you delete a project, all associated data becomes irretrievable.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the DeleteProject service method.
        /// 
        /// The response from the DeleteProject service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for DeleteProject Operation
        DeleteProjectResponse DeleteProject(DeleteProjectRequest request);
        /// 
        /// Initiates the asynchronous execution of the DeleteProject operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteProject operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteProject
        ///         operation.
        /// REST API Reference for DeleteProject Operation
        IAsyncResult BeginDeleteProject(DeleteProjectRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  DeleteProject operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteProject.
        /// 
        /// Returns a  DeleteProjectResult from IoT1ClickProjects.
        /// REST API Reference for DeleteProject Operation
        DeleteProjectResponse EndDeleteProject(IAsyncResult asyncResult);
        #endregion
        
        #region  DescribePlacement
        /// 
        /// Describes a placement in a project.
        /// 
        /// Container for the necessary parameters to execute the DescribePlacement service method.
        /// 
        /// The response from the DescribePlacement service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for DescribePlacement Operation
        DescribePlacementResponse DescribePlacement(DescribePlacementRequest request);
        /// 
        /// Initiates the asynchronous execution of the DescribePlacement operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DescribePlacement operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribePlacement
        ///         operation.
        /// REST API Reference for DescribePlacement Operation
        IAsyncResult BeginDescribePlacement(DescribePlacementRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  DescribePlacement operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDescribePlacement.
        /// 
        /// Returns a  DescribePlacementResult from IoT1ClickProjects.
        /// REST API Reference for DescribePlacement Operation
        DescribePlacementResponse EndDescribePlacement(IAsyncResult asyncResult);
        #endregion
        
        #region  DescribeProject
        /// 
        /// Returns an object describing a project.
        /// 
        /// Container for the necessary parameters to execute the DescribeProject service method.
        /// 
        /// The response from the DescribeProject service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for DescribeProject Operation
        DescribeProjectResponse DescribeProject(DescribeProjectRequest request);
        /// 
        /// Initiates the asynchronous execution of the DescribeProject operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DescribeProject operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeProject
        ///         operation.
        /// REST API Reference for DescribeProject Operation
        IAsyncResult BeginDescribeProject(DescribeProjectRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  DescribeProject operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDescribeProject.
        /// 
        /// Returns a  DescribeProjectResult from IoT1ClickProjects.
        /// REST API Reference for DescribeProject Operation
        DescribeProjectResponse EndDescribeProject(IAsyncResult asyncResult);
        #endregion
        
        #region  DisassociateDeviceFromPlacement
        /// 
        /// Removes a physical device from a placement.
        /// 
        /// Container for the necessary parameters to execute the DisassociateDeviceFromPlacement service method.
        /// 
        /// The response from the DisassociateDeviceFromPlacement service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for DisassociateDeviceFromPlacement Operation
        DisassociateDeviceFromPlacementResponse DisassociateDeviceFromPlacement(DisassociateDeviceFromPlacementRequest request);
        /// 
        /// Initiates the asynchronous execution of the DisassociateDeviceFromPlacement operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DisassociateDeviceFromPlacement operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDisassociateDeviceFromPlacement
        ///         operation.
        /// REST API Reference for DisassociateDeviceFromPlacement Operation
        IAsyncResult BeginDisassociateDeviceFromPlacement(DisassociateDeviceFromPlacementRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  DisassociateDeviceFromPlacement operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDisassociateDeviceFromPlacement.
        /// 
        /// Returns a  DisassociateDeviceFromPlacementResult from IoT1ClickProjects.
        /// REST API Reference for DisassociateDeviceFromPlacement Operation
        DisassociateDeviceFromPlacementResponse EndDisassociateDeviceFromPlacement(IAsyncResult asyncResult);
        #endregion
        
        #region  GetDevicesInPlacement
        /// 
        /// Returns an object enumerating the devices in a placement.
        /// 
        /// Container for the necessary parameters to execute the GetDevicesInPlacement service method.
        /// 
        /// The response from the GetDevicesInPlacement service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for GetDevicesInPlacement Operation
        GetDevicesInPlacementResponse GetDevicesInPlacement(GetDevicesInPlacementRequest request);
        /// 
        /// Initiates the asynchronous execution of the GetDevicesInPlacement operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetDevicesInPlacement operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetDevicesInPlacement
        ///         operation.
        /// REST API Reference for GetDevicesInPlacement Operation
        IAsyncResult BeginGetDevicesInPlacement(GetDevicesInPlacementRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  GetDevicesInPlacement operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetDevicesInPlacement.
        /// 
        /// Returns a  GetDevicesInPlacementResult from IoT1ClickProjects.
        /// REST API Reference for GetDevicesInPlacement Operation
        GetDevicesInPlacementResponse EndGetDevicesInPlacement(IAsyncResult asyncResult);
        #endregion
        
        #region  ListPlacements
        /// 
        /// Lists the placement(s) of a project.
        /// 
        /// Container for the necessary parameters to execute the ListPlacements service method.
        /// 
        /// The response from the ListPlacements service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for ListPlacements Operation
        ListPlacementsResponse ListPlacements(ListPlacementsRequest request);
        /// 
        /// Initiates the asynchronous execution of the ListPlacements operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListPlacements operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListPlacements
        ///         operation.
        /// REST API Reference for ListPlacements Operation
        IAsyncResult BeginListPlacements(ListPlacementsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  ListPlacements operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListPlacements.
        /// 
        /// Returns a  ListPlacementsResult from IoT1ClickProjects.
        /// REST API Reference for ListPlacements Operation
        ListPlacementsResponse EndListPlacements(IAsyncResult asyncResult);
        #endregion
        
        #region  ListProjects
        /// 
        /// Lists the AWS IoT 1-Click project(s) associated with your AWS account and region.
        /// 
        /// Container for the necessary parameters to execute the ListProjects service method.
        /// 
        /// The response from the ListProjects service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for ListProjects Operation
        ListProjectsResponse ListProjects(ListProjectsRequest request);
        /// 
        /// Initiates the asynchronous execution of the ListProjects operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListProjects operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListProjects
        ///         operation.
        /// REST API Reference for ListProjects Operation
        IAsyncResult BeginListProjects(ListProjectsRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  ListProjects operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListProjects.
        /// 
        /// Returns a  ListProjectsResult from IoT1ClickProjects.
        /// REST API Reference for ListProjects Operation
        ListProjectsResponse EndListProjects(IAsyncResult asyncResult);
        #endregion
        
        #region  ListTagsForResource
        /// 
        /// Lists the tags (metadata key/value pairs) which you have assigned to the resource.
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        /// The response from the ListTagsForResource service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for ListTagsForResource Operation
        ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
        /// 
        /// Initiates the asynchronous execution of the ListTagsForResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListTagsForResource
        ///         operation.
        /// REST API Reference for ListTagsForResource Operation
        IAsyncResult BeginListTagsForResource(ListTagsForResourceRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  ListTagsForResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListTagsForResource.
        /// 
        /// Returns a  ListTagsForResourceResult from IoT1ClickProjects.
        /// REST API Reference for ListTagsForResource Operation
        ListTagsForResourceResponse EndListTagsForResource(IAsyncResult asyncResult);
        #endregion
        
        #region  TagResource
        /// 
        /// 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 AWS
        /// Tagging Strategies.
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        /// The response from the TagResource service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for TagResource Operation
        TagResourceResponse TagResource(TagResourceRequest request);
        /// 
        /// Initiates the asynchronous execution of the TagResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the TagResource operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndTagResource
        ///         operation.
        /// REST API Reference for TagResource Operation
        IAsyncResult BeginTagResource(TagResourceRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  TagResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginTagResource.
        /// 
        /// Returns a  TagResourceResult from IoT1ClickProjects.
        /// REST API Reference for TagResource Operation
        TagResourceResponse EndTagResource(IAsyncResult asyncResult);
        #endregion
        
        #region  UntagResource
        /// 
        /// Removes one or more tags (metadata key/value pairs) from a resource.
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        /// The response from the UntagResource service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for UntagResource Operation
        UntagResourceResponse UntagResource(UntagResourceRequest request);
        /// 
        /// Initiates the asynchronous execution of the UntagResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UntagResource operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUntagResource
        ///         operation.
        /// REST API Reference for UntagResource Operation
        IAsyncResult BeginUntagResource(UntagResourceRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  UntagResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUntagResource.
        /// 
        /// Returns a  UntagResourceResult from IoT1ClickProjects.
        /// REST API Reference for UntagResource Operation
        UntagResourceResponse EndUntagResource(IAsyncResult asyncResult);
        #endregion
        
        #region  UpdatePlacement
        /// 
        /// Updates a placement with the given attributes. To clear an attribute, pass an empty
        /// value (i.e., "").
        /// 
        /// Container for the necessary parameters to execute the UpdatePlacement service method.
        /// 
        /// The response from the UpdatePlacement service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for UpdatePlacement Operation
        UpdatePlacementResponse UpdatePlacement(UpdatePlacementRequest request);
        /// 
        /// Initiates the asynchronous execution of the UpdatePlacement operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdatePlacement operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdatePlacement
        ///         operation.
        /// REST API Reference for UpdatePlacement Operation
        IAsyncResult BeginUpdatePlacement(UpdatePlacementRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  UpdatePlacement operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdatePlacement.
        /// 
        /// Returns a  UpdatePlacementResult from IoT1ClickProjects.
        /// REST API Reference for UpdatePlacement Operation
        UpdatePlacementResponse EndUpdatePlacement(IAsyncResult asyncResult);
        #endregion
        
        #region  UpdateProject
        /// 
        /// 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., "").
        /// 
        /// Container for the necessary parameters to execute the UpdateProject service method.
        /// 
        /// The response from the UpdateProject service method, as returned by IoT1ClickProjects.
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// REST API Reference for UpdateProject Operation
        UpdateProjectResponse UpdateProject(UpdateProjectRequest request);
        /// 
        /// Initiates the asynchronous execution of the UpdateProject operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateProject operation on AmazonIoT1ClickProjectsClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateProject
        ///         operation.
        /// REST API Reference for UpdateProject Operation
        IAsyncResult BeginUpdateProject(UpdateProjectRequest request, AsyncCallback callback, object state);
        /// 
        /// Finishes the asynchronous execution of the  UpdateProject operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateProject.
        /// 
        /// Returns a  UpdateProjectResult from IoT1ClickProjects.
        /// REST API Reference for UpdateProject Operation
        UpdateProjectResponse EndUpdateProject(IAsyncResult asyncResult);
        #endregion
        
    }
}