/*
* 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-devices-2018-05-14.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.IoT1ClickDevicesService.Model;
namespace Amazon.IoT1ClickDevicesService
{
///
/// Interface for accessing IoT1ClickDevicesService
///
/// Describes all of the AWS IoT 1-Click device-related API operations for the service.
/// Also provides sample requests, responses, and errors for the supported web services
/// protocols.
///
public partial interface IAmazonIoT1ClickDevicesService : IAmazonService, IDisposable
{
#region ClaimDevicesByClaimCode
///
/// Adds device(s) to your account (i.e., claim one or more devices) if and only if you
/// received a claim code with the device(s).
///
/// Container for the necessary parameters to execute the ClaimDevicesByClaimCode service method.
///
/// The response from the ClaimDevicesByClaimCode service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for ClaimDevicesByClaimCode Operation
ClaimDevicesByClaimCodeResponse ClaimDevicesByClaimCode(ClaimDevicesByClaimCodeRequest request);
///
/// Adds device(s) to your account (i.e., claim one or more devices) if and only if you
/// received a claim code with the device(s).
///
/// Container for the necessary parameters to execute the ClaimDevicesByClaimCode service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ClaimDevicesByClaimCode service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for ClaimDevicesByClaimCode Operation
Task ClaimDevicesByClaimCodeAsync(ClaimDevicesByClaimCodeRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeDevice
///
/// Given a device ID, returns a DescribeDeviceResponse object describing the details
/// of the device.
///
/// Container for the necessary parameters to execute the DescribeDevice service method.
///
/// The response from the DescribeDevice service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for DescribeDevice Operation
DescribeDeviceResponse DescribeDevice(DescribeDeviceRequest request);
///
/// Given a device ID, returns a DescribeDeviceResponse object describing the details
/// of the device.
///
/// Container for the necessary parameters to execute the DescribeDevice service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeDevice service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for DescribeDevice Operation
Task DescribeDeviceAsync(DescribeDeviceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region FinalizeDeviceClaim
///
/// Given a device ID, finalizes the claim request for the associated device.
///
///
///
/// Claiming a device consists of initiating a claim, then publishing a device event,
/// and finalizing the claim. For a device of type button, a device event can be published
/// by simply clicking the device.
///
///
///
/// Container for the necessary parameters to execute the FinalizeDeviceClaim service method.
///
/// The response from the FinalizeDeviceClaim service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for FinalizeDeviceClaim Operation
FinalizeDeviceClaimResponse FinalizeDeviceClaim(FinalizeDeviceClaimRequest request);
///
/// Given a device ID, finalizes the claim request for the associated device.
///
///
///
/// Claiming a device consists of initiating a claim, then publishing a device event,
/// and finalizing the claim. For a device of type button, a device event can be published
/// by simply clicking the device.
///
///
///
/// Container for the necessary parameters to execute the FinalizeDeviceClaim service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the FinalizeDeviceClaim service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for FinalizeDeviceClaim Operation
Task FinalizeDeviceClaimAsync(FinalizeDeviceClaimRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetDeviceMethods
///
/// Given a device ID, returns the invokable methods associated with the device.
///
/// Container for the necessary parameters to execute the GetDeviceMethods service method.
///
/// The response from the GetDeviceMethods service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for GetDeviceMethods Operation
GetDeviceMethodsResponse GetDeviceMethods(GetDeviceMethodsRequest request);
///
/// Given a device ID, returns the invokable methods associated with the device.
///
/// Container for the necessary parameters to execute the GetDeviceMethods service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetDeviceMethods service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for GetDeviceMethods Operation
Task GetDeviceMethodsAsync(GetDeviceMethodsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region InitiateDeviceClaim
///
/// Given a device ID, initiates a claim request for the associated device.
///
///
///
/// Claiming a device consists of initiating a claim, then publishing a device event,
/// and finalizing the claim. For a device of type button, a device event can be published
/// by simply clicking the device.
///
///
///
/// Container for the necessary parameters to execute the InitiateDeviceClaim service method.
///
/// The response from the InitiateDeviceClaim service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for InitiateDeviceClaim Operation
InitiateDeviceClaimResponse InitiateDeviceClaim(InitiateDeviceClaimRequest request);
///
/// Given a device ID, initiates a claim request for the associated device.
///
///
///
/// Claiming a device consists of initiating a claim, then publishing a device event,
/// and finalizing the claim. For a device of type button, a device event can be published
/// by simply clicking the device.
///
///
///
/// Container for the necessary parameters to execute the InitiateDeviceClaim service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the InitiateDeviceClaim service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for InitiateDeviceClaim Operation
Task InitiateDeviceClaimAsync(InitiateDeviceClaimRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region InvokeDeviceMethod
///
/// Given a device ID, issues a request to invoke a named device method (with possible
/// parameters). See the "Example POST" code snippet below.
///
/// Container for the necessary parameters to execute the InvokeDeviceMethod service method.
///
/// The response from the InvokeDeviceMethod service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for InvokeDeviceMethod Operation
InvokeDeviceMethodResponse InvokeDeviceMethod(InvokeDeviceMethodRequest request);
///
/// Given a device ID, issues a request to invoke a named device method (with possible
/// parameters). See the "Example POST" code snippet below.
///
/// Container for the necessary parameters to execute the InvokeDeviceMethod service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the InvokeDeviceMethod service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for InvokeDeviceMethod Operation
Task InvokeDeviceMethodAsync(InvokeDeviceMethodRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListDeviceEvents
///
/// Using a device ID, returns a DeviceEventsResponse object containing an array of events
/// for the device.
///
/// Container for the necessary parameters to execute the ListDeviceEvents service method.
///
/// The response from the ListDeviceEvents service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for ListDeviceEvents Operation
ListDeviceEventsResponse ListDeviceEvents(ListDeviceEventsRequest request);
///
/// Using a device ID, returns a DeviceEventsResponse object containing an array of events
/// for the device.
///
/// Container for the necessary parameters to execute the ListDeviceEvents service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListDeviceEvents service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
///
///
///
/// REST API Reference for ListDeviceEvents Operation
Task ListDeviceEventsAsync(ListDeviceEventsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListDevices
///
/// Lists the 1-Click compatible devices associated with your AWS account.
///
/// Container for the necessary parameters to execute the ListDevices service method.
///
/// The response from the ListDevices service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for ListDevices Operation
ListDevicesResponse ListDevices(ListDevicesRequest request);
///
/// Lists the 1-Click compatible devices associated with your AWS account.
///
/// Container for the necessary parameters to execute the ListDevices service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListDevices service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for ListDevices Operation
Task ListDevicesAsync(ListDevicesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Lists the tags associated with the specified resource ARN.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
/// REST API Reference for ListTagsForResource Operation
ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
///
/// Lists the tags associated with the specified resource ARN.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Adds or updates the tags associated with the resource ARN. See AWS
/// IoT 1-Click Service Limits for the maximum number of tags allowed per resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for TagResource Operation
TagResourceResponse TagResource(TagResourceRequest request);
///
/// Adds or updates the tags associated with the resource ARN. See AWS
/// IoT 1-Click Service Limits for the maximum number of tags allowed per resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UnclaimDevice
///
/// Disassociates a device from your AWS account using its device ID.
///
/// Container for the necessary parameters to execute the UnclaimDevice service method.
///
/// The response from the UnclaimDevice service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for UnclaimDevice Operation
UnclaimDeviceResponse UnclaimDevice(UnclaimDeviceRequest request);
///
/// Disassociates a device from your AWS account using its device ID.
///
/// Container for the necessary parameters to execute the UnclaimDevice service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UnclaimDevice service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for UnclaimDevice Operation
Task UnclaimDeviceAsync(UnclaimDeviceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Using tag keys, deletes the tags (key/value pairs) associated with the specified resource
/// ARN.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for UntagResource Operation
UntagResourceResponse UntagResource(UntagResourceRequest request);
///
/// Using tag keys, deletes the tags (key/value pairs) associated with the specified resource
/// ARN.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateDeviceState
///
/// Using a Boolean value (true or false), this operation enables or disables the device
/// given a device ID.
///
/// Container for the necessary parameters to execute the UpdateDeviceState service method.
///
/// The response from the UpdateDeviceState service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for UpdateDeviceState Operation
UpdateDeviceStateResponse UpdateDeviceState(UpdateDeviceStateRequest request);
///
/// Using a Boolean value (true or false), this operation enables or disables the device
/// given a device ID.
///
/// Container for the necessary parameters to execute the UpdateDeviceState service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateDeviceState service method, as returned by IoT1ClickDevicesService.
///
///
///
///
///
///
///
///
///
/// REST API Reference for UpdateDeviceState Operation
Task UpdateDeviceStateAsync(UpdateDeviceStateRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}