All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.iot.AWSIot Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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.
 */
package com.amazonaws.services.iot;

import com.amazonaws.*;
import com.amazonaws.regions.*;

import com.amazonaws.services.iot.model.*;

/**
 * Interface for accessing AWS IoT.
 * 

* AWS IoT *

* AWS IoT provides secure, bi-directional communication between * Internet-connected things (such as sensors, actuators, embedded devices, or * smart appliances) and the AWS cloud. You can discover your custom IoT-Data * endpoint to communicate with, configure rules for data processing and * integration with other services, organize resources associated with each * thing (Thing Registry), configure logging, and create and manage policies and * credentials to authenticate things. *

*

* For more information about how AWS IoT works, see the Developer Guide. *

*/ public interface AWSIot { /** * The region metadata service name for computing region endpoints. You can * use this value to retrieve metadata (such as supported regions) of the * service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "iot"; /** * Overrides the default endpoint for this client * ("https://iot.us-east-1.amazonaws.com"). Callers can use this method to * control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: "iot.us-east-1.amazonaws.com") * or a full URL, including the protocol (ex: * "https://iot.us-east-1.amazonaws.com"). If the protocol is not specified * here, the default protocol from this client's {@link ClientConfiguration} * will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and * a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= * 3912 *

* This method is not threadsafe. An endpoint should be configured when * the client is created and before any service requests are made. Changing * it afterwards creates inevitable race conditions for any service requests * in transit or retrying. * * @param endpoint * The endpoint (ex: "iot.us-east-1.amazonaws.com") or a full URL, * including the protocol (ex: "https://iot.us-east-1.amazonaws.com") * of the region specific AWS endpoint this client will communicate * with. */ void setEndpoint(String endpoint); /** * An alternative to {@link AWSIot#setEndpoint(String)}, sets the regional * endpoint for this client's service calls. Callers can use this method to * control which AWS region they want to work with. *

* By default, all service endpoints in all regions use the https protocol. * To use http instead, specify it in the {@link ClientConfiguration} * supplied at construction. *

* This method is not threadsafe. A region should be configured when the * client is created and before any service requests are made. Changing it * afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param region * The region this client will communicate with. See * {@link Region#getRegion(com.amazonaws.regions.Regions)} for * accessing a given region. Must not be null and must be a region * where the service is available. * * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, * com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) * @see Region#isServiceSupported(String) */ void setRegion(Region region); /** *

* Accepts a pending certificate transfer. The default state of the * certificate is INACTIVE. *

*

* To check for pending certificate transfers, call ListCertificates * to enumerate your certificates. *

* * @param acceptCertificateTransferRequest * The input for the AcceptCertificateTransfer operation. * @return Result of the AcceptCertificateTransfer operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws TransferAlreadyCompletedException * You can't revert the certificate transfer because the transfer is * already complete. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.AcceptCertificateTransfer */ AcceptCertificateTransferResult acceptCertificateTransfer( AcceptCertificateTransferRequest acceptCertificateTransferRequest); /** *

* Attaches the specified policy to the specified principal (certificate or * other credential). *

* * @param attachPrincipalPolicyRequest * The input for the AttachPrincipalPolicy operation. * @return Result of the AttachPrincipalPolicy operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws LimitExceededException * The number of attached entities exceeds the limit. * @sample AWSIot.AttachPrincipalPolicy */ AttachPrincipalPolicyResult attachPrincipalPolicy( AttachPrincipalPolicyRequest attachPrincipalPolicyRequest); /** *

* Attaches the specified principal to the specified thing. *

* * @param attachThingPrincipalRequest * The input for the AttachThingPrincipal operation. * @return Result of the AttachThingPrincipal operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.AttachThingPrincipal */ AttachThingPrincipalResult attachThingPrincipal( AttachThingPrincipalRequest attachThingPrincipalRequest); /** *

* Cancels a pending transfer for the specified certificate. *

*

* Note Only the transfer source account can use this operation to * cancel a transfer. (Transfer destinations can use * RejectCertificateTransfer instead.) After transfer, AWS IoT * returns the certificate to the source account in the INACTIVE state. * After the destination account has accepted the transfer, the transfer * cannot be cancelled. *

*

* After a certificate transfer is cancelled, the status of the certificate * changes from PENDING_TRANSFER to INACTIVE. *

* * @param cancelCertificateTransferRequest * The input for the CancelCertificateTransfer operation. * @return Result of the CancelCertificateTransfer operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws TransferAlreadyCompletedException * You can't revert the certificate transfer because the transfer is * already complete. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.CancelCertificateTransfer */ CancelCertificateTransferResult cancelCertificateTransfer( CancelCertificateTransferRequest cancelCertificateTransferRequest); /** *

* Creates an X.509 certificate using the specified certificate signing * request. *

*

* Note Reusing the same certificate signing request (CSR) results in * a distinct certificate. *

*

* You can create multiple certificates in a batch by creating a directory, * copying multiple .csr files into that directory, and then specifying that * directory on the command line. The following commands show how to create * a batch of certificates given a batch of CSRs. *

*

* Assuming a set of CSRs are located inside of the directory * my-csr-directory: *

*

* On Linux and OS X, the command is: *

*

* $ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr * --certificate-signing-request file://my-csr-directory/{} *

*

* This command lists all of the CSRs in my-csr-directory and pipes each CSR * file name to the aws iot create-certificate-from-csr AWS CLI command to * create a certificate for the corresponding CSR. *

*

* The aws iot create-certificate-from-csr part of the command can also be * run in parallel to speed up the certificate creation process: *

*

* $ ls my-csr-directory/ | xargs -P 10 -I {} aws iot * create-certificate-from-csr --certificate-signing-request * file://my-csr-directory/{} *

*

* On Windows PowerShell, the command to create certificates for all CSRs in * my-csr-directory is: *

*

* > ls -Name my-csr-directory | %{aws iot create-certificate-from-csr * --certificate-signing-request file://my-csr-directory/$_} *

*

* On a Windows command prompt, the command to create certificates for all * CSRs in my-csr-directory is: *

*

* > forfiles /p my-csr-directory /c * "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path" *

* * @param createCertificateFromCsrRequest * The input for the CreateCertificateFromCsr operation. * @return Result of the CreateCertificateFromCsr operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.CreateCertificateFromCsr */ CreateCertificateFromCsrResult createCertificateFromCsr( CreateCertificateFromCsrRequest createCertificateFromCsrRequest); /** *

* Creates a 2048-bit RSA key pair and issues an X.509 certificate using the * issued public key. *

*

* Note This is the only time AWS IoT issues the private key for this * certificate, so it is important to keep it in a secure location. *

* * @param createKeysAndCertificateRequest * The input for the CreateKeysAndCertificate operation. * @return Result of the CreateKeysAndCertificate operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.CreateKeysAndCertificate */ CreateKeysAndCertificateResult createKeysAndCertificate( CreateKeysAndCertificateRequest createKeysAndCertificateRequest); /** *

* Creates an AWS IoT policy. *

*

* The created policy is the default version for the policy. This operation * creates a policy version with a version identifier of 1 and sets * 1 as the policy's default version. *

* * @param createPolicyRequest * The input for the CreatePolicy operation. * @return Result of the CreatePolicy operation returned by the service. * @throws ResourceAlreadyExistsException * The resource already exists. * @throws MalformedPolicyException * The policy documentation is not valid. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.CreatePolicy */ CreatePolicyResult createPolicy(CreatePolicyRequest createPolicyRequest); /** *

* Creates a new version of the specified AWS IoT policy. To update a * policy, create a new policy version. A managed policy can have up to five * versions. If the policy has five versions, you must use * DeletePolicyVersion to delete an existing version before you * create a new one. *

*

* Optionally, you can set the new version as the policy's default version. * The default version is the operative version (that is, the version that * is in effect for the certificates to which the policy is attached). *

* * @param createPolicyVersionRequest * The input for the CreatePolicyVersion operation. * @return Result of the CreatePolicyVersion operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws MalformedPolicyException * The policy documentation is not valid. * @throws VersionsLimitExceededException * The number of policy versions exceeds the limit. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.CreatePolicyVersion */ CreatePolicyVersionResult createPolicyVersion( CreatePolicyVersionRequest createPolicyVersionRequest); /** *

* Creates a thing record in the thing registry. *

* * @param createThingRequest * The input for the CreateThing operation. * @return Result of the CreateThing operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws ResourceAlreadyExistsException * The resource already exists. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AWSIot.CreateThing */ CreateThingResult createThing(CreateThingRequest createThingRequest); /** *

* Creates a new thing type. *

* * @param createThingTypeRequest * The input for the CreateThingType operation. * @return Result of the CreateThingType operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws ResourceAlreadyExistsException * The resource already exists. * @sample AWSIot.CreateThingType */ CreateThingTypeResult createThingType( CreateThingTypeRequest createThingTypeRequest); /** *

* Creates a rule. Creating rules is an administrator-level action. Any user * who has permission to create rules will be able to access data processed * by the rule. *

* * @param createTopicRuleRequest * The input for the CreateTopicRule operation. * @return Result of the CreateTopicRule operation returned by the service. * @throws SqlParseException * The Rule-SQL expression can't be parsed correctly. * @throws InternalException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @throws ResourceAlreadyExistsException * The resource already exists. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @sample AWSIot.CreateTopicRule */ CreateTopicRuleResult createTopicRule( CreateTopicRuleRequest createTopicRuleRequest); /** *

* Deletes a registered CA certificate. *

* * @param deleteCACertificateRequest * Input for the DeleteCACertificate operation. * @return Result of the DeleteCACertificate operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws CertificateStateException * The certificate operation is not allowed. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AWSIot.DeleteCACertificate */ DeleteCACertificateResult deleteCACertificate( DeleteCACertificateRequest deleteCACertificateRequest); /** *

* Deletes the specified certificate. *

*

* A certificate cannot be deleted if it has a policy attached to it or if * its status is set to ACTIVE. To delete a certificate, first use the * DetachPrincipalPolicy API to detach all policies. Next, use the * UpdateCertificate API to set the certificate to the INACTIVE * status. *

* * @param deleteCertificateRequest * The input for the DeleteCertificate operation. * @return Result of the DeleteCertificate operation returned by the * service. * @throws CertificateStateException * The certificate operation is not allowed. * @throws DeleteConflictException * You can't delete the resource because it is attached to one or * more resources. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AWSIot.DeleteCertificate */ DeleteCertificateResult deleteCertificate( DeleteCertificateRequest deleteCertificateRequest); /** *

* Deletes the specified policy. *

*

* A policy cannot be deleted if it has non-default versions or it is * attached to any certificate. *

*

* To delete a policy, use the DeletePolicyVersion API to delete all * non-default versions of the policy; use the DetachPrincipalPolicy API to * detach the policy from any certificate; and then use the DeletePolicy API * to delete the policy. *

*

* When a policy is deleted using DeletePolicy, its default version is * deleted with it. *

* * @param deletePolicyRequest * The input for the DeletePolicy operation. * @return Result of the DeletePolicy operation returned by the service. * @throws DeleteConflictException * You can't delete the resource because it is attached to one or * more resources. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DeletePolicy */ DeletePolicyResult deletePolicy(DeletePolicyRequest deletePolicyRequest); /** *

* Deletes the specified version of the specified policy. You cannot delete * the default version of a policy using this API. To delete the default * version of a policy, use DeletePolicy. To find out which version * of a policy is marked as the default version, use ListPolicyVersions. *

* * @param deletePolicyVersionRequest * The input for the DeletePolicyVersion operation. * @return Result of the DeletePolicyVersion operation returned by the * service. * @throws DeleteConflictException * You can't delete the resource because it is attached to one or * more resources. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DeletePolicyVersion */ DeletePolicyVersionResult deletePolicyVersion( DeletePolicyVersionRequest deletePolicyVersionRequest); /** *

* Deletes a CA certificate registration code. *

* * @param deleteRegistrationCodeRequest * The input for the DeleteRegistrationCode operation. * @return Result of the DeleteRegistrationCode operation returned by the * service. * @throws ThrottlingException * The rate exceeds the limit. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DeleteRegistrationCode */ DeleteRegistrationCodeResult deleteRegistrationCode( DeleteRegistrationCodeRequest deleteRegistrationCodeRequest); /** *

* Deletes the specified thing. *

* * @param deleteThingRequest * The input for the DeleteThing operation. * @return Result of the DeleteThing operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws VersionConflictException * An exception thrown when the version of a thing passed to a * command is different than the version specified with the * --version parameter. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DeleteThing */ DeleteThingResult deleteThing(DeleteThingRequest deleteThingRequest); /** *

* Deletes the specified thing type . You cannot delete a thing type if it * has things associated with it. To delete a thing type, first mark it as * deprecated by calling DeprecateThingType, then remove any * associated things by calling UpdateThing to change the thing type * on any associated thing, and finally use DeleteThingType to delete * the thing type. *

* * @param deleteThingTypeRequest * The input for the DeleteThingType operation. * @return Result of the DeleteThingType operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DeleteThingType */ DeleteThingTypeResult deleteThingType( DeleteThingTypeRequest deleteThingTypeRequest); /** *

* Deletes the specified rule. *

* * @param deleteTopicRuleRequest * The input for the DeleteTopicRule operation. * @return Result of the DeleteTopicRule operation returned by the service. * @throws InternalException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws UnauthorizedException * You are not authorized to perform this operation. * @sample AWSIot.DeleteTopicRule */ DeleteTopicRuleResult deleteTopicRule( DeleteTopicRuleRequest deleteTopicRuleRequest); /** *

* Deprecates a thing type. You can not associate new things with deprecated * thing type. *

* * @param deprecateThingTypeRequest * The input for the DeprecateThingType operation. * @return Result of the DeprecateThingType operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DeprecateThingType */ DeprecateThingTypeResult deprecateThingType( DeprecateThingTypeRequest deprecateThingTypeRequest); /** *

* Describes a registered CA certificate. *

* * @param describeCACertificateRequest * The input for the DescribeCACertificate operation. * @return Result of the DescribeCACertificate operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AWSIot.DescribeCACertificate */ DescribeCACertificateResult describeCACertificate( DescribeCACertificateRequest describeCACertificateRequest); /** *

* Gets information about the specified certificate. *

* * @param describeCertificateRequest * The input for the DescribeCertificate operation. * @return Result of the DescribeCertificate operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AWSIot.DescribeCertificate */ DescribeCertificateResult describeCertificate( DescribeCertificateRequest describeCertificateRequest); /** *

* Returns a unique endpoint specific to the AWS account making the call. *

* * @param describeEndpointRequest * The input for the DescribeEndpoint operation. * @return Result of the DescribeEndpoint operation returned by the service. * @throws InternalFailureException * An unexpected error has occurred. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ThrottlingException * The rate exceeds the limit. * @sample AWSIot.DescribeEndpoint */ DescribeEndpointResult describeEndpoint( DescribeEndpointRequest describeEndpointRequest); /** *

* Gets information about the specified thing. *

* * @param describeThingRequest * The input for the DescribeThing operation. * @return Result of the DescribeThing operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DescribeThing */ DescribeThingResult describeThing(DescribeThingRequest describeThingRequest); /** *

* Gets information about the specified thing type. *

* * @param describeThingTypeRequest * The input for the DescribeThingType operation. * @return Result of the DescribeThingType operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DescribeThingType */ DescribeThingTypeResult describeThingType( DescribeThingTypeRequest describeThingTypeRequest); /** *

* Removes the specified policy from the specified certificate. *

* * @param detachPrincipalPolicyRequest * The input for the DetachPrincipalPolicy operation. * @return Result of the DetachPrincipalPolicy operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DetachPrincipalPolicy */ DetachPrincipalPolicyResult detachPrincipalPolicy( DetachPrincipalPolicyRequest detachPrincipalPolicyRequest); /** *

* Detaches the specified principal from the specified thing. *

* * @param detachThingPrincipalRequest * The input for the DetachThingPrincipal operation. * @return Result of the DetachThingPrincipal operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.DetachThingPrincipal */ DetachThingPrincipalResult detachThingPrincipal( DetachThingPrincipalRequest detachThingPrincipalRequest); /** *

* Disables the specified rule. *

* * @param disableTopicRuleRequest * The input for the DisableTopicRuleRequest operation. * @return Result of the DisableTopicRule operation returned by the service. * @throws InternalException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws UnauthorizedException * You are not authorized to perform this operation. * @sample AWSIot.DisableTopicRule */ DisableTopicRuleResult disableTopicRule( DisableTopicRuleRequest disableTopicRuleRequest); /** *

* Enables the specified rule. *

* * @param enableTopicRuleRequest * The input for the EnableTopicRuleRequest operation. * @return Result of the EnableTopicRule operation returned by the service. * @throws InternalException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws UnauthorizedException * You are not authorized to perform this operation. * @sample AWSIot.EnableTopicRule */ EnableTopicRuleResult enableTopicRule( EnableTopicRuleRequest enableTopicRuleRequest); /** *

* Gets the logging options. *

* * @param getLoggingOptionsRequest * The input for the GetLoggingOptions operation. * @return Result of the GetLoggingOptions operation returned by the * service. * @throws InternalException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @sample AWSIot.GetLoggingOptions */ GetLoggingOptionsResult getLoggingOptions( GetLoggingOptionsRequest getLoggingOptionsRequest); /** *

* Gets information about the specified policy with the policy document of * the default version. *

* * @param getPolicyRequest * The input for the GetPolicy operation. * @return Result of the GetPolicy operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.GetPolicy */ GetPolicyResult getPolicy(GetPolicyRequest getPolicyRequest); /** *

* Gets information about the specified policy version. *

* * @param getPolicyVersionRequest * The input for the GetPolicyVersion operation. * @return Result of the GetPolicyVersion operation returned by the service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.GetPolicyVersion */ GetPolicyVersionResult getPolicyVersion( GetPolicyVersionRequest getPolicyVersionRequest); /** *

* Gets a registration code used to register a CA certificate with AWS IoT. *

* * @param getRegistrationCodeRequest * The input to the GetRegistrationCode operation. * @return Result of the GetRegistrationCode operation returned by the * service. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @sample AWSIot.GetRegistrationCode */ GetRegistrationCodeResult getRegistrationCode( GetRegistrationCodeRequest getRegistrationCodeRequest); /** *

* Gets information about the specified rule. *

* * @param getTopicRuleRequest * The input for the GetTopicRule operation. * @return Result of the GetTopicRule operation returned by the service. * @throws InternalException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws UnauthorizedException * You are not authorized to perform this operation. * @sample AWSIot.GetTopicRule */ GetTopicRuleResult getTopicRule(GetTopicRuleRequest getTopicRuleRequest); /** *

* Lists the CA certificates registered for your AWS account. *

*

* The results are paginated with a default page size of 25. You can use the * returned marker to retrieve additional results. *

* * @param listCACertificatesRequest * Input for the ListCACertificates operation. * @return Result of the ListCACertificates operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.ListCACertificates */ ListCACertificatesResult listCACertificates( ListCACertificatesRequest listCACertificatesRequest); /** *

* Lists the certificates registered in your AWS account. *

*

* The results are paginated with a default page size of 25. You can use the * returned marker to retrieve additional results. *

* * @param listCertificatesRequest * The input for the ListCertificates operation. * @return Result of the ListCertificates operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.ListCertificates */ ListCertificatesResult listCertificates( ListCertificatesRequest listCertificatesRequest); /** *

* List the device certificates signed by the specified CA certificate. *

* * @param listCertificatesByCARequest * The input to the ListCertificatesByCA operation. * @return Result of the ListCertificatesByCA operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.ListCertificatesByCA */ ListCertificatesByCAResult listCertificatesByCA( ListCertificatesByCARequest listCertificatesByCARequest); /** *

* Lists your policies. *

* * @param listPoliciesRequest * The input for the ListPolicies operation. * @return Result of the ListPolicies operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.ListPolicies */ ListPoliciesResult listPolicies(ListPoliciesRequest listPoliciesRequest); /** *

* Lists the principals associated with the specified policy. *

* * @param listPolicyPrincipalsRequest * The input for the ListPolicyPrincipals operation. * @return Result of the ListPolicyPrincipals operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.ListPolicyPrincipals */ ListPolicyPrincipalsResult listPolicyPrincipals( ListPolicyPrincipalsRequest listPolicyPrincipalsRequest); /** *

* Lists the versions of the specified policy and identifies the default * version. *

* * @param listPolicyVersionsRequest * The input for the ListPolicyVersions operation. * @return Result of the ListPolicyVersions operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.ListPolicyVersions */ ListPolicyVersionsResult listPolicyVersions( ListPolicyVersionsRequest listPolicyVersionsRequest); /** *

* Lists the policies attached to the specified principal. If you use an * Cognito identity, the ID must be in AmazonCognito Identity format. *

* * @param listPrincipalPoliciesRequest * The input for the ListPrincipalPolicies operation. * @return Result of the ListPrincipalPolicies operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.ListPrincipalPolicies */ ListPrincipalPoliciesResult listPrincipalPolicies( ListPrincipalPoliciesRequest listPrincipalPoliciesRequest); /** *

* Lists the things associated with the specified principal. *

* * @param listPrincipalThingsRequest * The input for the ListPrincipalThings operation. * @return Result of the ListPrincipalThings operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AWSIot.ListPrincipalThings */ ListPrincipalThingsResult listPrincipalThings( ListPrincipalThingsRequest listPrincipalThingsRequest); /** *

* Lists the principals associated with the specified thing. *

* * @param listThingPrincipalsRequest * The input for the ListThingPrincipal operation. * @return Result of the ListThingPrincipals operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AWSIot.ListThingPrincipals */ ListThingPrincipalsResult listThingPrincipals( ListThingPrincipalsRequest listThingPrincipalsRequest); /** *

* Lists the existing thing types. *

* * @param listThingTypesRequest * The input for the ListThingTypes operation. * @return Result of the ListThingTypes operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.ListThingTypes */ ListThingTypesResult listThingTypes( ListThingTypesRequest listThingTypesRequest); /** *

* Lists your things. Use the attributeName and attributeValue * parameters to filter your things. For example, calling * ListThings with attributeName=Color and attributeValue=Red * retrieves all things in the registry that contain an attribute * Color with the value Red. *

* * @param listThingsRequest * The input for the ListThings operation. * @return Result of the ListThings operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.ListThings */ ListThingsResult listThings(ListThingsRequest listThingsRequest); /** *

* Lists the rules for the specific topic. *

* * @param listTopicRulesRequest * The input for the ListTopicRules operation. * @return Result of the ListTopicRules operation returned by the service. * @throws InternalException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @sample AWSIot.ListTopicRules */ ListTopicRulesResult listTopicRules( ListTopicRulesRequest listTopicRulesRequest); /** *

* Registers a CA certificate with AWS IoT. This CA certificate can then be * used to sign device certificates, which can be then registered with AWS * IoT. You can register up to 10 CA certificates per AWS account that have * the same subject field and public key. This enables you to have up to 10 * certificate authorities sign your device certificates. If you have more * than one CA certificate registered, make sure you pass the CA certificate * when you register your device certificates with the RegisterCertificate * API. *

* * @param registerCACertificateRequest * The input to the RegisterCACertificate operation. * @return Result of the RegisterCACertificate operation returned by the * service. * @throws ResourceAlreadyExistsException * The resource already exists. * @throws RegistrationCodeValidationException * The registration code is invalid. * @throws InvalidRequestException * The request is not valid. * @throws CertificateValidationException * The certificate is invalid. * @throws ThrottlingException * The rate exceeds the limit. * @throws LimitExceededException * The number of attached entities exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.RegisterCACertificate */ RegisterCACertificateResult registerCACertificate( RegisterCACertificateRequest registerCACertificateRequest); /** *

* Registers a device certificate with AWS IoT. If you have more than one CA * certificate that has the same subject field, you must specify the CA * certificate that was used to sign the device certificate being * registered. *

* * @param registerCertificateRequest * The input to the RegisterCertificate operation. * @return Result of the RegisterCertificate operation returned by the * service. * @throws ResourceAlreadyExistsException * The resource already exists. * @throws InvalidRequestException * The request is not valid. * @throws CertificateValidationException * The certificate is invalid. * @throws CertificateStateException * The certificate operation is not allowed. * @throws CertificateConflictException * Unable to verify the CA certificate used to sign the device * certificate you are attempting to register. This is happens when * you have registered more than one CA certificate that has the * same subject field and public key. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.RegisterCertificate */ RegisterCertificateResult registerCertificate( RegisterCertificateRequest registerCertificateRequest); /** *

* Rejects a pending certificate transfer. After AWS IoT rejects a * certificate transfer, the certificate status changes from * PENDING_TRANSFER to INACTIVE. *

*

* To check for pending certificate transfers, call ListCertificates * to enumerate your certificates. *

*

* This operation can only be called by the transfer destination. After it * is called, the certificate will be returned to the source's account in * the INACTIVE state. *

* * @param rejectCertificateTransferRequest * The input for the RejectCertificateTransfer operation. * @return Result of the RejectCertificateTransfer operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws TransferAlreadyCompletedException * You can't revert the certificate transfer because the transfer is * already complete. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.RejectCertificateTransfer */ RejectCertificateTransferResult rejectCertificateTransfer( RejectCertificateTransferRequest rejectCertificateTransferRequest); /** *

* Replaces the specified rule. You must specify all parameters for the new * rule. Creating rules is an administrator-level action. Any user who has * permission to create rules will be able to access data processed by the * rule. *

* * @param replaceTopicRuleRequest * The input for the ReplaceTopicRule operation. * @return Result of the ReplaceTopicRule operation returned by the service. * @throws SqlParseException * The Rule-SQL expression can't be parsed correctly. * @throws InternalException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws UnauthorizedException * You are not authorized to perform this operation. * @sample AWSIot.ReplaceTopicRule */ ReplaceTopicRuleResult replaceTopicRule( ReplaceTopicRuleRequest replaceTopicRuleRequest); /** *

* Sets the specified version of the specified policy as the policy's * default (operative) version. This action affects all certificates to * which the policy is attached. To list the principals the policy is * attached to, use the ListPrincipalPolicy API. *

* * @param setDefaultPolicyVersionRequest * The input for the SetDefaultPolicyVersion operation. * @return Result of the SetDefaultPolicyVersion operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.SetDefaultPolicyVersion */ SetDefaultPolicyVersionResult setDefaultPolicyVersion( SetDefaultPolicyVersionRequest setDefaultPolicyVersionRequest); /** *

* Sets the logging options. *

* * @param setLoggingOptionsRequest * The input for the SetLoggingOptions operation. * @return Result of the SetLoggingOptions operation returned by the * service. * @throws InternalException * An unexpected error has occurred. * @throws InvalidRequestException * The request is not valid. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @sample AWSIot.SetLoggingOptions */ SetLoggingOptionsResult setLoggingOptions( SetLoggingOptionsRequest setLoggingOptionsRequest); /** *

* Transfers the specified certificate to the specified AWS account. *

*

* You can cancel the transfer until it is acknowledged by the recipient. *

*

* No notification is sent to the transfer destination's account. It is up * to the caller to notify the transfer target. *

*

* The certificate being transferred must not be in the ACTIVE state. You * can use the UpdateCertificate API to deactivate it. *

*

* The certificate must not have any policies attached to it. You can use * the DetachPrincipalPolicy API to detach them. *

* * @param transferCertificateRequest * The input for the TransferCertificate operation. * @return Result of the TransferCertificate operation returned by the * service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws CertificateStateException * The certificate operation is not allowed. * @throws TransferConflictException * You can't transfer the certificate because authorization policies * are still attached. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.TransferCertificate */ TransferCertificateResult transferCertificate( TransferCertificateRequest transferCertificateRequest); /** *

* Updates a registered CA certificate. *

* * @param updateCACertificateRequest * The input to the UpdateCACertificate operation. * @return Result of the UpdateCACertificate operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.UpdateCACertificate */ UpdateCACertificateResult updateCACertificate( UpdateCACertificateRequest updateCACertificateRequest); /** *

* Updates the status of the specified certificate. This operation is * idempotent. *

*

* Moving a certificate from the ACTIVE state (including REVOKED) will not * disconnect currently connected devices, but these devices will be unable * to reconnect. *

*

* The ACTIVE state is required to authenticate devices connecting to AWS * IoT using a certificate. *

* * @param updateCertificateRequest * The input for the UpdateCertificate operation. * @return Result of the UpdateCertificate operation returned by the * service. * @throws ResourceNotFoundException * The specified resource does not exist. * @throws CertificateStateException * The certificate operation is not allowed. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @sample AWSIot.UpdateCertificate */ UpdateCertificateResult updateCertificate( UpdateCertificateRequest updateCertificateRequest); /** *

* Updates the data for a thing. *

* * @param updateThingRequest * The input for the UpdateThing operation. * @return Result of the UpdateThing operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws VersionConflictException * An exception thrown when the version of a thing passed to a * command is different than the version specified with the * --version parameter. * @throws ThrottlingException * The rate exceeds the limit. * @throws UnauthorizedException * You are not authorized to perform this operation. * @throws ServiceUnavailableException * The service is temporarily unavailable. * @throws InternalFailureException * An unexpected error has occurred. * @throws ResourceNotFoundException * The specified resource does not exist. * @sample AWSIot.UpdateThing */ UpdateThingResult updateThing(UpdateThingRequest updateThingRequest); /** * Shuts down this client object, releasing any resources that might be held * open. This is an optional method, and callers are not expected to call * it, but can if they want to explicitly release any open resources. Once a * client has been shutdown, it should not be used to make any more * requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, * typically used for debugging issues where a service isn't acting as * expected. This data isn't considered part of the result data returned by * an operation, so it's available through this separate, diagnostic * interface. *

* Response metadata is only cached for a limited period of time, so if you * need to access this extra diagnostic information for an executed request, * you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none * is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy