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

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

Go to download

The AWS Android SDK for AWS IoT module holds the client classes that are used for communicating with AWS IoT Service

There is a newer version: 2.6.27
Show newest version
/*
 * Copyright 2010-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 java.util.*;

import com.amazonaws.*;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.metrics.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.util.AWSRequestMetrics.Field;

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

/**
 * Client for accessing AWS IoT. All service calls made using this client are
 * blocking, and will not return until the service call completes.
 * 

* 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 class AWSIotClient extends AmazonWebServiceClient implements AWSIot { /** Provider for AWS credentials. */ private AWSCredentialsProvider awsCredentialsProvider; /** * List of exception unmarshallers for all AWS IoT exceptions. */ protected List jsonErrorUnmarshallers; /** * Constructs a new client to invoke service methods on AWSIot. A * credentials provider chain will be used that searches for credentials in * this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
*

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ @Deprecated public AWSIotClient() { this(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on AWSIot. A * credentials provider chain will be used that searches for credentials in * this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
*

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param clientConfiguration The client configuration options controlling * how this client connects to AWSIot (ex: proxy settings, retry * counts, etc.). * @see DefaultAWSCredentialsProviderChain */ @Deprecated public AWSIotClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration); } /** * Constructs a new client to invoke service methods on AWSIot using the * specified AWS account credentials. *

* If AWS session credentials are passed in, then those credentials will be * used to authenticate requests. Otherwise, if AWS long-term credentials * are passed in, then session management will be handled automatically by * the SDK. Callers are encouraged to use long-term credentials and let the * SDK handle starting and renewing sessions. *

* Automatically managed sessions will be shared among all clients that use * the same credentials and service endpoint. To opt out of this behavior, * explicitly provide an instance of {@link AWSCredentialsProvider} that * returns {@link AWSSessionCredentials}. *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) * to use when authenticating with AWS services. */ public AWSIotClient(AWSCredentials awsCredentials) { this(awsCredentials, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on AWSIot using the * specified AWS account credentials and client configuration options. *

* If AWS session credentials are passed in, then those credentials will be * used to authenticate requests. Otherwise, if AWS long-term credentials * are passed in, then session management will be handled automatically by * the SDK. Callers are encouraged to use long-term credentials and let the * SDK handle starting and renewing sessions. *

* Automatically managed sessions will be shared among all clients that use * the same credentials and service endpoint. To opt out of this behavior, * explicitly provide an instance of {@link AWSCredentialsProvider} that * returns {@link AWSSessionCredentials}. *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) * to use when authenticating with AWS services. * @param clientConfiguration The client configuration options controlling * how this client connects to AWSIot (ex: proxy settings, retry * counts, etc.). */ public AWSIotClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { this(new StaticCredentialsProvider(awsCredentials), clientConfiguration); } /** * Constructs a new client to invoke service methods on AWSIot using the * specified AWS account credentials provider. *

* If AWS session credentials are passed in, then those credentials will be * used to authenticate requests. Otherwise, if AWS long-term credentials * are passed in, then session management will be handled automatically by * the SDK. Callers are encouraged to use long-term credentials and let the * SDK handle starting and renewing sessions. *

* Automatically managed sessions will be shared among all clients that use * the same credentials and service endpoint. To opt out of this behavior, * explicitly provide an instance of {@link AWSCredentialsProvider} that * returns {@link AWSSessionCredentials}. *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider The AWS credentials provider which will * provide credentials to authenticate requests with AWS * services. */ public AWSIotClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on AWSIot using the * specified AWS account credentials provider and client configuration * options. *

* If AWS session credentials are passed in, then those credentials will be * used to authenticate requests. Otherwise, if AWS long-term credentials * are passed in, then session management will be handled automatically by * the SDK. Callers are encouraged to use long-term credentials and let the * SDK handle starting and renewing sessions. *

* Automatically managed sessions will be shared among all clients that use * the same credentials and service endpoint. To opt out of this behavior, * explicitly provide an instance of {@link AWSCredentialsProvider} that * returns {@link AWSSessionCredentials}. *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider The AWS credentials provider which will * provide credentials to authenticate requests with AWS * services. * @param clientConfiguration The client configuration options controlling * how this client connects to AWSIot (ex: proxy settings, retry * counts, etc.). */ public AWSIotClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, new UrlHttpClient(clientConfiguration)); } /** * Constructs a new client to invoke service methods on AWSIot using the * specified AWS account credentials provider, client configuration options * and request metric collector. *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider The AWS credentials provider which will * provide credentials to authenticate requests with AWS * services. * @param clientConfiguration The client configuration options controlling * how this client connects to AWSIot (ex: proxy settings, retry * counts, etc.). * @param requestMetricCollector optional request metric collector */ @Deprecated public AWSIotClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(adjustClientConfiguration(clientConfiguration), requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } /** * Constructs a new client to invoke service methods on AWSIot using the * specified AWS account credentials provider, client configuration options * and request metric collector. *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider The AWS credentials provider which will * provide credentials to authenticate requests with AWS * services. * @param clientConfiguration The client configuration options controlling * how this client connects to AWSIot (ex: proxy settings, retry * counts, etc.). * @param httpClient A http client */ public AWSIotClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, HttpClient httpClient) { super(adjustClientConfiguration(clientConfiguration), httpClient); this.awsCredentialsProvider = awsCredentialsProvider; init(); } private void init() { jsonErrorUnmarshallers = new ArrayList(); jsonErrorUnmarshallers.add(new CertificateConflictExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new CertificateStateExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new CertificateValidationExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new DeleteConflictExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new InternalExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new InternalFailureExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new InvalidRequestExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new LimitExceededExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new MalformedPolicyExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new RegistrationCodeValidationExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new ResourceAlreadyExistsExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new ResourceNotFoundExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new ServiceUnavailableExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new SqlParseExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new ThrottlingExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new TransferAlreadyCompletedExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new TransferConflictExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new UnauthorizedExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new VersionsLimitExceededExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new JsonErrorUnmarshaller()); // calling this.setEndPoint(...) will also modify the signer accordingly this.setEndpoint("iot.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain( "/com/amazonaws/services/iot/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain( "/com/amazonaws/services/iot/request.handler2s")); } private static ClientConfiguration adjustClientConfiguration(ClientConfiguration orig) { ClientConfiguration config = orig; return config; } /** *

* 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. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void acceptCertificateTransfer( AcceptCertificateTransferRequest acceptCertificateTransferRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(acceptCertificateTransferRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AcceptCertificateTransferRequestMarshaller() .marshall(acceptCertificateTransferRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

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

* * @param attachPrincipalPolicyRequest

* The input for the AttachPrincipalPolicy operation. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void attachPrincipalPolicy(AttachPrincipalPolicyRequest attachPrincipalPolicyRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(attachPrincipalPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AttachPrincipalPolicyRequestMarshaller() .marshall(attachPrincipalPolicyRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Attaches the specified principal to the specified thing. *

* * @param attachThingPrincipalRequest

* The input for the AttachThingPrincipal operation. *

* @return attachThingPrincipalResult The response from the * AttachThingPrincipal service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public AttachThingPrincipalResult attachThingPrincipal( AttachThingPrincipalRequest attachThingPrincipalRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(attachThingPrincipalRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AttachThingPrincipalRequestMarshaller() .marshall(attachThingPrincipalRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new AttachThingPrincipalResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void cancelCertificateTransfer( CancelCertificateTransferRequest cancelCertificateTransferRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(cancelCertificateTransferRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CancelCertificateTransferRequestMarshaller() .marshall(cancelCertificateTransferRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 createCertificateFromCsrResult The response from the * CreateCertificateFromCsr service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public CreateCertificateFromCsrResult createCertificateFromCsr( CreateCertificateFromCsrRequest createCertificateFromCsrRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(createCertificateFromCsrRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateCertificateFromCsrRequestMarshaller() .marshall(createCertificateFromCsrRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreateCertificateFromCsrResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 createKeysAndCertificateResult The response from the * CreateKeysAndCertificate service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public CreateKeysAndCertificateResult createKeysAndCertificate( CreateKeysAndCertificateRequest createKeysAndCertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(createKeysAndCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateKeysAndCertificateRequestMarshaller() .marshall(createKeysAndCertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreateKeysAndCertificateResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 createPolicyResult The response from the CreatePolicy service * method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public CreatePolicyResult createPolicy(CreatePolicyRequest createPolicyRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(createPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreatePolicyRequestMarshaller().marshall(createPolicyRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreatePolicyResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 createPolicyVersionResult The response from the * CreatePolicyVersion service method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public CreatePolicyVersionResult createPolicyVersion( CreatePolicyVersionRequest createPolicyVersionRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(createPolicyVersionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreatePolicyVersionRequestMarshaller() .marshall(createPolicyVersionRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreatePolicyVersionResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Creates a thing in the Thing Registry. *

* * @param createThingRequest

* The input for the CreateThing operation. *

* @return createThingResult The response from the CreateThing service * method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public CreateThingResult createThing(CreateThingRequest createThingRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(createThingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateThingRequestMarshaller().marshall(createThingRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreateThingResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void createTopicRule(CreateTopicRuleRequest createTopicRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(createTopicRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTopicRuleRequestMarshaller().marshall(createTopicRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Deletes a registered CA certificate. *

* * @param deleteCACertificateRequest

* Input for the DeleteCACertificate operation. *

* @return deleteCACertificateResult The response from the * DeleteCACertificate service method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public DeleteCACertificateResult deleteCACertificate( DeleteCACertificateRequest deleteCACertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteCACertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteCACertificateRequestMarshaller() .marshall(deleteCACertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteCACertificateResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void deleteCertificate(DeleteCertificateRequest deleteCertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteCertificateRequestMarshaller() .marshall(deleteCertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void deletePolicy(DeletePolicyRequest deletePolicyRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deletePolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeletePolicyRequestMarshaller().marshall(deletePolicyRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void deletePolicyVersion(DeletePolicyVersionRequest deletePolicyVersionRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deletePolicyVersionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeletePolicyVersionRequestMarshaller() .marshall(deletePolicyVersionRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Deletes a CA certificate registration code. *

* * @param deleteRegistrationCodeRequest

* The input for the DeleteRegistrationCode operation. *

* @return deleteRegistrationCodeResult The response from the * DeleteRegistrationCode service method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public DeleteRegistrationCodeResult deleteRegistrationCode( DeleteRegistrationCodeRequest deleteRegistrationCodeRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteRegistrationCodeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteRegistrationCodeRequestMarshaller() .marshall(deleteRegistrationCodeRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteRegistrationCodeResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Deletes the specified thing from the Thing Registry. *

* * @param deleteThingRequest

* The input for the DeleteThing operation. *

* @return deleteThingResult The response from the DeleteThing service * method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public DeleteThingResult deleteThing(DeleteThingRequest deleteThingRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteThingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteThingRequestMarshaller().marshall(deleteThingRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteThingResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Deletes the specified rule. *

* * @param deleteTopicRuleRequest

* The input for the DeleteTopicRule operation. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void deleteTopicRule(DeleteTopicRuleRequest deleteTopicRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(deleteTopicRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTopicRuleRequestMarshaller().marshall(deleteTopicRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Describes a registered CA certificate. *

* * @param describeCACertificateRequest

* The input for the DescribeCACertificate operation. *

* @return describeCACertificateResult The response from the * DescribeCACertificate service method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public DescribeCACertificateResult describeCACertificate( DescribeCACertificateRequest describeCACertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(describeCACertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeCACertificateRequestMarshaller() .marshall(describeCACertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeCACertificateResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Gets information about the specified certificate. *

* * @param describeCertificateRequest

* The input for the DescribeCertificate operation. *

* @return describeCertificateResult The response from the * DescribeCertificate service method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public DescribeCertificateResult describeCertificate( DescribeCertificateRequest describeCertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(describeCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeCertificateRequestMarshaller() .marshall(describeCertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeCertificateResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

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

* * @param describeEndpointRequest

* The input for the DescribeEndpoint operation. *

* @return describeEndpointResult The response from the DescribeEndpoint * service method, as returned by AWS IoT. * @throws InternalFailureException

* An unexpected error has occurred. *

* @throws UnauthorizedException

* You are not authorized to perform this operation. *

* @throws ThrottlingException

* The rate exceeds the limit. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public DescribeEndpointResult describeEndpoint(DescribeEndpointRequest describeEndpointRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(describeEndpointRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeEndpointRequestMarshaller().marshall(describeEndpointRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeEndpointResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Gets information about the specified thing. *

* * @param describeThingRequest

* The input for the DescribeThing operation. *

* @return describeThingResult The response from the DescribeThing service * method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public DescribeThingResult describeThing(DescribeThingRequest describeThingRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(describeThingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeThingRequestMarshaller().marshall(describeThingRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeThingResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Removes the specified policy from the specified certificate. *

* * @param detachPrincipalPolicyRequest

* The input for the DetachPrincipalPolicy operation. *

* @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void detachPrincipalPolicy(DetachPrincipalPolicyRequest detachPrincipalPolicyRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(detachPrincipalPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DetachPrincipalPolicyRequestMarshaller() .marshall(detachPrincipalPolicyRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Detaches the specified principal from the specified thing. *

* * @param detachThingPrincipalRequest

* The input for the DetachThingPrincipal operation. *

* @return detachThingPrincipalResult The response from the * DetachThingPrincipal service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public DetachThingPrincipalResult detachThingPrincipal( DetachThingPrincipalRequest detachThingPrincipalRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(detachThingPrincipalRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DetachThingPrincipalRequestMarshaller() .marshall(detachThingPrincipalRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DetachThingPrincipalResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Disables the specified rule. *

* * @param disableTopicRuleRequest

* The input for the DisableTopicRuleRequest operation. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void disableTopicRule(DisableTopicRuleRequest disableTopicRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(disableTopicRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisableTopicRuleRequestMarshaller().marshall(disableTopicRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Enables the specified rule. *

* * @param enableTopicRuleRequest

* The input for the EnableTopicRuleRequest operation. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void enableTopicRule(EnableTopicRuleRequest enableTopicRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(enableTopicRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new EnableTopicRuleRequestMarshaller().marshall(enableTopicRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Gets the logging options. *

* * @param getLoggingOptionsRequest

* The input for the GetLoggingOptions operation. *

* @return getLoggingOptionsResult The response from the GetLoggingOptions * service method, as returned by AWS IoT. * @throws InternalException

* An unexpected error has occurred. *

* @throws InvalidRequestException

* The request is not valid. *

* @throws ServiceUnavailableException

* The service is temporarily unavailable. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public GetLoggingOptionsResult getLoggingOptions( GetLoggingOptionsRequest getLoggingOptionsRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getLoggingOptionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetLoggingOptionsRequestMarshaller() .marshall(getLoggingOptionsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new GetLoggingOptionsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

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

* * @param getPolicyRequest

* The input for the GetPolicy operation. *

* @return getPolicyResult The response from the GetPolicy service method, * as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public GetPolicyResult getPolicy(GetPolicyRequest getPolicyRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetPolicyRequestMarshaller().marshall(getPolicyRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new GetPolicyResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Gets information about the specified policy version. *

* * @param getPolicyVersionRequest

* The input for the GetPolicyVersion operation. *

* @return getPolicyVersionResult The response from the GetPolicyVersion * service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public GetPolicyVersionResult getPolicyVersion(GetPolicyVersionRequest getPolicyVersionRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getPolicyVersionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetPolicyVersionRequestMarshaller().marshall(getPolicyVersionRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new GetPolicyVersionResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

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

* * @param getRegistrationCodeRequest

* The input to the GetRegistrationCode operation. *

* @return getRegistrationCodeResult The response from the * GetRegistrationCode service method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public GetRegistrationCodeResult getRegistrationCode( GetRegistrationCodeRequest getRegistrationCodeRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getRegistrationCodeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetRegistrationCodeRequestMarshaller() .marshall(getRegistrationCodeRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new GetRegistrationCodeResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Gets information about the specified rule. *

* * @param getTopicRuleRequest

* The input for the GetTopicRule operation. *

* @return getTopicRuleResult The response from the GetTopicRule service * method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public GetTopicRuleResult getTopicRule(GetTopicRuleRequest getTopicRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(getTopicRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetTopicRuleRequestMarshaller().marshall(getTopicRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new GetTopicRuleResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 listCACertificatesResult The response from the ListCACertificates * service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListCACertificatesResult listCACertificates( ListCACertificatesRequest listCACertificatesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listCACertificatesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListCACertificatesRequestMarshaller() .marshall(listCACertificatesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListCACertificatesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 listCertificatesResult The response from the ListCertificates * service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListCertificatesResult listCertificates(ListCertificatesRequest listCertificatesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listCertificatesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListCertificatesRequestMarshaller().marshall(listCertificatesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListCertificatesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

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

* * @param listCertificatesByCARequest

* The input to the ListCertificatesByCA operation. *

* @return listCertificatesByCAResult The response from the * ListCertificatesByCA service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListCertificatesByCAResult listCertificatesByCA( ListCertificatesByCARequest listCertificatesByCARequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listCertificatesByCARequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListCertificatesByCARequestMarshaller() .marshall(listCertificatesByCARequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListCertificatesByCAResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Lists your policies. *

* * @param listPoliciesRequest

* The input for the ListPolicies operation. *

* @return listPoliciesResult The response from the ListPolicies service * method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListPoliciesResult listPolicies(ListPoliciesRequest listPoliciesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPoliciesRequestMarshaller().marshall(listPoliciesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListPoliciesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Lists the principals associated with the specified policy. *

* * @param listPolicyPrincipalsRequest

* The input for the ListPolicyPrincipals operation. *

* @return listPolicyPrincipalsResult The response from the * ListPolicyPrincipals service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListPolicyPrincipalsResult listPolicyPrincipals( ListPolicyPrincipalsRequest listPolicyPrincipalsRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listPolicyPrincipalsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPolicyPrincipalsRequestMarshaller() .marshall(listPolicyPrincipalsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListPolicyPrincipalsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

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

* * @param listPolicyVersionsRequest

* The input for the ListPolicyVersions operation. *

* @return listPolicyVersionsResult The response from the ListPolicyVersions * service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListPolicyVersionsResult listPolicyVersions( ListPolicyVersionsRequest listPolicyVersionsRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listPolicyVersionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPolicyVersionsRequestMarshaller() .marshall(listPolicyVersionsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListPolicyVersionsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 listPrincipalPoliciesResult The response from the * ListPrincipalPolicies service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListPrincipalPoliciesResult listPrincipalPolicies( ListPrincipalPoliciesRequest listPrincipalPoliciesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listPrincipalPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPrincipalPoliciesRequestMarshaller() .marshall(listPrincipalPoliciesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListPrincipalPoliciesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Lists the things associated with the specified principal. *

* * @param listPrincipalThingsRequest

* The input for the ListPrincipalThings operation. *

* @return listPrincipalThingsResult The response from the * ListPrincipalThings service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListPrincipalThingsResult listPrincipalThings( ListPrincipalThingsRequest listPrincipalThingsRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listPrincipalThingsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPrincipalThingsRequestMarshaller() .marshall(listPrincipalThingsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListPrincipalThingsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Lists the principals associated with the specified thing. *

* * @param listThingPrincipalsRequest

* The input for the ListThingPrincipal operation. *

* @return listThingPrincipalsResult The response from the * ListThingPrincipals service method, as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListThingPrincipalsResult listThingPrincipals( ListThingPrincipalsRequest listThingPrincipalsRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listThingPrincipalsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListThingPrincipalsRequestMarshaller() .marshall(listThingPrincipalsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListThingPrincipalsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Lists your things. You can pass an AttributeName or AttributeValue to * filter your things (for example, * "ListThings where AttributeName=Color and AttributeValue=Red"). *

* * @param listThingsRequest

* The input for the ListThings operation. *

* @return listThingsResult The response from the ListThings service method, * as returned by AWS IoT. * @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListThingsResult listThings(ListThingsRequest listThingsRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listThingsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListThingsRequestMarshaller().marshall(listThingsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListThingsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Lists the rules for the specific topic. *

* * @param listTopicRulesRequest

* The input for the ListTopicRules operation. *

* @return listTopicRulesResult The response from the ListTopicRules service * method, as returned by AWS IoT. * @throws InternalException

* An unexpected error has occurred. *

* @throws InvalidRequestException

* The request is not valid. *

* @throws ServiceUnavailableException

* The service is temporarily unavailable. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public ListTopicRulesResult listTopicRules(ListTopicRulesRequest listTopicRulesRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(listTopicRulesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTopicRulesRequestMarshaller().marshall(listTopicRulesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListTopicRulesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 registerCACertificateResult The response from the * RegisterCACertificate service method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public RegisterCACertificateResult registerCACertificate( RegisterCACertificateRequest registerCACertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(registerCACertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RegisterCACertificateRequestMarshaller() .marshall(registerCACertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new RegisterCACertificateResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 registerCertificateResult The response from the * RegisterCertificate service method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public RegisterCertificateResult registerCertificate( RegisterCertificateRequest registerCertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(registerCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RegisterCertificateRequestMarshaller() .marshall(registerCertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new RegisterCertificateResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void rejectCertificateTransfer( RejectCertificateTransferRequest rejectCertificateTransferRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(rejectCertificateTransferRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RejectCertificateTransferRequestMarshaller() .marshall(rejectCertificateTransferRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void replaceTopicRule(ReplaceTopicRuleRequest replaceTopicRuleRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(replaceTopicRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ReplaceTopicRuleRequestMarshaller().marshall(replaceTopicRuleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *

* @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void setDefaultPolicyVersion( SetDefaultPolicyVersionRequest setDefaultPolicyVersionRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(setDefaultPolicyVersionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetDefaultPolicyVersionRequestMarshaller() .marshall(setDefaultPolicyVersionRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Sets the logging options. *

* * @param setLoggingOptionsRequest

* The input for the SetLoggingOptions operation. *

* @throws InternalException

* An unexpected error has occurred. *

* @throws InvalidRequestException

* The request is not valid. *

* @throws ServiceUnavailableException

* The service is temporarily unavailable. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void setLoggingOptions(SetLoggingOptionsRequest setLoggingOptionsRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(setLoggingOptionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetLoggingOptionsRequestMarshaller() .marshall(setLoggingOptionsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 transferCertificateResult The response from the * TransferCertificate service method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public TransferCertificateResult transferCertificate( TransferCertificateRequest transferCertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(transferCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TransferCertificateRequestMarshaller() .marshall(transferCertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new TransferCertificateResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Updates a registered CA certificate. *

* * @param updateCACertificateRequest

* The input to the UpdateCACertificate operation. *

* @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 AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void updateCACertificate(UpdateCACertificateRequest updateCACertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(updateCACertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateCACertificateRequestMarshaller() .marshall(updateCACertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *

* @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public void updateCertificate(UpdateCertificateRequest updateCertificateRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(updateCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateCertificateRequestMarshaller() .marshall(updateCertificateRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } JsonResponseHandler responseHandler = new JsonResponseHandler(null); invoke(request, responseHandler, executionContext); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Updates the data for a thing. *

* * @param updateThingRequest

* The input for the UpdateThing operation. *

* @return updateThingResult The response from the UpdateThing service * method, as returned by AWS IoT. * @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. *

* @throws AmazonClientException If any internal errors are encountered * inside the client while attempting to make the request or * handle the response. For example if a network connection is * not available. * @throws AmazonServiceException If an error response is returned by AWS * IoT indicating either a problem with the data in the request, * or a server side issue. */ public UpdateThingResult updateThing(UpdateThingRequest updateThingRequest) throws AmazonServiceException, AmazonClientException { ExecutionContext executionContext = createExecutionContext(updateThingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateThingRequestMarshaller().marshall(updateThingRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new UpdateThingResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler( unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** * 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 the request. * * @param request The originally executed request * @return The response metadata for the specified request, or null if none * is available. * @deprecated ResponseMetadata cache can hold up to 50 requests and * responses in memory and will cause memory issue. This method * now always returns null. */ @Deprecated public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); AWSCredentials credentials; awsRequestMetrics.startEvent(Field.CredentialsRequestTime); try { credentials = awsCredentialsProvider.getCredentials(); } finally { awsRequestMetrics.endEvent(Field.CredentialsRequestTime); } AmazonWebServiceRequest originalRequest = request.getOriginalRequest(); if (originalRequest != null && originalRequest.getRequestCredentials() != null) { credentials = originalRequest.getRequestCredentials(); } executionContext.setCredentials(credentials); JsonErrorResponseHandler errorResponseHandler = new JsonErrorResponseHandler( jsonErrorUnmarshallers); Response result = client.execute(request, responseHandler, errorResponseHandler, executionContext); return result; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy