
com.amazonaws.services.identitymanagement.AmazonIdentityManagementAsync Maven / Gradle / Ivy
/*
* Copyright 2010-2011 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.Future;
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.identitymanagement.model.*;
/**
* Interface for accessing AmazonIdentityManagement asynchronously,
* using Java Futures.
* AWS Identity and Access Management
* AWS Identity and Access Management (IAM) is a web service that enables
* Amazon Web Services (AWS) customers to manage Users and User
* permissions under their AWS Account.
*
*
* This is the AWS Identity and Access Management API Reference. This
* guide describes who should read this guide and other resources related
* to IAM.
*
*
* Use of this guide assumes you are familiar with the following:
*
*
*
* - Basic understanding of web services (for information, go to W3
* Schools Web Services Tutorial at
* http://www.w3schools.com/webservices/default.asp ).
* - XML (for information, go to W3 Schools XML Tutorial at
* http://www.w3schools.com/xml/default.asp ).
* - JSON (for information, go to
* http://json.org )
* - The specific AWS products you are using or plan to use (e.g.,
* Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage
* Service (Amazon S3), and so on.)
*
*
*
* If you're new to AWS and need additional technical information about a
* specific AWS product, you can find the product's technical
* documentation at
* http://aws.amazon.com/documentation/ .
*
*
* We will refer to Amazon AWS Identity and Access Management using the
* abbreviated form IAM. All copyrights and legal protections still
* apply.
*
*/
public interface AmazonIdentityManagementAsync extends AmazonIdentityManagement {
/**
*
* 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(ListGroupsRequest listGroupsRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(DeleteAccessKeyRequest deleteAccessKeyRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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 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.
*
*
* @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(ListSigningCertificatesRequest listSigningCertificatesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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 more information, see Making Query Requests in Using AWS Identity
* and Access Management.
*
*
* @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(UploadSigningCertificateRequest uploadSigningCertificateRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(DeleteUserPolicyRequest deleteUserPolicyRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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 more information, see
* Making Query Requests in Using AWS Identity and Access Management.
*
*
* @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(PutUserPolicyRequest putUserPolicyRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(ListServerCertificatesRequest listServerCertificatesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(GetUserPolicyRequest getUserPolicyRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* Updates the login profile for the specified User. Use this API to
* change the User's password.
*
*
* NOTE:In the full release you will be able to use IAM to access
* your services through the AWS Management Console. Although this
* feature is not currently available, you can create login profiles for
* your Users now. Then, when this feature is implemented, your Users can
* use IAM to access your services through the AWS Management Console.
*
*
* @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(UpdateLoginProfileRequest updateLoginProfileRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(UpdateServerCertificateRequest updateServerCertificateRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(UpdateUserRequest updateUserRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* Deletes the login profile for the specified User, which terminates the
* User's ability to access AWS services through the IAM login page.
*
*
* IMPORTANT:Deleting a User's login profile 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.
*
*
* NOTE:In the full release you will be able to use IAM to access
* your services through the AWS Management Console. Although this
* feature is not currently available, you can create login profiles for
* your Users now. Then, when this feature is implemented, your Users can
* use IAM to access your services through the AWS Management Console.
*
*
* @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(DeleteLoginProfileRequest deleteLoginProfileRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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 workflow.
*
*
* 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(UpdateSigningCertificateRequest updateSigningCertificateRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(DeleteGroupPolicyRequest deleteGroupPolicyRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(ListUsersRequest listUsersRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(UpdateGroupRequest updateGroupRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(GetServerCertificateRequest getServerCertificateRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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 more information, see
* Making Query Requests in Using AWS Identity and Access Management.
*
*
* @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(PutGroupPolicyRequest putGroupPolicyRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(CreateUserRequest createUserRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(DeleteSigningCertificateRequest deleteSigningCertificateRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* Enables the specified MFA device and associates it with the specified
* User name. Once 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(EnableMFADeviceRequest enableMFADeviceRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(ListUserPoliciesRequest listUserPoliciesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(ListAccessKeysRequest listAccessKeysRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* Retrieves the login profile for the specified User.
*
*
* NOTE:In the full release you will be able to use IAM to access
* your services through the AWS Management Console. Although this
* feature is not currently available, you can create login profiles for
* your Users now. Then, when this feature is implemented, your Users can
* use IAM to access your services through the AWS Management Console.
*
*
* @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(GetLoginProfileRequest getLoginProfileRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(ListGroupsForUserRequest listGroupsForUserRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(CreateGroupRequest createGroupRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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 more
* information, see Making Query Requests in Using AWS Identity and
* Access Management.
*
*
* @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(UploadServerCertificateRequest uploadServerCertificateRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(GetGroupPolicyRequest getGroupPolicyRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(DeleteUserRequest deleteUserRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(DeactivateMFADeviceRequest deactivateMFADeviceRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(RemoveUserFromGroupRequest removeUserFromGroupRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* Deletes the specified server certificate.
*
*
* IMPORTANT:If your Elastic Load Balancing instances are using a
* server certificate, deleting the certificate could have implications
* for your application. If your Elastic Load Balancing instances do not
* detect the deletion of bound certificates, they may continue to use
* the certificates. This could cause them to stop accepting traffic.
* We recommend that you remove the reference to the certificate from
* your Elastic Load Balancing instances before using this command to
* delete the certificate.
*
*
* @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(DeleteServerCertificateRequest deleteServerCertificateRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(ListGroupPoliciesRequest listGroupPoliciesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* Creates a login profile for the specified User, giving the User the
* ability to access AWS services such as the AWS Management Console.
* For more information about login profiles, see
* Managing Login Profiles and MFA Devices in Using AWS Identity
* and Access Management .
*
*
* NOTE:In the full release you will be able to use IAM to access
* your services through the AWS Management Console. Although this
* feature is not currently available, you can create login profiles for
* your Users now. Then, when this feature is implemented, your Users can
* use IAM to access your services through the AWS Management Console.
*
*
* @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(CreateLoginProfileRequest createLoginProfileRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(CreateAccessKeyRequest createAccessKeyRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* Retrieves information about the specified User, including the User's
* path, GUID, 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(GetUserRequest getUserRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(ResyncMFADeviceRequest resyncMFADeviceRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* Lists the MFA devices associated with the specified User name.
*
*
* 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(ListMFADevicesRequest listMFADevicesRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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 workflow.
*
*
* 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(UpdateAccessKeyRequest updateAccessKeyRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(AddUserToGroupRequest addUserToGroupRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(GetGroupRequest getGroupRequest)
throws AmazonServiceException, AmazonClientException;
/**
*
* 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(DeleteGroupRequest deleteGroupRequest)
throws AmazonServiceException, AmazonClientException;
}