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

com.amazonaws.services.identitymanagement.AmazonIdentityManagementAsyncClient Maven / Gradle / Ivy

Go to download

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

The newest version!
/*
 * Copyright 2010-2014 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.identitymanagement;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.handlers.AsyncHandler;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;

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

/**
 * Asynchronous client for accessing AmazonIdentityManagement.
 * All asynchronous calls made using this client are non-blocking. Callers could either
 * process the result and handle the exceptions in the worker thread by providing a callback handler
 * when making the call, or use the returned Future object to check the result of the call in the calling thread.
 * AWS Identity and Access Management 

* AWS Identity and Access Management (IAM) is a web service that you can * use to manage users and user permissions under your AWS account. This * guide provides descriptions of the IAM API. For general information * about IAM, see * AWS Identity and Access Management (IAM) . For the user guide for IAM, see Using IAM * . *

*

* NOTE: AWS provides SDKs that consist of libraries and sample * code for various programming languages and platforms (Java, Ruby, * .NET, iOS, Android, etc.). The SDKs provide a convenient way to create * programmatic access to IAM and AWS. For example, the SDKs take care of * tasks such as cryptographically signing requests (see below), managing * errors, and retrying requests automatically. For information about the * AWS SDKs, including how to download and install them, see the Tools * for Amazon Web Services page. *

*

* Using the IAM Query API, you make direct calls to the IAM web * service. IAM supports GET and POST requests for all actions. That is, * the API does not require you to use GET for some actions and POST for * others. However, GET requests are subject to the limitation size of a * URL; although this limit is browser dependent, a typical limit is 2048 * bytes. Therefore, for operations that require larger sizes, you must * use a POST request. *

*

* Signing Requests Requests must be signed using an access key * ID and a secret access key. We strongly recommend that you do not use * your AWS account access key ID and secret access key for everyday work * with IAM. You can use the access key ID and secret access key for an * IAM user or you can use the AWS Security Token Service to generate * temporary security credentials and use those to sign requests. *

*

* To sign requests, we recommend that you use * Signature Version 4 * . If you have an existing application that uses Signature Version 2, * you do not have to update it to use Signature Version 4. However, some * operations now require Signature Version 4. The documentation for * operations that require version 4 indicate this requirement. *

*

* Additional Resources For more information, see the following: *

* *
    *
  • * AWS Security Credentials * . This topic provides general information about the types of * credentials used for accessing AWS.
  • *
  • * IAM Best Practices * . This topic presents a list of suggestions for using the IAM service * to help secure your AWS resources.
  • *
  • * AWS Security Token Service * . This guide describes how to create and use temporary security * credentials.
  • *
  • * Signing AWS API Requests * . This set of topics walk you through the process of signing a * request using an access key ID and secret access key.
  • * *
*/ public class AmazonIdentityManagementAsyncClient extends AmazonIdentityManagementClient implements AmazonIdentityManagementAsync { /** * Executor service for executing asynchronous requests. */ private ExecutorService executorService; private static final int DEFAULT_THREAD_POOL_SIZE = 50; /** * Constructs a new asynchronous client to invoke service methods on * AmazonIdentityManagement. 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 */ public AmazonIdentityManagementAsyncClient() { this(new DefaultAWSCredentialsProviderChain()); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonIdentityManagement. 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 AmazonIdentityManagement * (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AmazonIdentityManagementAsyncClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonIdentityManagement using the specified AWS account credentials. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AmazonIdentityManagementAsyncClient(AWSCredentials awsCredentials) { this(awsCredentials, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonIdentityManagement using the specified AWS account credentials * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonIdentityManagementAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService) { super(awsCredentials); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonIdentityManagement using the specified AWS account credentials, * executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonIdentityManagementAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AmazonIdentityManagement using the specified AWS account credentials provider. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ public AmazonIdentityManagementAsyncClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonIdentityManagement using the specified AWS account credentials provider * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonIdentityManagementAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService) { this(awsCredentialsProvider, new ClientConfiguration(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonIdentityManagement using the specified AWS account credentials * provider and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). */ public AmazonIdentityManagementAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AmazonIdentityManagement using the specified AWS account credentials * provider, executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AmazonIdentityManagementAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentialsProvider, clientConfiguration); this.executorService = executorService; } /** * Returns the executor service used by this async client to execute * requests. * * @return The executor service used by this async client to execute * requests. */ public ExecutorService getExecutorService() { return executorService; } /** * Shuts down the client, releasing all managed resources. This includes * forcibly terminating all pending asynchronous service calls. Clients who * wish to give pending asynchronous service calls time to complete should * call getExecutorService().shutdown() followed by * getExecutorService().awaitTermination() prior to calling this method. */ @Override public void shutdown() { super.shutdown(); executorService.shutdownNow(); } /** *

* Deletes the specified AWS account alias. For information about using * an AWS account alias, see * Using an Alias for Your AWS Account ID * in Using AWS Identity and Access Management . *

* * @param deleteAccountAliasRequest Container for the necessary * parameters to execute the DeleteAccountAlias operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteAccountAlias service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteAccountAliasAsync(final DeleteAccountAliasRequest deleteAccountAliasRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteAccountAlias(deleteAccountAliasRequest); return null; } }); } /** *

* Deletes the specified AWS account alias. For information about using * an AWS account alias, see * Using an Alias for Your AWS Account ID * in Using AWS Identity and Access Management . *

* * @param deleteAccountAliasRequest Container for the necessary * parameters to execute the DeleteAccountAlias operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteAccountAlias service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteAccountAliasAsync( final DeleteAccountAliasRequest deleteAccountAliasRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteAccountAlias(deleteAccountAliasRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteAccountAliasRequest, null); return null; } }); } /** *

* Lists the groups that have the specified path prefix. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listGroupsRequest Container for the necessary parameters to * execute the ListGroups operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListGroups service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listGroupsAsync(final ListGroupsRequest listGroupsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListGroupsResult call() throws Exception { return listGroups(listGroupsRequest); } }); } /** *

* Lists the groups that have the specified path prefix. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listGroupsRequest Container for the necessary parameters to * execute the ListGroups operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListGroups service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listGroupsAsync( final ListGroupsRequest listGroupsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListGroupsResult call() throws Exception { ListGroupsResult result; try { result = listGroups(listGroupsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listGroupsRequest, result); return result; } }); } /** *

* Deletes the access key associated with the specified user. *

*

* If you do not specify a user name, IAM determines the user name * implicitly based on the AWS access key ID signing the request. Because * this action works for access keys under the AWS account, you can use * this API to manage root credentials even if the AWS account has no * associated users. *

* * @param deleteAccessKeyRequest Container for the necessary parameters * to execute the DeleteAccessKey operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteAccessKey service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteAccessKeyAsync(final DeleteAccessKeyRequest deleteAccessKeyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteAccessKey(deleteAccessKeyRequest); return null; } }); } /** *

* Deletes the access key associated with the specified user. *

*

* If you do not specify a user name, IAM determines the user name * implicitly based on the AWS access key ID signing the request. Because * this action works for access keys under the AWS account, you can use * this API to manage root credentials even if the AWS account has no * associated users. *

* * @param deleteAccessKeyRequest Container for the necessary parameters * to execute the DeleteAccessKey operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteAccessKey service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteAccessKeyAsync( final DeleteAccessKeyRequest deleteAccessKeyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteAccessKey(deleteAccessKeyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteAccessKeyRequest, null); return null; } }); } /** *

* Deletes a virtual MFA device. *

*

* NOTE:You must deactivate a user's virtual MFA device before you * can delete it. For information about deactivating MFA devices, see * DeactivateMFADevice. *

* * @param deleteVirtualMFADeviceRequest Container for the necessary * parameters to execute the DeleteVirtualMFADevice operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteVirtualMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVirtualMFADeviceAsync(final DeleteVirtualMFADeviceRequest deleteVirtualMFADeviceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteVirtualMFADevice(deleteVirtualMFADeviceRequest); return null; } }); } /** *

* Deletes a virtual MFA device. *

*

* NOTE:You must deactivate a user's virtual MFA device before you * can delete it. For information about deactivating MFA devices, see * DeactivateMFADevice. *

* * @param deleteVirtualMFADeviceRequest Container for the necessary * parameters to execute the DeleteVirtualMFADevice operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteVirtualMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVirtualMFADeviceAsync( final DeleteVirtualMFADeviceRequest deleteVirtualMFADeviceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteVirtualMFADevice(deleteVirtualMFADeviceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteVirtualMFADeviceRequest, null); return null; } }); } /** *

* Deletes the specified policy associated with the specified user. *

* * @param deleteUserPolicyRequest Container for the necessary parameters * to execute the DeleteUserPolicy operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteUserPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteUserPolicyAsync(final DeleteUserPolicyRequest deleteUserPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteUserPolicy(deleteUserPolicyRequest); return null; } }); } /** *

* Deletes the specified policy associated with the specified user. *

* * @param deleteUserPolicyRequest Container for the necessary parameters * to execute the DeleteUserPolicy operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteUserPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteUserPolicyAsync( final DeleteUserPolicyRequest deleteUserPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteUserPolicy(deleteUserPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteUserPolicyRequest, null); return null; } }); } /** *

* Adds (or updates) a policy document associated with the specified * user. For information about policies, refer to * Overview of Policies * in Using AWS Identity and Access Management . *

*

* For information about limits on the number of policies you can * associate with a user, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* NOTE:Because policy documents can be large, you should use POST * rather than GET when calling PutUserPolicy. For information about * setting up signatures and authorization through the API, go to Signing * AWS API Requests in the AWS General Reference. For general information * about using the Query API with IAM, go to Making Query Requests in * Using IAM. *

* * @param putUserPolicyRequest Container for the necessary parameters to * execute the PutUserPolicy operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * PutUserPolicy service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future putUserPolicyAsync(final PutUserPolicyRequest putUserPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { putUserPolicy(putUserPolicyRequest); return null; } }); } /** *

* Adds (or updates) a policy document associated with the specified * user. For information about policies, refer to * Overview of Policies * in Using AWS Identity and Access Management . *

*

* For information about limits on the number of policies you can * associate with a user, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* NOTE:Because policy documents can be large, you should use POST * rather than GET when calling PutUserPolicy. For information about * setting up signatures and authorization through the API, go to Signing * AWS API Requests in the AWS General Reference. For general information * about using the Query API with IAM, go to Making Query Requests in * Using IAM. *

* * @param putUserPolicyRequest Container for the necessary parameters to * execute the PutUserPolicy operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * PutUserPolicy service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future putUserPolicyAsync( final PutUserPolicyRequest putUserPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { putUserPolicy(putUserPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(putUserPolicyRequest, null); return null; } }); } /** *

* Lists the server certificates that have the specified path prefix. If * none exist, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listServerCertificatesRequest Container for the necessary * parameters to execute the ListServerCertificates operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListServerCertificates service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listServerCertificatesAsync(final ListServerCertificatesRequest listServerCertificatesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListServerCertificatesResult call() throws Exception { return listServerCertificates(listServerCertificatesRequest); } }); } /** *

* Lists the server certificates that have the specified path prefix. If * none exist, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listServerCertificatesRequest Container for the necessary * parameters to execute the ListServerCertificates operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListServerCertificates service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listServerCertificatesAsync( final ListServerCertificatesRequest listServerCertificatesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListServerCertificatesResult call() throws Exception { ListServerCertificatesResult result; try { result = listServerCertificates(listServerCertificatesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listServerCertificatesRequest, result); return result; } }); } /** *

* Lists the SAML providers in the account. *

*

* NOTE:This operation requires Signature Version 4. *

* * @param listSAMLProvidersRequest Container for the necessary parameters * to execute the ListSAMLProviders operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListSAMLProviders service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listSAMLProvidersAsync(final ListSAMLProvidersRequest listSAMLProvidersRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListSAMLProvidersResult call() throws Exception { return listSAMLProviders(listSAMLProvidersRequest); } }); } /** *

* Lists the SAML providers in the account. *

*

* NOTE:This operation requires Signature Version 4. *

* * @param listSAMLProvidersRequest Container for the necessary parameters * to execute the ListSAMLProviders operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListSAMLProviders service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listSAMLProvidersAsync( final ListSAMLProvidersRequest listSAMLProvidersRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListSAMLProvidersResult call() throws Exception { ListSAMLProvidersResult result; try { result = listSAMLProviders(listSAMLProvidersRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listSAMLProvidersRequest, result); return result; } }); } /** *

* Retrieves the specified policy document for the specified user. The * returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param getUserPolicyRequest Container for the necessary parameters to * execute the GetUserPolicy operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * GetUserPolicy service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getUserPolicyAsync(final GetUserPolicyRequest getUserPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetUserPolicyResult call() throws Exception { return getUserPolicy(getUserPolicyRequest); } }); } /** *

* Retrieves the specified policy document for the specified user. The * returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param getUserPolicyRequest Container for the necessary parameters to * execute the GetUserPolicy operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetUserPolicy service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getUserPolicyAsync( final GetUserPolicyRequest getUserPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetUserPolicyResult call() throws Exception { GetUserPolicyResult result; try { result = getUserPolicy(getUserPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getUserPolicyRequest, result); return result; } }); } /** *

* Updates the name and/or the path of the specified server certificate. *

*

* IMPORTANT: You should understand the implications of changing a * server certificate's path or name. For more information, see Managing * Server Certificates in Using AWS Identity and Access Management. *

*

* NOTE:To change a server certificate name the requester must * have appropriate permissions on both the source object and the target * object. For example, to change the name from ProductionCert to * ProdCert, the entity making the request must have permission on * ProductionCert and ProdCert, or must have permission on all (*). For * more information about permissions, see Permissions and Policies. *

* * @param updateServerCertificateRequest Container for the necessary * parameters to execute the UpdateServerCertificate operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UpdateServerCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateServerCertificateAsync(final UpdateServerCertificateRequest updateServerCertificateRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { updateServerCertificate(updateServerCertificateRequest); return null; } }); } /** *

* Updates the name and/or the path of the specified server certificate. *

*

* IMPORTANT: You should understand the implications of changing a * server certificate's path or name. For more information, see Managing * Server Certificates in Using AWS Identity and Access Management. *

*

* NOTE:To change a server certificate name the requester must * have appropriate permissions on both the source object and the target * object. For example, to change the name from ProductionCert to * ProdCert, the entity making the request must have permission on * ProductionCert and ProdCert, or must have permission on all (*). For * more information about permissions, see Permissions and Policies. *

* * @param updateServerCertificateRequest Container for the necessary * parameters to execute the UpdateServerCertificate operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateServerCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateServerCertificateAsync( final UpdateServerCertificateRequest updateServerCertificateRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { updateServerCertificate(updateServerCertificateRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateServerCertificateRequest, null); return null; } }); } /** *

* Updates the name and/or the path of the specified user. *

*

* IMPORTANT: You should understand the implications of changing a * user's path or name. For more information, see Renaming Users and * Groups in Using AWS Identity and Access Management. *

*

* NOTE:To change a user name the requester must have appropriate * permissions on both the source object and the target object. For * example, to change Bob to Robert, the entity making the request must * have permission on Bob and Robert, or must have permission on all (*). * For more information about permissions, see Permissions and Policies. *

* * @param updateUserRequest Container for the necessary parameters to * execute the UpdateUser operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UpdateUser service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateUserAsync(final UpdateUserRequest updateUserRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { updateUser(updateUserRequest); return null; } }); } /** *

* Updates the name and/or the path of the specified user. *

*

* IMPORTANT: You should understand the implications of changing a * user's path or name. For more information, see Renaming Users and * Groups in Using AWS Identity and Access Management. *

*

* NOTE:To change a user name the requester must have appropriate * permissions on both the source object and the target object. For * example, to change Bob to Robert, the entity making the request must * have permission on Bob and Robert, or must have permission on all (*). * For more information about permissions, see Permissions and Policies. *

* * @param updateUserRequest Container for the necessary parameters to * execute the UpdateUser operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateUser service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateUserAsync( final UpdateUserRequest updateUserRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { updateUser(updateUserRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateUserRequest, null); return null; } }); } /** *

* Adds (or updates) a policy document associated with the specified * role. For information about policies, go to * Overview of Policies * in Using AWS Identity and Access Management . *

*

* For information about limits on the policies you can associate with a * role, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* NOTE:Because policy documents can be large, you should use POST * rather than GET when calling PutRolePolicy. For information about * setting up signatures and authorization through the API, go to Signing * AWS API Requests in the AWS General Reference. For general information * about using the Query API with IAM, go to Making Query Requests in * Using IAM. *

* * @param putRolePolicyRequest Container for the necessary parameters to * execute the PutRolePolicy operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * PutRolePolicy service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future putRolePolicyAsync(final PutRolePolicyRequest putRolePolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { putRolePolicy(putRolePolicyRequest); return null; } }); } /** *

* Adds (or updates) a policy document associated with the specified * role. For information about policies, go to * Overview of Policies * in Using AWS Identity and Access Management . *

*

* For information about limits on the policies you can associate with a * role, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* NOTE:Because policy documents can be large, you should use POST * rather than GET when calling PutRolePolicy. For information about * setting up signatures and authorization through the API, go to Signing * AWS API Requests in the AWS General Reference. For general information * about using the Query API with IAM, go to Making Query Requests in * Using IAM. *

* * @param putRolePolicyRequest Container for the necessary parameters to * execute the PutRolePolicy operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * PutRolePolicy service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future putRolePolicyAsync( final PutRolePolicyRequest putRolePolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { putRolePolicy(putRolePolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(putRolePolicyRequest, null); return null; } }); } /** *

* Changes the status of the specified signing certificate from active to * disabled, or vice versa. This action can be used to disable a user's * signing certificate as part of a certificate rotation work flow. *

*

* If the UserName field is not specified, the UserName is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

*

* For information about rotating certificates, see * Managing Keys and Certificates * in Using AWS Identity and Access Management . *

* * @param updateSigningCertificateRequest Container for the necessary * parameters to execute the UpdateSigningCertificate operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UpdateSigningCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateSigningCertificateAsync(final UpdateSigningCertificateRequest updateSigningCertificateRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { updateSigningCertificate(updateSigningCertificateRequest); return null; } }); } /** *

* Changes the status of the specified signing certificate from active to * disabled, or vice versa. This action can be used to disable a user's * signing certificate as part of a certificate rotation work flow. *

*

* If the UserName field is not specified, the UserName is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

*

* For information about rotating certificates, see * Managing Keys and Certificates * in Using AWS Identity and Access Management . *

* * @param updateSigningCertificateRequest Container for the necessary * parameters to execute the UpdateSigningCertificate operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateSigningCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateSigningCertificateAsync( final UpdateSigningCertificateRequest updateSigningCertificateRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { updateSigningCertificate(updateSigningCertificateRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateSigningCertificateRequest, null); return null; } }); } /** *

* Deletes the specified policy that is associated with the specified * group. *

* * @param deleteGroupPolicyRequest Container for the necessary parameters * to execute the DeleteGroupPolicy operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteGroupPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteGroupPolicyAsync(final DeleteGroupPolicyRequest deleteGroupPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteGroupPolicy(deleteGroupPolicyRequest); return null; } }); } /** *

* Deletes the specified policy that is associated with the specified * group. *

* * @param deleteGroupPolicyRequest Container for the necessary parameters * to execute the DeleteGroupPolicy operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteGroupPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteGroupPolicyAsync( final DeleteGroupPolicyRequest deleteGroupPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteGroupPolicy(deleteGroupPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteGroupPolicyRequest, null); return null; } }); } /** *

* Lists the users that have the specified path prefix. If there are * none, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listUsersRequest Container for the necessary parameters to * execute the ListUsers operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListUsers service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listUsersAsync(final ListUsersRequest listUsersRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListUsersResult call() throws Exception { return listUsers(listUsersRequest); } }); } /** *

* Lists the users that have the specified path prefix. If there are * none, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listUsersRequest Container for the necessary parameters to * execute the ListUsers operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListUsers service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listUsersAsync( final ListUsersRequest listUsersRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListUsersResult call() throws Exception { ListUsersResult result; try { result = listUsers(listUsersRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listUsersRequest, result); return result; } }); } /** *

* Updates the name and/or the path of the specified group. *

*

* IMPORTANT: You should understand the implications of changing a * group's path or name. For more information, see Renaming Users and * Groups in Using AWS Identity and Access Management. *

*

* NOTE:To change a group name the requester must have appropriate * permissions on both the source object and the target object. For * example, to change Managers to MGRs, the entity making the request * must have permission on Managers and MGRs, or must have permission on * all (*). For more information about permissions, see Permissions and * Policies. *

* * @param updateGroupRequest Container for the necessary parameters to * execute the UpdateGroup operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UpdateGroup service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateGroupAsync(final UpdateGroupRequest updateGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { updateGroup(updateGroupRequest); return null; } }); } /** *

* Updates the name and/or the path of the specified group. *

*

* IMPORTANT: You should understand the implications of changing a * group's path or name. For more information, see Renaming Users and * Groups in Using AWS Identity and Access Management. *

*

* NOTE:To change a group name the requester must have appropriate * permissions on both the source object and the target object. For * example, to change Managers to MGRs, the entity making the request * must have permission on Managers and MGRs, or must have permission on * all (*). For more information about permissions, see Permissions and * Policies. *

* * @param updateGroupRequest Container for the necessary parameters to * execute the UpdateGroup operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateGroup service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateGroupAsync( final UpdateGroupRequest updateGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { updateGroup(updateGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateGroupRequest, null); return null; } }); } /** *

* Creates a new user for your AWS account. *

*

* For information about limitations on the number of users you can * create, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

* * @param createUserRequest Container for the necessary parameters to * execute the CreateUser operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * CreateUser service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createUserAsync(final CreateUserRequest createUserRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateUserResult call() throws Exception { return createUser(createUserRequest); } }); } /** *

* Creates a new user for your AWS account. *

*

* For information about limitations on the number of users you can * create, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

* * @param createUserRequest Container for the necessary parameters to * execute the CreateUser operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateUser service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createUserAsync( final CreateUserRequest createUserRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateUserResult call() throws Exception { CreateUserResult result; try { result = createUser(createUserRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createUserRequest, result); return result; } }); } /** *

* Deletes a SAML provider. *

*

* Deleting the provider does not update any roles that reference the * SAML provider as a principal in their trust policies. Any attempt to * assume a role that references a SAML provider that has been deleted * will fail. *

*

* NOTE:This operation requires Signature Version 4. *

* * @param deleteSAMLProviderRequest Container for the necessary * parameters to execute the DeleteSAMLProvider operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteSAMLProvider service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSAMLProviderAsync(final DeleteSAMLProviderRequest deleteSAMLProviderRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteSAMLProvider(deleteSAMLProviderRequest); return null; } }); } /** *

* Deletes a SAML provider. *

*

* Deleting the provider does not update any roles that reference the * SAML provider as a principal in their trust policies. Any attempt to * assume a role that references a SAML provider that has been deleted * will fail. *

*

* NOTE:This operation requires Signature Version 4. *

* * @param deleteSAMLProviderRequest Container for the necessary * parameters to execute the DeleteSAMLProvider operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteSAMLProvider service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSAMLProviderAsync( final DeleteSAMLProviderRequest deleteSAMLProviderRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteSAMLProvider(deleteSAMLProviderRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteSAMLProviderRequest, null); return null; } }); } /** *

* Enables the specified MFA device and associates it with the specified * user name. When enabled, the MFA device is required for every * subsequent login by the user name associated with the device. *

* * @param enableMFADeviceRequest Container for the necessary parameters * to execute the EnableMFADevice operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * EnableMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future enableMFADeviceAsync(final EnableMFADeviceRequest enableMFADeviceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { enableMFADevice(enableMFADeviceRequest); return null; } }); } /** *

* Enables the specified MFA device and associates it with the specified * user name. When enabled, the MFA device is required for every * subsequent login by the user name associated with the device. *

* * @param enableMFADeviceRequest Container for the necessary parameters * to execute the EnableMFADevice operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * EnableMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future enableMFADeviceAsync( final EnableMFADeviceRequest enableMFADeviceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { enableMFADevice(enableMFADeviceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(enableMFADeviceRequest, null); return null; } }); } /** *

* Deletes the password policy for the AWS account. *

* * @param deleteAccountPasswordPolicyRequest Container for the necessary * parameters to execute the DeleteAccountPasswordPolicy operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteAccountPasswordPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteAccountPasswordPolicyAsync(final DeleteAccountPasswordPolicyRequest deleteAccountPasswordPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteAccountPasswordPolicy(deleteAccountPasswordPolicyRequest); return null; } }); } /** *

* Deletes the password policy for the AWS account. *

* * @param deleteAccountPasswordPolicyRequest Container for the necessary * parameters to execute the DeleteAccountPasswordPolicy operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteAccountPasswordPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteAccountPasswordPolicyAsync( final DeleteAccountPasswordPolicyRequest deleteAccountPasswordPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteAccountPasswordPolicy(deleteAccountPasswordPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteAccountPasswordPolicyRequest, null); return null; } }); } /** *

* Retrieves the user name and password-creation date for the specified * user. If the user has not been assigned a password, the action returns * a 404 ( NoSuchEntity ) error. *

* * @param getLoginProfileRequest Container for the necessary parameters * to execute the GetLoginProfile operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * GetLoginProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getLoginProfileAsync(final GetLoginProfileRequest getLoginProfileRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetLoginProfileResult call() throws Exception { return getLoginProfile(getLoginProfileRequest); } }); } /** *

* Retrieves the user name and password-creation date for the specified * user. If the user has not been assigned a password, the action returns * a 404 ( NoSuchEntity ) error. *

* * @param getLoginProfileRequest Container for the necessary parameters * to execute the GetLoginProfile operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetLoginProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getLoginProfileAsync( final GetLoginProfileRequest getLoginProfileRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetLoginProfileResult call() throws Exception { GetLoginProfileResult result; try { result = getLoginProfile(getLoginProfileRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getLoginProfileRequest, result); return result; } }); } /** *

* Updates the metadata document for an existing SAML provider. *

*

* NOTE:This operation requires Signature Version 4. *

* * @param updateSAMLProviderRequest Container for the necessary * parameters to execute the UpdateSAMLProvider operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UpdateSAMLProvider service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateSAMLProviderAsync(final UpdateSAMLProviderRequest updateSAMLProviderRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateSAMLProviderResult call() throws Exception { return updateSAMLProvider(updateSAMLProviderRequest); } }); } /** *

* Updates the metadata document for an existing SAML provider. *

*

* NOTE:This operation requires Signature Version 4. *

* * @param updateSAMLProviderRequest Container for the necessary * parameters to execute the UpdateSAMLProvider operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateSAMLProvider service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateSAMLProviderAsync( final UpdateSAMLProviderRequest updateSAMLProviderRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateSAMLProviderResult call() throws Exception { UpdateSAMLProviderResult result; try { result = updateSAMLProvider(updateSAMLProviderRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateSAMLProviderRequest, result); return result; } }); } /** *

* Uploads a server certificate entity for the AWS account. The server * certificate entity includes a public key certificate, a private key, * and an optional certificate chain, which should all be PEM-encoded. *

*

* For information about the number of server certificates you can * upload, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* NOTE:Because the body of the public key certificate, private * key, and the certificate chain can be large, you should use POST * rather than GET when calling UploadServerCertificate. For information * about setting up signatures and authorization through the API, go to * Signing AWS API Requests in the AWS General Reference. For general * information about using the Query API with IAM, go to Making Query * Requests in Using IAM. *

* * @param uploadServerCertificateRequest Container for the necessary * parameters to execute the UploadServerCertificate operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UploadServerCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future uploadServerCertificateAsync(final UploadServerCertificateRequest uploadServerCertificateRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UploadServerCertificateResult call() throws Exception { return uploadServerCertificate(uploadServerCertificateRequest); } }); } /** *

* Uploads a server certificate entity for the AWS account. The server * certificate entity includes a public key certificate, a private key, * and an optional certificate chain, which should all be PEM-encoded. *

*

* For information about the number of server certificates you can * upload, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* NOTE:Because the body of the public key certificate, private * key, and the certificate chain can be large, you should use POST * rather than GET when calling UploadServerCertificate. For information * about setting up signatures and authorization through the API, go to * Signing AWS API Requests in the AWS General Reference. For general * information about using the Query API with IAM, go to Making Query * Requests in Using IAM. *

* * @param uploadServerCertificateRequest Container for the necessary * parameters to execute the UploadServerCertificate operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UploadServerCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future uploadServerCertificateAsync( final UploadServerCertificateRequest uploadServerCertificateRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UploadServerCertificateResult call() throws Exception { UploadServerCertificateResult result; try { result = uploadServerCertificate(uploadServerCertificateRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(uploadServerCertificateRequest, result); return result; } }); } /** *

* Creates a new group. *

*

* For information about the number of groups you can create, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

* * @param createGroupRequest Container for the necessary parameters to * execute the CreateGroup operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * CreateGroup service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createGroupAsync(final CreateGroupRequest createGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateGroupResult call() throws Exception { return createGroup(createGroupRequest); } }); } /** *

* Creates a new group. *

*

* For information about the number of groups you can create, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

* * @param createGroupRequest Container for the necessary parameters to * execute the CreateGroup operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateGroup service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createGroupAsync( final CreateGroupRequest createGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateGroupResult call() throws Exception { CreateGroupResult result; try { result = createGroup(createGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createGroupRequest, result); return result; } }); } /** *

* This action creates an alias for your AWS account. For information * about using an AWS account alias, see * Using an Alias for Your AWS Account ID * in Using AWS Identity and Access Management . *

* * @param createAccountAliasRequest Container for the necessary * parameters to execute the CreateAccountAlias operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * CreateAccountAlias service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createAccountAliasAsync(final CreateAccountAliasRequest createAccountAliasRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { createAccountAlias(createAccountAliasRequest); return null; } }); } /** *

* This action creates an alias for your AWS account. For information * about using an AWS account alias, see * Using an Alias for Your AWS Account ID * in Using AWS Identity and Access Management . *

* * @param createAccountAliasRequest Container for the necessary * parameters to execute the CreateAccountAlias operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateAccountAlias service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createAccountAliasAsync( final CreateAccountAliasRequest createAccountAliasRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { createAccountAlias(createAccountAliasRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createAccountAliasRequest, null); return null; } }); } /** *

* Deletes the specified user. The user must not belong to any groups, * have any keys or signing certificates, or have any attached policies. *

* * @param deleteUserRequest Container for the necessary parameters to * execute the DeleteUser operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteUser service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteUserAsync(final DeleteUserRequest deleteUserRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteUser(deleteUserRequest); return null; } }); } /** *

* Deletes the specified user. The user must not belong to any groups, * have any keys or signing certificates, or have any attached policies. *

* * @param deleteUserRequest Container for the necessary parameters to * execute the DeleteUser operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteUser service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteUserAsync( final DeleteUserRequest deleteUserRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteUser(deleteUserRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteUserRequest, null); return null; } }); } /** *

* Deactivates the specified MFA device and removes it from association * with the user name for which it was originally enabled. *

* * @param deactivateMFADeviceRequest Container for the necessary * parameters to execute the DeactivateMFADevice operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeactivateMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deactivateMFADeviceAsync(final DeactivateMFADeviceRequest deactivateMFADeviceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deactivateMFADevice(deactivateMFADeviceRequest); return null; } }); } /** *

* Deactivates the specified MFA device and removes it from association * with the user name for which it was originally enabled. *

* * @param deactivateMFADeviceRequest Container for the necessary * parameters to execute the DeactivateMFADevice operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeactivateMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deactivateMFADeviceAsync( final DeactivateMFADeviceRequest deactivateMFADeviceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deactivateMFADevice(deactivateMFADeviceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deactivateMFADeviceRequest, null); return null; } }); } /** *

* Removes the specified user from the specified group. *

* * @param removeUserFromGroupRequest Container for the necessary * parameters to execute the RemoveUserFromGroup operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * RemoveUserFromGroup service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future removeUserFromGroupAsync(final RemoveUserFromGroupRequest removeUserFromGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { removeUserFromGroup(removeUserFromGroupRequest); return null; } }); } /** *

* Removes the specified user from the specified group. *

* * @param removeUserFromGroupRequest Container for the necessary * parameters to execute the RemoveUserFromGroup operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RemoveUserFromGroup service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future removeUserFromGroupAsync( final RemoveUserFromGroupRequest removeUserFromGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { removeUserFromGroup(removeUserFromGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(removeUserFromGroupRequest, null); return null; } }); } /** *

* Deletes the specified role. The role must not have any policies * attached. For more information about roles, go to * Working with Roles * . *

*

* IMPORTANT:Make sure you do not have any Amazon EC2 instances * running with the role you are about to delete. Deleting a role or * instance profile that is associated with a running instance will break * any applications running on the instance. *

* * @param deleteRoleRequest Container for the necessary parameters to * execute the DeleteRole operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteRole service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteRoleAsync(final DeleteRoleRequest deleteRoleRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteRole(deleteRoleRequest); return null; } }); } /** *

* Deletes the specified role. The role must not have any policies * attached. For more information about roles, go to * Working with Roles * . *

*

* IMPORTANT:Make sure you do not have any Amazon EC2 instances * running with the role you are about to delete. Deleting a role or * instance profile that is associated with a running instance will break * any applications running on the instance. *

* * @param deleteRoleRequest Container for the necessary parameters to * execute the DeleteRole operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteRole service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteRoleAsync( final DeleteRoleRequest deleteRoleRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteRole(deleteRoleRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteRoleRequest, null); return null; } }); } /** *

* Deletes the specified server certificate. *

*

* IMPORTANT:If you are using a server certificate with Elastic * Load Balancing, deleting the certificate could have implications for * your application. If Elastic Load Balancing doesn't detect the * deletion of bound certificates, it may continue to use the * certificates. This could cause Elastic Load Balancing to stop * accepting traffic. We recommend that you remove the reference to the * certificate from Elastic Load Balancing before using this command to * delete the certificate. For more information, go to * DeleteLoadBalancerListeners in the Elastic Load Balancing API * Reference. *

* * @param deleteServerCertificateRequest Container for the necessary * parameters to execute the DeleteServerCertificate operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteServerCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteServerCertificateAsync(final DeleteServerCertificateRequest deleteServerCertificateRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteServerCertificate(deleteServerCertificateRequest); return null; } }); } /** *

* Deletes the specified server certificate. *

*

* IMPORTANT:If you are using a server certificate with Elastic * Load Balancing, deleting the certificate could have implications for * your application. If Elastic Load Balancing doesn't detect the * deletion of bound certificates, it may continue to use the * certificates. This could cause Elastic Load Balancing to stop * accepting traffic. We recommend that you remove the reference to the * certificate from Elastic Load Balancing before using this command to * delete the certificate. For more information, go to * DeleteLoadBalancerListeners in the Elastic Load Balancing API * Reference. *

* * @param deleteServerCertificateRequest Container for the necessary * parameters to execute the DeleteServerCertificate operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteServerCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteServerCertificateAsync( final DeleteServerCertificateRequest deleteServerCertificateRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteServerCertificate(deleteServerCertificateRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteServerCertificateRequest, null); return null; } }); } /** *

* Creates a new AWS secret access key and corresponding AWS access key * ID for the specified user. The default status for new keys is * Active . *

*

* If you do not specify a user name, IAM determines the user name * implicitly based on the AWS access key ID signing the request. Because * this action works for access keys under the AWS account, you can use * this API to manage root credentials even if the AWS account has no * associated users. *

*

* For information about limits on the number of keys you can create, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* IMPORTANT:To ensure the security of your AWS account, the * secret access key is accessible only during key and user creation. You * must save the key (for example, in a text file) if you want to be able * to access it again. If a secret key is lost, you can delete the access * keys for the associated user and then create new keys. *

* * @param createAccessKeyRequest Container for the necessary parameters * to execute the CreateAccessKey operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * CreateAccessKey service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createAccessKeyAsync(final CreateAccessKeyRequest createAccessKeyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateAccessKeyResult call() throws Exception { return createAccessKey(createAccessKeyRequest); } }); } /** *

* Creates a new AWS secret access key and corresponding AWS access key * ID for the specified user. The default status for new keys is * Active . *

*

* If you do not specify a user name, IAM determines the user name * implicitly based on the AWS access key ID signing the request. Because * this action works for access keys under the AWS account, you can use * this API to manage root credentials even if the AWS account has no * associated users. *

*

* For information about limits on the number of keys you can create, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* IMPORTANT:To ensure the security of your AWS account, the * secret access key is accessible only during key and user creation. You * must save the key (for example, in a text file) if you want to be able * to access it again. If a secret key is lost, you can delete the access * keys for the associated user and then create new keys. *

* * @param createAccessKeyRequest Container for the necessary parameters * to execute the CreateAccessKey operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateAccessKey service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createAccessKeyAsync( final CreateAccessKeyRequest createAccessKeyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateAccessKeyResult call() throws Exception { CreateAccessKeyResult result; try { result = createAccessKey(createAccessKeyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createAccessKeyRequest, result); return result; } }); } /** *

* Retrieves information about the specified user, including the user's * path, unique ID, and ARN. *

*

* If you do not specify a user name, IAM determines the user name * implicitly based on the AWS access key ID signing the request. *

* * @param getUserRequest Container for the necessary parameters to * execute the GetUser operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the GetUser * service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getUserAsync(final GetUserRequest getUserRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetUserResult call() throws Exception { return getUser(getUserRequest); } }); } /** *

* Retrieves information about the specified user, including the user's * path, unique ID, and ARN. *

*

* If you do not specify a user name, IAM determines the user name * implicitly based on the AWS access key ID signing the request. *

* * @param getUserRequest Container for the necessary parameters to * execute the GetUser operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the GetUser * service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getUserAsync( final GetUserRequest getUserRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetUserResult call() throws Exception { GetUserResult result; try { result = getUser(getUserRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getUserRequest, result); return result; } }); } /** *

* Synchronizes the specified MFA device with AWS servers. *

* * @param resyncMFADeviceRequest Container for the necessary parameters * to execute the ResyncMFADevice operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ResyncMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future resyncMFADeviceAsync(final ResyncMFADeviceRequest resyncMFADeviceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { resyncMFADevice(resyncMFADeviceRequest); return null; } }); } /** *

* Synchronizes the specified MFA device with AWS servers. *

* * @param resyncMFADeviceRequest Container for the necessary parameters * to execute the ResyncMFADevice operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ResyncMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future resyncMFADeviceAsync( final ResyncMFADeviceRequest resyncMFADeviceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { resyncMFADevice(resyncMFADeviceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(resyncMFADeviceRequest, null); return null; } }); } /** *

* Lists the MFA devices. If the request includes the user name, then * this action lists all the MFA devices associated with the specified * user name. If you do not specify a user name, IAM determines the user * name implicitly based on the AWS access key ID signing the request. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listMFADevicesRequest Container for the necessary parameters to * execute the ListMFADevices operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListMFADevices service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listMFADevicesAsync(final ListMFADevicesRequest listMFADevicesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListMFADevicesResult call() throws Exception { return listMFADevices(listMFADevicesRequest); } }); } /** *

* Lists the MFA devices. If the request includes the user name, then * this action lists all the MFA devices associated with the specified * user name. If you do not specify a user name, IAM determines the user * name implicitly based on the AWS access key ID signing the request. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listMFADevicesRequest Container for the necessary parameters to * execute the ListMFADevices operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListMFADevices service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listMFADevicesAsync( final ListMFADevicesRequest listMFADevicesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListMFADevicesResult call() throws Exception { ListMFADevicesResult result; try { result = listMFADevices(listMFADevicesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listMFADevicesRequest, result); return result; } }); } /** *

* Creates a new virtual MFA device for the AWS account. After creating * the virtual MFA, use * EnableMFADevice to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device * in Using AWS Identity and Access Management . *

*

* For information about limits on the number of MFA devices you can * create, see * Limitations on Entities * in Using AWS Identity and Access Management . *

*

* IMPORTANT:The seed information contained in the QR code and the * Base32 string should be treated like any other secret access * information, such as your AWS access keys or your passwords. After you * provision your virtual device, you should ensure that the information * is destroyed following secure procedures. *

* * @param createVirtualMFADeviceRequest Container for the necessary * parameters to execute the CreateVirtualMFADevice operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * CreateVirtualMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createVirtualMFADeviceAsync(final CreateVirtualMFADeviceRequest createVirtualMFADeviceRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVirtualMFADeviceResult call() throws Exception { return createVirtualMFADevice(createVirtualMFADeviceRequest); } }); } /** *

* Creates a new virtual MFA device for the AWS account. After creating * the virtual MFA, use * EnableMFADevice to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device * in Using AWS Identity and Access Management . *

*

* For information about limits on the number of MFA devices you can * create, see * Limitations on Entities * in Using AWS Identity and Access Management . *

*

* IMPORTANT:The seed information contained in the QR code and the * Base32 string should be treated like any other secret access * information, such as your AWS access keys or your passwords. After you * provision your virtual device, you should ensure that the information * is destroyed following secure procedures. *

* * @param createVirtualMFADeviceRequest Container for the necessary * parameters to execute the CreateVirtualMFADevice operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateVirtualMFADevice service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createVirtualMFADeviceAsync( final CreateVirtualMFADeviceRequest createVirtualMFADeviceRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateVirtualMFADeviceResult call() throws Exception { CreateVirtualMFADeviceResult result; try { result = createVirtualMFADevice(createVirtualMFADeviceRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createVirtualMFADeviceRequest, result); return result; } }); } /** *

* Lists the instance profiles that have the specified path prefix. If * there are none, the action returns an empty list. For more information * about instance profiles, go to * About Instance Profiles * . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listInstanceProfilesRequest Container for the necessary * parameters to execute the ListInstanceProfiles operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListInstanceProfiles service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listInstanceProfilesAsync(final ListInstanceProfilesRequest listInstanceProfilesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListInstanceProfilesResult call() throws Exception { return listInstanceProfiles(listInstanceProfilesRequest); } }); } /** *

* Lists the instance profiles that have the specified path prefix. If * there are none, the action returns an empty list. For more information * about instance profiles, go to * About Instance Profiles * . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listInstanceProfilesRequest Container for the necessary * parameters to execute the ListInstanceProfiles operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListInstanceProfiles service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listInstanceProfilesAsync( final ListInstanceProfilesRequest listInstanceProfilesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListInstanceProfilesResult call() throws Exception { ListInstanceProfilesResult result; try { result = listInstanceProfiles(listInstanceProfilesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listInstanceProfilesRequest, result); return result; } }); } /** *

* Changes the status of the specified access key from Active to * Inactive, or vice versa. This action can be used to disable a user's * key as part of a key rotation work flow. *

*

* If the UserName field is not specified, the UserName is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

*

* For information about rotating keys, see * Managing Keys and Certificates * in Using AWS Identity and Access Management . *

* * @param updateAccessKeyRequest Container for the necessary parameters * to execute the UpdateAccessKey operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UpdateAccessKey service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateAccessKeyAsync(final UpdateAccessKeyRequest updateAccessKeyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { updateAccessKey(updateAccessKeyRequest); return null; } }); } /** *

* Changes the status of the specified access key from Active to * Inactive, or vice versa. This action can be used to disable a user's * key as part of a key rotation work flow. *

*

* If the UserName field is not specified, the UserName is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

*

* For information about rotating keys, see * Managing Keys and Certificates * in Using AWS Identity and Access Management . *

* * @param updateAccessKeyRequest Container for the necessary parameters * to execute the UpdateAccessKey operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateAccessKey service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateAccessKeyAsync( final UpdateAccessKeyRequest updateAccessKeyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { updateAccessKey(updateAccessKeyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateAccessKeyRequest, null); return null; } }); } /** *

* Adds the specified user to the specified group. *

* * @param addUserToGroupRequest Container for the necessary parameters to * execute the AddUserToGroup operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * AddUserToGroup service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future addUserToGroupAsync(final AddUserToGroupRequest addUserToGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { addUserToGroup(addUserToGroupRequest); return null; } }); } /** *

* Adds the specified user to the specified group. *

* * @param addUserToGroupRequest Container for the necessary parameters to * execute the AddUserToGroup operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AddUserToGroup service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future addUserToGroupAsync( final AddUserToGroupRequest addUserToGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { addUserToGroup(addUserToGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(addUserToGroupRequest, null); return null; } }); } /** *

* Returns a list of users that are in the specified group. You can * paginate the results using the MaxItems and * Marker parameters. *

* * @param getGroupRequest Container for the necessary parameters to * execute the GetGroup operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the GetGroup * service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getGroupAsync(final GetGroupRequest getGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetGroupResult call() throws Exception { return getGroup(getGroupRequest); } }); } /** *

* Returns a list of users that are in the specified group. You can * paginate the results using the MaxItems and * Marker parameters. *

* * @param getGroupRequest Container for the necessary parameters to * execute the GetGroup operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the GetGroup * service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getGroupAsync( final GetGroupRequest getGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetGroupResult call() throws Exception { GetGroupResult result; try { result = getGroup(getGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getGroupRequest, result); return result; } }); } /** *

* Lists the account aliases associated with the account. For information * about using an AWS account alias, see * Using an Alias for Your AWS Account ID * in Using AWS Identity and Access Management . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listAccountAliasesRequest Container for the necessary * parameters to execute the ListAccountAliases operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListAccountAliases service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listAccountAliasesAsync(final ListAccountAliasesRequest listAccountAliasesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListAccountAliasesResult call() throws Exception { return listAccountAliases(listAccountAliasesRequest); } }); } /** *

* Lists the account aliases associated with the account. For information * about using an AWS account alias, see * Using an Alias for Your AWS Account ID * in Using AWS Identity and Access Management . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listAccountAliasesRequest Container for the necessary * parameters to execute the ListAccountAliases operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListAccountAliases service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listAccountAliasesAsync( final ListAccountAliasesRequest listAccountAliasesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListAccountAliasesResult call() throws Exception { ListAccountAliasesResult result; try { result = listAccountAliases(listAccountAliasesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listAccountAliasesRequest, result); return result; } }); } /** *

* Deletes the specified group. The group must not contain any users or * have any attached policies. *

* * @param deleteGroupRequest Container for the necessary parameters to * execute the DeleteGroup operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteGroup service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteGroupAsync(final DeleteGroupRequest deleteGroupRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteGroup(deleteGroupRequest); return null; } }); } /** *

* Deletes the specified group. The group must not contain any users or * have any attached policies. *

* * @param deleteGroupRequest Container for the necessary parameters to * execute the DeleteGroup operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteGroup service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteGroupAsync( final DeleteGroupRequest deleteGroupRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteGroup(deleteGroupRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteGroupRequest, null); return null; } }); } /** *

* Retrieves information about the specified role, including the role's * path, GUID, ARN, and the policy granting permission to EC2 to assume * the role. For more information about ARNs, go to ARNs. For more * information about roles, go to * Working with Roles * . *

*

* The returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param getRoleRequest Container for the necessary parameters to * execute the GetRole operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the GetRole * service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getRoleAsync(final GetRoleRequest getRoleRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetRoleResult call() throws Exception { return getRole(getRoleRequest); } }); } /** *

* Retrieves information about the specified role, including the role's * path, GUID, ARN, and the policy granting permission to EC2 to assume * the role. For more information about ARNs, go to ARNs. For more * information about roles, go to * Working with Roles * . *

*

* The returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param getRoleRequest Container for the necessary parameters to * execute the GetRole operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the GetRole * service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getRoleAsync( final GetRoleRequest getRoleRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetRoleResult call() throws Exception { GetRoleResult result; try { result = getRole(getRoleRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getRoleRequest, result); return result; } }); } /** *

* Lists the names of the policies associated with the specified role. If * there are none, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listRolePoliciesRequest Container for the necessary parameters * to execute the ListRolePolicies operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListRolePolicies service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listRolePoliciesAsync(final ListRolePoliciesRequest listRolePoliciesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListRolePoliciesResult call() throws Exception { return listRolePolicies(listRolePoliciesRequest); } }); } /** *

* Lists the names of the policies associated with the specified role. If * there are none, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listRolePoliciesRequest Container for the necessary parameters * to execute the ListRolePolicies operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListRolePolicies service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listRolePoliciesAsync( final ListRolePoliciesRequest listRolePoliciesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListRolePoliciesResult call() throws Exception { ListRolePoliciesResult result; try { result = listRolePolicies(listRolePoliciesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listRolePoliciesRequest, result); return result; } }); } /** *

* Returns information about the signing certificates associated with the * specified user. If there are none, the action returns an empty list. *

*

* Although each user is limited to a small number of signing * certificates, you can still paginate the results using the * MaxItems and Marker parameters. *

*

* If the UserName field is not specified, the user name is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

* * @param listSigningCertificatesRequest Container for the necessary * parameters to execute the ListSigningCertificates operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListSigningCertificates service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listSigningCertificatesAsync(final ListSigningCertificatesRequest listSigningCertificatesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListSigningCertificatesResult call() throws Exception { return listSigningCertificates(listSigningCertificatesRequest); } }); } /** *

* Returns information about the signing certificates associated with the * specified user. If there are none, the action returns an empty list. *

*

* Although each user is limited to a small number of signing * certificates, you can still paginate the results using the * MaxItems and Marker parameters. *

*

* If the UserName field is not specified, the user name is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

* * @param listSigningCertificatesRequest Container for the necessary * parameters to execute the ListSigningCertificates operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListSigningCertificates service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listSigningCertificatesAsync( final ListSigningCertificatesRequest listSigningCertificatesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListSigningCertificatesResult call() throws Exception { ListSigningCertificatesResult result; try { result = listSigningCertificates(listSigningCertificatesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listSigningCertificatesRequest, result); return result; } }); } /** *

* Uploads an X.509 signing certificate and associates it with the * specified user. Some AWS services use X.509 signing certificates to * validate requests that are signed with a corresponding private key. * When you upload the certificate, its default status is * Active . *

*

* If the UserName field is not specified, the user name is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

*

* NOTE:Because the body of a X.509 certificate can be large, you * should use POST rather than GET when calling UploadSigningCertificate. * For information about setting up signatures and authorization through * the API, go to Signing AWS API Requests in the AWS General Reference. * For general information about using the Query API with IAM, go to * Making Query Requests in Using IAM. *

* * @param uploadSigningCertificateRequest Container for the necessary * parameters to execute the UploadSigningCertificate operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UploadSigningCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future uploadSigningCertificateAsync(final UploadSigningCertificateRequest uploadSigningCertificateRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UploadSigningCertificateResult call() throws Exception { return uploadSigningCertificate(uploadSigningCertificateRequest); } }); } /** *

* Uploads an X.509 signing certificate and associates it with the * specified user. Some AWS services use X.509 signing certificates to * validate requests that are signed with a corresponding private key. * When you upload the certificate, its default status is * Active . *

*

* If the UserName field is not specified, the user name is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

*

* NOTE:Because the body of a X.509 certificate can be large, you * should use POST rather than GET when calling UploadSigningCertificate. * For information about setting up signatures and authorization through * the API, go to Signing AWS API Requests in the AWS General Reference. * For general information about using the Query API with IAM, go to * Making Query Requests in Using IAM. *

* * @param uploadSigningCertificateRequest Container for the necessary * parameters to execute the UploadSigningCertificate operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UploadSigningCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future uploadSigningCertificateAsync( final UploadSigningCertificateRequest uploadSigningCertificateRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UploadSigningCertificateResult call() throws Exception { UploadSigningCertificateResult result; try { result = uploadSigningCertificate(uploadSigningCertificateRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(uploadSigningCertificateRequest, result); return result; } }); } /** *

* Deletes the specified instance profile. The instance profile must not * have an associated role. *

*

* IMPORTANT:Make sure you do not have any Amazon EC2 instances * running with the instance profile you are about to delete. Deleting a * role or instance profile that is associated with a running instance * will break any applications running on the instance. *

*

* For more information about instance profiles, go to * About Instance Profiles * . *

* * @param deleteInstanceProfileRequest Container for the necessary * parameters to execute the DeleteInstanceProfile operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteInstanceProfileAsync(final DeleteInstanceProfileRequest deleteInstanceProfileRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteInstanceProfile(deleteInstanceProfileRequest); return null; } }); } /** *

* Deletes the specified instance profile. The instance profile must not * have an associated role. *

*

* IMPORTANT:Make sure you do not have any Amazon EC2 instances * running with the instance profile you are about to delete. Deleting a * role or instance profile that is associated with a running instance * will break any applications running on the instance. *

*

* For more information about instance profiles, go to * About Instance Profiles * . *

* * @param deleteInstanceProfileRequest Container for the necessary * parameters to execute the DeleteInstanceProfile operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteInstanceProfileAsync( final DeleteInstanceProfileRequest deleteInstanceProfileRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteInstanceProfile(deleteInstanceProfileRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteInstanceProfileRequest, null); return null; } }); } /** *

* Returns the SAML provider metadocument that was uploaded when the * provider was created or updated. *

*

* NOTE:This operation requires Signature Version 4. *

* * @param getSAMLProviderRequest Container for the necessary parameters * to execute the GetSAMLProvider operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * GetSAMLProvider service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getSAMLProviderAsync(final GetSAMLProviderRequest getSAMLProviderRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetSAMLProviderResult call() throws Exception { return getSAMLProvider(getSAMLProviderRequest); } }); } /** *

* Returns the SAML provider metadocument that was uploaded when the * provider was created or updated. *

*

* NOTE:This operation requires Signature Version 4. *

* * @param getSAMLProviderRequest Container for the necessary parameters * to execute the GetSAMLProvider operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetSAMLProvider service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getSAMLProviderAsync( final GetSAMLProviderRequest getSAMLProviderRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetSAMLProviderResult call() throws Exception { GetSAMLProviderResult result; try { result = getSAMLProvider(getSAMLProviderRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getSAMLProviderRequest, result); return result; } }); } /** *

* Creates a new role for your AWS account. For more information about * roles, go to * Working with Roles . For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* The policy grants permission to an EC2 instance to assume the role. * The policy is URL-encoded according to RFC 3986. For more information * about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . Currently, only EC2 instances can assume roles. *

* * @param createRoleRequest Container for the necessary parameters to * execute the CreateRole operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * CreateRole service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createRoleAsync(final CreateRoleRequest createRoleRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateRoleResult call() throws Exception { return createRole(createRoleRequest); } }); } /** *

* Creates a new role for your AWS account. For more information about * roles, go to * Working with Roles . For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* The policy grants permission to an EC2 instance to assume the role. * The policy is URL-encoded according to RFC 3986. For more information * about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . Currently, only EC2 instances can assume roles. *

* * @param createRoleRequest Container for the necessary parameters to * execute the CreateRole operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateRole service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createRoleAsync( final CreateRoleRequest createRoleRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateRoleResult call() throws Exception { CreateRoleResult result; try { result = createRole(createRoleRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createRoleRequest, result); return result; } }); } /** *

* Changes the password for the specified user. *

* * @param updateLoginProfileRequest Container for the necessary * parameters to execute the UpdateLoginProfile operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UpdateLoginProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateLoginProfileAsync(final UpdateLoginProfileRequest updateLoginProfileRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { updateLoginProfile(updateLoginProfileRequest); return null; } }); } /** *

* Changes the password for the specified user. *

* * @param updateLoginProfileRequest Container for the necessary * parameters to execute the UpdateLoginProfile operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateLoginProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateLoginProfileAsync( final UpdateLoginProfileRequest updateLoginProfileRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { updateLoginProfile(updateLoginProfileRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateLoginProfileRequest, null); return null; } }); } /** *

* Deletes the password for the specified user, which terminates the * user's ability to access AWS services through the AWS Management * Console. *

*

* IMPORTANT:Deleting a user's password does not prevent a user * from accessing IAM through the command line interface or the API. To * prevent all user access you must also either make the access key * inactive or delete it. For more information about making keys inactive * or deleting them, see UpdateAccessKey and DeleteAccessKey. *

* * @param deleteLoginProfileRequest Container for the necessary * parameters to execute the DeleteLoginProfile operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteLoginProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLoginProfileAsync(final DeleteLoginProfileRequest deleteLoginProfileRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteLoginProfile(deleteLoginProfileRequest); return null; } }); } /** *

* Deletes the password for the specified user, which terminates the * user's ability to access AWS services through the AWS Management * Console. *

*

* IMPORTANT:Deleting a user's password does not prevent a user * from accessing IAM through the command line interface or the API. To * prevent all user access you must also either make the access key * inactive or delete it. For more information about making keys inactive * or deleting them, see UpdateAccessKey and DeleteAccessKey. *

* * @param deleteLoginProfileRequest Container for the necessary * parameters to execute the DeleteLoginProfile operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteLoginProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteLoginProfileAsync( final DeleteLoginProfileRequest deleteLoginProfileRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteLoginProfile(deleteLoginProfileRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteLoginProfileRequest, null); return null; } }); } /** *

* Changes the password of the IAM user calling * ChangePassword . The root account password is not * affected by this action. For information about modifying passwords, * see * Managing Passwords * . *

* * @param changePasswordRequest Container for the necessary parameters to * execute the ChangePassword operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ChangePassword service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future changePasswordAsync(final ChangePasswordRequest changePasswordRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { changePassword(changePasswordRequest); return null; } }); } /** *

* Changes the password of the IAM user calling * ChangePassword . The root account password is not * affected by this action. For information about modifying passwords, * see * Managing Passwords * . *

* * @param changePasswordRequest Container for the necessary parameters to * execute the ChangePassword operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ChangePassword service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future changePasswordAsync( final ChangePasswordRequest changePasswordRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { changePassword(changePasswordRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(changePasswordRequest, null); return null; } }); } /** *

* Retrieves information about the specified server certificate. *

* * @param getServerCertificateRequest Container for the necessary * parameters to execute the GetServerCertificate operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * GetServerCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getServerCertificateAsync(final GetServerCertificateRequest getServerCertificateRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetServerCertificateResult call() throws Exception { return getServerCertificate(getServerCertificateRequest); } }); } /** *

* Retrieves information about the specified server certificate. *

* * @param getServerCertificateRequest Container for the necessary * parameters to execute the GetServerCertificate operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetServerCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getServerCertificateAsync( final GetServerCertificateRequest getServerCertificateRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetServerCertificateResult call() throws Exception { GetServerCertificateResult result; try { result = getServerCertificate(getServerCertificateRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getServerCertificateRequest, result); return result; } }); } /** *

* Adds (or updates) a policy document associated with the specified * group. For information about policies, refer to * Overview of Policies * in Using AWS Identity and Access Management . *

*

* For information about limits on the number of policies you can * associate with a group, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* NOTE:Because policy documents can be large, you should use POST * rather than GET when calling PutGroupPolicy. For information about * setting up signatures and authorization through the API, go to Signing * AWS API Requests in the AWS General Reference. For general information * about using the Query API with IAM, go to Making Query Requests in * Using IAM. *

* * @param putGroupPolicyRequest Container for the necessary parameters to * execute the PutGroupPolicy operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * PutGroupPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future putGroupPolicyAsync(final PutGroupPolicyRequest putGroupPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { putGroupPolicy(putGroupPolicyRequest); return null; } }); } /** *

* Adds (or updates) a policy document associated with the specified * group. For information about policies, refer to * Overview of Policies * in Using AWS Identity and Access Management . *

*

* For information about limits on the number of policies you can * associate with a group, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

*

* NOTE:Because policy documents can be large, you should use POST * rather than GET when calling PutGroupPolicy. For information about * setting up signatures and authorization through the API, go to Signing * AWS API Requests in the AWS General Reference. For general information * about using the Query API with IAM, go to Making Query Requests in * Using IAM. *

* * @param putGroupPolicyRequest Container for the necessary parameters to * execute the PutGroupPolicy operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * PutGroupPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future putGroupPolicyAsync( final PutGroupPolicyRequest putGroupPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { putGroupPolicy(putGroupPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(putGroupPolicyRequest, null); return null; } }); } /** *

* Deletes the specified signing certificate associated with the * specified user. *

*

* If you do not specify a user name, IAM determines the user name * implicitly based on the AWS access key ID signing the request. Because * this action works for access keys under the AWS account, you can use * this API to manage root credentials even if the AWS account has no * associated users. *

* * @param deleteSigningCertificateRequest Container for the necessary * parameters to execute the DeleteSigningCertificate operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteSigningCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSigningCertificateAsync(final DeleteSigningCertificateRequest deleteSigningCertificateRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteSigningCertificate(deleteSigningCertificateRequest); return null; } }); } /** *

* Deletes the specified signing certificate associated with the * specified user. *

*

* If you do not specify a user name, IAM determines the user name * implicitly based on the AWS access key ID signing the request. Because * this action works for access keys under the AWS account, you can use * this API to manage root credentials even if the AWS account has no * associated users. *

* * @param deleteSigningCertificateRequest Container for the necessary * parameters to execute the DeleteSigningCertificate operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteSigningCertificate service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSigningCertificateAsync( final DeleteSigningCertificateRequest deleteSigningCertificateRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteSigningCertificate(deleteSigningCertificateRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteSigningCertificateRequest, null); return null; } }); } /** *

* Lists the names of the policies associated with the specified user. If * there are none, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listUserPoliciesRequest Container for the necessary parameters * to execute the ListUserPolicies operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListUserPolicies service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listUserPoliciesAsync(final ListUserPoliciesRequest listUserPoliciesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListUserPoliciesResult call() throws Exception { return listUserPolicies(listUserPoliciesRequest); } }); } /** *

* Lists the names of the policies associated with the specified user. If * there are none, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listUserPoliciesRequest Container for the necessary parameters * to execute the ListUserPolicies operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListUserPolicies service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listUserPoliciesAsync( final ListUserPoliciesRequest listUserPoliciesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListUserPoliciesResult call() throws Exception { ListUserPoliciesResult result; try { result = listUserPolicies(listUserPoliciesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listUserPoliciesRequest, result); return result; } }); } /** *

* Returns information about the access key IDs associated with the * specified user. If there are none, the action returns an empty list. *

*

* Although each user is limited to a small number of keys, you can still * paginate the results using the MaxItems and * Marker parameters. *

*

* If the UserName field is not specified, the UserName is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

*

* NOTE:To ensure the security of your AWS account, the secret * access key is accessible only during key and user creation. *

* * @param listAccessKeysRequest Container for the necessary parameters to * execute the ListAccessKeys operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListAccessKeys service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listAccessKeysAsync(final ListAccessKeysRequest listAccessKeysRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListAccessKeysResult call() throws Exception { return listAccessKeys(listAccessKeysRequest); } }); } /** *

* Returns information about the access key IDs associated with the * specified user. If there are none, the action returns an empty list. *

*

* Although each user is limited to a small number of keys, you can still * paginate the results using the MaxItems and * Marker parameters. *

*

* If the UserName field is not specified, the UserName is * determined implicitly based on the AWS access key ID used to sign the * request. Because this action works for access keys under the AWS * account, this API can be used to manage root credentials even if the * AWS account has no associated users. *

*

* NOTE:To ensure the security of your AWS account, the secret * access key is accessible only during key and user creation. *

* * @param listAccessKeysRequest Container for the necessary parameters to * execute the ListAccessKeys operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListAccessKeys service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listAccessKeysAsync( final ListAccessKeysRequest listAccessKeysRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListAccessKeysResult call() throws Exception { ListAccessKeysResult result; try { result = listAccessKeys(listAccessKeysRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listAccessKeysRequest, result); return result; } }); } /** *

* Lists the groups the specified user belongs to. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listGroupsForUserRequest Container for the necessary parameters * to execute the ListGroupsForUser operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListGroupsForUser service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listGroupsForUserAsync(final ListGroupsForUserRequest listGroupsForUserRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListGroupsForUserResult call() throws Exception { return listGroupsForUser(listGroupsForUserRequest); } }); } /** *

* Lists the groups the specified user belongs to. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listGroupsForUserRequest Container for the necessary parameters * to execute the ListGroupsForUser operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListGroupsForUser service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listGroupsForUserAsync( final ListGroupsForUserRequest listGroupsForUserRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListGroupsForUserResult call() throws Exception { ListGroupsForUserResult result; try { result = listGroupsForUser(listGroupsForUserRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listGroupsForUserRequest, result); return result; } }); } /** *

* Adds the specified role to the specified instance profile. For more * information about roles, go to * Working with Roles . For more information about instance profiles, go to About Instance Profiles * . *

* * @param addRoleToInstanceProfileRequest Container for the necessary * parameters to execute the AddRoleToInstanceProfile operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * AddRoleToInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future addRoleToInstanceProfileAsync(final AddRoleToInstanceProfileRequest addRoleToInstanceProfileRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { addRoleToInstanceProfile(addRoleToInstanceProfileRequest); return null; } }); } /** *

* Adds the specified role to the specified instance profile. For more * information about roles, go to * Working with Roles . For more information about instance profiles, go to About Instance Profiles * . *

* * @param addRoleToInstanceProfileRequest Container for the necessary * parameters to execute the AddRoleToInstanceProfile operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AddRoleToInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future addRoleToInstanceProfileAsync( final AddRoleToInstanceProfileRequest addRoleToInstanceProfileRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { addRoleToInstanceProfile(addRoleToInstanceProfileRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(addRoleToInstanceProfileRequest, null); return null; } }); } /** *

* Retrieves the specified policy document for the specified group. The * returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param getGroupPolicyRequest Container for the necessary parameters to * execute the GetGroupPolicy operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * GetGroupPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getGroupPolicyAsync(final GetGroupPolicyRequest getGroupPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetGroupPolicyResult call() throws Exception { return getGroupPolicy(getGroupPolicyRequest); } }); } /** *

* Retrieves the specified policy document for the specified group. The * returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param getGroupPolicyRequest Container for the necessary parameters to * execute the GetGroupPolicy operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetGroupPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getGroupPolicyAsync( final GetGroupPolicyRequest getGroupPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetGroupPolicyResult call() throws Exception { GetGroupPolicyResult result; try { result = getGroupPolicy(getGroupPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getGroupPolicyRequest, result); return result; } }); } /** *

* Retrieves the specified policy document for the specified role. For * more information about roles, go to * Working with Roles * . *

*

* The returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param getRolePolicyRequest Container for the necessary parameters to * execute the GetRolePolicy operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * GetRolePolicy service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getRolePolicyAsync(final GetRolePolicyRequest getRolePolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetRolePolicyResult call() throws Exception { return getRolePolicy(getRolePolicyRequest); } }); } /** *

* Retrieves the specified policy document for the specified role. For * more information about roles, go to * Working with Roles * . *

*

* The returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param getRolePolicyRequest Container for the necessary parameters to * execute the GetRolePolicy operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetRolePolicy service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getRolePolicyAsync( final GetRolePolicyRequest getRolePolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetRolePolicyResult call() throws Exception { GetRolePolicyResult result; try { result = getRolePolicy(getRolePolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getRolePolicyRequest, result); return result; } }); } /** *

* Lists the instance profiles that have the specified associated role. * If there are none, the action returns an empty list. For more * information about instance profiles, go to * About Instance Profiles * . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listInstanceProfilesForRoleRequest Container for the necessary * parameters to execute the ListInstanceProfilesForRole operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListInstanceProfilesForRole service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listInstanceProfilesForRoleAsync(final ListInstanceProfilesForRoleRequest listInstanceProfilesForRoleRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListInstanceProfilesForRoleResult call() throws Exception { return listInstanceProfilesForRole(listInstanceProfilesForRoleRequest); } }); } /** *

* Lists the instance profiles that have the specified associated role. * If there are none, the action returns an empty list. For more * information about instance profiles, go to * About Instance Profiles * . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listInstanceProfilesForRoleRequest Container for the necessary * parameters to execute the ListInstanceProfilesForRole operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListInstanceProfilesForRole service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listInstanceProfilesForRoleAsync( final ListInstanceProfilesForRoleRequest listInstanceProfilesForRoleRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListInstanceProfilesForRoleResult call() throws Exception { ListInstanceProfilesForRoleResult result; try { result = listInstanceProfilesForRole(listInstanceProfilesForRoleRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listInstanceProfilesForRoleRequest, result); return result; } }); } /** *

* Lists the virtual MFA devices under the AWS account by assignment * status. If you do not specify an assignment status, the action returns * a list of all virtual MFA devices. Assignment status can be * Assigned , * Unassigned , or Any . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listVirtualMFADevicesRequest Container for the necessary * parameters to execute the ListVirtualMFADevices operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListVirtualMFADevices service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listVirtualMFADevicesAsync(final ListVirtualMFADevicesRequest listVirtualMFADevicesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListVirtualMFADevicesResult call() throws Exception { return listVirtualMFADevices(listVirtualMFADevicesRequest); } }); } /** *

* Lists the virtual MFA devices under the AWS account by assignment * status. If you do not specify an assignment status, the action returns * a list of all virtual MFA devices. Assignment status can be * Assigned , * Unassigned , or Any . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listVirtualMFADevicesRequest Container for the necessary * parameters to execute the ListVirtualMFADevices operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListVirtualMFADevices service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listVirtualMFADevicesAsync( final ListVirtualMFADevicesRequest listVirtualMFADevicesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListVirtualMFADevicesResult call() throws Exception { ListVirtualMFADevicesResult result; try { result = listVirtualMFADevices(listVirtualMFADevicesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listVirtualMFADevicesRequest, result); return result; } }); } /** *

* Deletes the specified policy associated with the specified role. *

* * @param deleteRolePolicyRequest Container for the necessary parameters * to execute the DeleteRolePolicy operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * DeleteRolePolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteRolePolicyAsync(final DeleteRolePolicyRequest deleteRolePolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { deleteRolePolicy(deleteRolePolicyRequest); return null; } }); } /** *

* Deletes the specified policy associated with the specified role. *

* * @param deleteRolePolicyRequest Container for the necessary parameters * to execute the DeleteRolePolicy operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteRolePolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteRolePolicyAsync( final DeleteRolePolicyRequest deleteRolePolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { deleteRolePolicy(deleteRolePolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteRolePolicyRequest, null); return null; } }); } /** *

* Creates a new instance profile. For information about instance * profiles, go to * About Instance Profiles * . *

*

* For information about the number of instance profiles you can create, * see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

* * @param createInstanceProfileRequest Container for the necessary * parameters to execute the CreateInstanceProfile operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * CreateInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createInstanceProfileAsync(final CreateInstanceProfileRequest createInstanceProfileRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateInstanceProfileResult call() throws Exception { return createInstanceProfile(createInstanceProfileRequest); } }); } /** *

* Creates a new instance profile. For information about instance * profiles, go to * About Instance Profiles * . *

*

* For information about the number of instance profiles you can create, * see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

* * @param createInstanceProfileRequest Container for the necessary * parameters to execute the CreateInstanceProfile operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createInstanceProfileAsync( final CreateInstanceProfileRequest createInstanceProfileRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateInstanceProfileResult call() throws Exception { CreateInstanceProfileResult result; try { result = createInstanceProfile(createInstanceProfileRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createInstanceProfileRequest, result); return result; } }); } /** *

* Lists the names of the policies associated with the specified group. * If there are none, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listGroupPoliciesRequest Container for the necessary parameters * to execute the ListGroupPolicies operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListGroupPolicies service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listGroupPoliciesAsync(final ListGroupPoliciesRequest listGroupPoliciesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListGroupPoliciesResult call() throws Exception { return listGroupPolicies(listGroupPoliciesRequest); } }); } /** *

* Lists the names of the policies associated with the specified group. * If there are none, the action returns an empty list. *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

* * @param listGroupPoliciesRequest Container for the necessary parameters * to execute the ListGroupPolicies operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListGroupPolicies service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listGroupPoliciesAsync( final ListGroupPoliciesRequest listGroupPoliciesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListGroupPoliciesResult call() throws Exception { ListGroupPoliciesResult result; try { result = listGroupPolicies(listGroupPoliciesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listGroupPoliciesRequest, result); return result; } }); } /** *

* Creates a password for the specified user, giving the user the ability * to access AWS services through the AWS Management Console. For more * information about managing passwords, see * Managing Passwords * in Using IAM . *

* * @param createLoginProfileRequest Container for the necessary * parameters to execute the CreateLoginProfile operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * CreateLoginProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createLoginProfileAsync(final CreateLoginProfileRequest createLoginProfileRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateLoginProfileResult call() throws Exception { return createLoginProfile(createLoginProfileRequest); } }); } /** *

* Creates a password for the specified user, giving the user the ability * to access AWS services through the AWS Management Console. For more * information about managing passwords, see * Managing Passwords * in Using IAM . *

* * @param createLoginProfileRequest Container for the necessary * parameters to execute the CreateLoginProfile operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateLoginProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createLoginProfileAsync( final CreateLoginProfileRequest createLoginProfileRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateLoginProfileResult call() throws Exception { CreateLoginProfileResult result; try { result = createLoginProfile(createLoginProfileRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createLoginProfileRequest, result); return result; } }); } /** *

* Removes the specified role from the specified instance profile. *

*

* IMPORTANT:Make sure you do not have any Amazon EC2 instances * running with the role you are about to remove from the instance * profile. Removing a role from an instance profile that is associated * with a running instance will break any applications running on the * instance. *

*

* For more information about roles, go to * Working with Roles . For more information about instance profiles, go to About Instance Profiles * . *

* * @param removeRoleFromInstanceProfileRequest Container for the * necessary parameters to execute the RemoveRoleFromInstanceProfile * operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * RemoveRoleFromInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future removeRoleFromInstanceProfileAsync(final RemoveRoleFromInstanceProfileRequest removeRoleFromInstanceProfileRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { removeRoleFromInstanceProfile(removeRoleFromInstanceProfileRequest); return null; } }); } /** *

* Removes the specified role from the specified instance profile. *

*

* IMPORTANT:Make sure you do not have any Amazon EC2 instances * running with the role you are about to remove from the instance * profile. Removing a role from an instance profile that is associated * with a running instance will break any applications running on the * instance. *

*

* For more information about roles, go to * Working with Roles . For more information about instance profiles, go to About Instance Profiles * . *

* * @param removeRoleFromInstanceProfileRequest Container for the * necessary parameters to execute the RemoveRoleFromInstanceProfile * operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RemoveRoleFromInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future removeRoleFromInstanceProfileAsync( final RemoveRoleFromInstanceProfileRequest removeRoleFromInstanceProfileRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { removeRoleFromInstanceProfile(removeRoleFromInstanceProfileRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(removeRoleFromInstanceProfileRequest, null); return null; } }); } /** *

* Updates the password policy settings for the account. For more * information about using a password policy, go to * Managing an IAM Password Policy * . *

* * @param updateAccountPasswordPolicyRequest Container for the necessary * parameters to execute the UpdateAccountPasswordPolicy operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UpdateAccountPasswordPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateAccountPasswordPolicyAsync(final UpdateAccountPasswordPolicyRequest updateAccountPasswordPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { updateAccountPasswordPolicy(updateAccountPasswordPolicyRequest); return null; } }); } /** *

* Updates the password policy settings for the account. For more * information about using a password policy, go to * Managing an IAM Password Policy * . *

* * @param updateAccountPasswordPolicyRequest Container for the necessary * parameters to execute the UpdateAccountPasswordPolicy operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateAccountPasswordPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateAccountPasswordPolicyAsync( final UpdateAccountPasswordPolicyRequest updateAccountPasswordPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { updateAccountPasswordPolicy(updateAccountPasswordPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateAccountPasswordPolicyRequest, null); return null; } }); } /** *

* Updates the policy that grants an entity permission to assume a role. * Currently, only an Amazon EC2 instance can assume a role. For more * information about roles, go to * Working with Roles * . *

* * @param updateAssumeRolePolicyRequest Container for the necessary * parameters to execute the UpdateAssumeRolePolicy operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * UpdateAssumeRolePolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateAssumeRolePolicyAsync(final UpdateAssumeRolePolicyRequest updateAssumeRolePolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { updateAssumeRolePolicy(updateAssumeRolePolicyRequest); return null; } }); } /** *

* Updates the policy that grants an entity permission to assume a role. * Currently, only an Amazon EC2 instance can assume a role. For more * information about roles, go to * Working with Roles * . *

* * @param updateAssumeRolePolicyRequest Container for the necessary * parameters to execute the UpdateAssumeRolePolicy operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateAssumeRolePolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future updateAssumeRolePolicyAsync( final UpdateAssumeRolePolicyRequest updateAssumeRolePolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public Void call() throws Exception { try { updateAssumeRolePolicy(updateAssumeRolePolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateAssumeRolePolicyRequest, null); return null; } }); } /** *

* Retrieves information about the specified instance profile, including * the instance profile's path, GUID, ARN, and role. For more information * about instance profiles, go to * About Instance Profiles . For more information about ARNs, go to ARNs * . *

* * @param getInstanceProfileRequest Container for the necessary * parameters to execute the GetInstanceProfile operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * GetInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getInstanceProfileAsync(final GetInstanceProfileRequest getInstanceProfileRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetInstanceProfileResult call() throws Exception { return getInstanceProfile(getInstanceProfileRequest); } }); } /** *

* Retrieves information about the specified instance profile, including * the instance profile's path, GUID, ARN, and role. For more information * about instance profiles, go to * About Instance Profiles . For more information about ARNs, go to ARNs * . *

* * @param getInstanceProfileRequest Container for the necessary * parameters to execute the GetInstanceProfile operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetInstanceProfile service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getInstanceProfileAsync( final GetInstanceProfileRequest getInstanceProfileRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetInstanceProfileResult call() throws Exception { GetInstanceProfileResult result; try { result = getInstanceProfile(getInstanceProfileRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getInstanceProfileRequest, result); return result; } }); } /** *

* Lists the roles that have the specified path prefix. If there are * none, the action returns an empty list. For more information about * roles, go to * Working with Roles * . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

*

* The returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param listRolesRequest Container for the necessary parameters to * execute the ListRoles operation on AmazonIdentityManagement. * * @return A Java Future object containing the response from the * ListRoles service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listRolesAsync(final ListRolesRequest listRolesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListRolesResult call() throws Exception { return listRoles(listRolesRequest); } }); } /** *

* Lists the roles that have the specified path prefix. If there are * none, the action returns an empty list. For more information about * roles, go to * Working with Roles * . *

*

* You can paginate the results using the MaxItems and * Marker parameters. *

*

* The returned policy is URL-encoded according to RFC 3986. For more * information about RFC 3986, go to * http://www.faqs.org/rfcs/rfc3986.html * . *

* * @param listRolesRequest Container for the necessary parameters to * execute the ListRoles operation on AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListRoles service method, as returned by AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future listRolesAsync( final ListRolesRequest listRolesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListRolesResult call() throws Exception { ListRolesResult result; try { result = listRoles(listRolesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listRolesRequest, result); return result; } }); } /** *

* Retrieves account level information about account entity usage and IAM * quotas. *

*

* For information about limitations on IAM entities, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

* * @param getAccountSummaryRequest Container for the necessary parameters * to execute the GetAccountSummary operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * GetAccountSummary service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getAccountSummaryAsync(final GetAccountSummaryRequest getAccountSummaryRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetAccountSummaryResult call() throws Exception { return getAccountSummary(getAccountSummaryRequest); } }); } /** *

* Retrieves account level information about account entity usage and IAM * quotas. *

*

* For information about limitations on IAM entities, see * Limitations on IAM Entities * in Using AWS Identity and Access Management . *

* * @param getAccountSummaryRequest Container for the necessary parameters * to execute the GetAccountSummary operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetAccountSummary service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getAccountSummaryAsync( final GetAccountSummaryRequest getAccountSummaryRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetAccountSummaryResult call() throws Exception { GetAccountSummaryResult result; try { result = getAccountSummary(getAccountSummaryRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getAccountSummaryRequest, result); return result; } }); } /** *

* Creates an IAM entity to describe an identity provider (IdP) that * supports SAML 2.0. *

*

* The SAML provider that you create with this operation can be used as a * principal in a role's trust policy to establish a trust relationship * between AWS and a SAML identity provider. You can create an IAM role * that supports Web-based single sign-on (SSO) to the AWS Management * Console or one that supports API access to AWS. *

*

* When you create the SAML provider, you upload an a SAML metadata * document that you get from your IdP and that includes the issuer's * name, expiration information, and keys that can be used to validate * the SAML authentication response (assertions) that are received from * the IdP. You must generate the metadata document using the identity * management software that is used as your organization's IdP. *

*

* NOTE:This operation requires Signature Version 4. *

*

* For more information, see * Giving Console Access Using SAML and Creating Temporary Security Credentials for SAML Federation * in the Using Temporary Credentials guide. *

* * @param createSAMLProviderRequest Container for the necessary * parameters to execute the CreateSAMLProvider operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * CreateSAMLProvider service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createSAMLProviderAsync(final CreateSAMLProviderRequest createSAMLProviderRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSAMLProviderResult call() throws Exception { return createSAMLProvider(createSAMLProviderRequest); } }); } /** *

* Creates an IAM entity to describe an identity provider (IdP) that * supports SAML 2.0. *

*

* The SAML provider that you create with this operation can be used as a * principal in a role's trust policy to establish a trust relationship * between AWS and a SAML identity provider. You can create an IAM role * that supports Web-based single sign-on (SSO) to the AWS Management * Console or one that supports API access to AWS. *

*

* When you create the SAML provider, you upload an a SAML metadata * document that you get from your IdP and that includes the issuer's * name, expiration information, and keys that can be used to validate * the SAML authentication response (assertions) that are received from * the IdP. You must generate the metadata document using the identity * management software that is used as your organization's IdP. *

*

* NOTE:This operation requires Signature Version 4. *

*

* For more information, see * Giving Console Access Using SAML and Creating Temporary Security Credentials for SAML Federation * in the Using Temporary Credentials guide. *

* * @param createSAMLProviderRequest Container for the necessary * parameters to execute the CreateSAMLProvider operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateSAMLProvider service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future createSAMLProviderAsync( final CreateSAMLProviderRequest createSAMLProviderRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSAMLProviderResult call() throws Exception { CreateSAMLProviderResult result; try { result = createSAMLProvider(createSAMLProviderRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createSAMLProviderRequest, result); return result; } }); } /** *

* Retrieves the password policy for the AWS account. For more * information about using a password policy, go to * Managing an IAM Password Policy * . *

* * @param getAccountPasswordPolicyRequest Container for the necessary * parameters to execute the GetAccountPasswordPolicy operation on * AmazonIdentityManagement. * * @return A Java Future object containing the response from the * GetAccountPasswordPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getAccountPasswordPolicyAsync(final GetAccountPasswordPolicyRequest getAccountPasswordPolicyRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetAccountPasswordPolicyResult call() throws Exception { return getAccountPasswordPolicy(getAccountPasswordPolicyRequest); } }); } /** *

* Retrieves the password policy for the AWS account. For more * information about using a password policy, go to * Managing an IAM Password Policy * . *

* * @param getAccountPasswordPolicyRequest Container for the necessary * parameters to execute the GetAccountPasswordPolicy operation on * AmazonIdentityManagement. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * GetAccountPasswordPolicy service method, as returned by * AmazonIdentityManagement. * * * @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 AmazonIdentityManagement indicating * either a problem with the data in the request, or a server side issue. */ public Future getAccountPasswordPolicyAsync( final GetAccountPasswordPolicyRequest getAccountPasswordPolicyRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public GetAccountPasswordPolicyResult call() throws Exception { GetAccountPasswordPolicyResult result; try { result = getAccountPasswordPolicy(getAccountPasswordPolicyRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(getAccountPasswordPolicyRequest, result); return result; } }); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy