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

software.amazon.awssdk.services.iam.DefaultIamAsyncClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS IAM module holds the client classes that are used for communicating with AWS Identity and Access Management Service

There is a newer version: 2.29.15
Show newest version
/*
 * Copyright 2014-2019 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 software.amazon.awssdk.services.iam;

import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.awscore.client.handler.AwsAsyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.core.ApiName;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.handler.AsyncClientHandler;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.util.VersionInfo;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.query.AwsQueryProtocolFactory;
import software.amazon.awssdk.services.iam.model.AddClientIDToOpenIDConnectProviderResponse;
import software.amazon.awssdk.services.iam.model.AddClientIdToOpenIdConnectProviderRequest;
import software.amazon.awssdk.services.iam.model.AddRoleToInstanceProfileRequest;
import software.amazon.awssdk.services.iam.model.AddRoleToInstanceProfileResponse;
import software.amazon.awssdk.services.iam.model.AddUserToGroupRequest;
import software.amazon.awssdk.services.iam.model.AddUserToGroupResponse;
import software.amazon.awssdk.services.iam.model.AttachGroupPolicyRequest;
import software.amazon.awssdk.services.iam.model.AttachGroupPolicyResponse;
import software.amazon.awssdk.services.iam.model.AttachRolePolicyRequest;
import software.amazon.awssdk.services.iam.model.AttachRolePolicyResponse;
import software.amazon.awssdk.services.iam.model.AttachUserPolicyRequest;
import software.amazon.awssdk.services.iam.model.AttachUserPolicyResponse;
import software.amazon.awssdk.services.iam.model.ChangePasswordRequest;
import software.amazon.awssdk.services.iam.model.ChangePasswordResponse;
import software.amazon.awssdk.services.iam.model.ConcurrentModificationException;
import software.amazon.awssdk.services.iam.model.CreateAccessKeyRequest;
import software.amazon.awssdk.services.iam.model.CreateAccessKeyResponse;
import software.amazon.awssdk.services.iam.model.CreateAccountAliasRequest;
import software.amazon.awssdk.services.iam.model.CreateAccountAliasResponse;
import software.amazon.awssdk.services.iam.model.CreateGroupRequest;
import software.amazon.awssdk.services.iam.model.CreateGroupResponse;
import software.amazon.awssdk.services.iam.model.CreateInstanceProfileRequest;
import software.amazon.awssdk.services.iam.model.CreateInstanceProfileResponse;
import software.amazon.awssdk.services.iam.model.CreateLoginProfileRequest;
import software.amazon.awssdk.services.iam.model.CreateLoginProfileResponse;
import software.amazon.awssdk.services.iam.model.CreateOpenIdConnectProviderRequest;
import software.amazon.awssdk.services.iam.model.CreateOpenIdConnectProviderResponse;
import software.amazon.awssdk.services.iam.model.CreatePolicyRequest;
import software.amazon.awssdk.services.iam.model.CreatePolicyResponse;
import software.amazon.awssdk.services.iam.model.CreatePolicyVersionRequest;
import software.amazon.awssdk.services.iam.model.CreatePolicyVersionResponse;
import software.amazon.awssdk.services.iam.model.CreateRoleRequest;
import software.amazon.awssdk.services.iam.model.CreateRoleResponse;
import software.amazon.awssdk.services.iam.model.CreateSamlProviderRequest;
import software.amazon.awssdk.services.iam.model.CreateSamlProviderResponse;
import software.amazon.awssdk.services.iam.model.CreateServiceLinkedRoleRequest;
import software.amazon.awssdk.services.iam.model.CreateServiceLinkedRoleResponse;
import software.amazon.awssdk.services.iam.model.CreateServiceSpecificCredentialRequest;
import software.amazon.awssdk.services.iam.model.CreateServiceSpecificCredentialResponse;
import software.amazon.awssdk.services.iam.model.CreateUserRequest;
import software.amazon.awssdk.services.iam.model.CreateUserResponse;
import software.amazon.awssdk.services.iam.model.CreateVirtualMfaDeviceRequest;
import software.amazon.awssdk.services.iam.model.CreateVirtualMfaDeviceResponse;
import software.amazon.awssdk.services.iam.model.CredentialReportExpiredException;
import software.amazon.awssdk.services.iam.model.CredentialReportNotPresentException;
import software.amazon.awssdk.services.iam.model.CredentialReportNotReadyException;
import software.amazon.awssdk.services.iam.model.DeactivateMFADeviceResponse;
import software.amazon.awssdk.services.iam.model.DeactivateMfaDeviceRequest;
import software.amazon.awssdk.services.iam.model.DeleteAccessKeyRequest;
import software.amazon.awssdk.services.iam.model.DeleteAccessKeyResponse;
import software.amazon.awssdk.services.iam.model.DeleteAccountAliasRequest;
import software.amazon.awssdk.services.iam.model.DeleteAccountAliasResponse;
import software.amazon.awssdk.services.iam.model.DeleteAccountPasswordPolicyRequest;
import software.amazon.awssdk.services.iam.model.DeleteAccountPasswordPolicyResponse;
import software.amazon.awssdk.services.iam.model.DeleteConflictException;
import software.amazon.awssdk.services.iam.model.DeleteGroupPolicyRequest;
import software.amazon.awssdk.services.iam.model.DeleteGroupPolicyResponse;
import software.amazon.awssdk.services.iam.model.DeleteGroupRequest;
import software.amazon.awssdk.services.iam.model.DeleteGroupResponse;
import software.amazon.awssdk.services.iam.model.DeleteInstanceProfileRequest;
import software.amazon.awssdk.services.iam.model.DeleteInstanceProfileResponse;
import software.amazon.awssdk.services.iam.model.DeleteLoginProfileRequest;
import software.amazon.awssdk.services.iam.model.DeleteLoginProfileResponse;
import software.amazon.awssdk.services.iam.model.DeleteOpenIDConnectProviderResponse;
import software.amazon.awssdk.services.iam.model.DeleteOpenIdConnectProviderRequest;
import software.amazon.awssdk.services.iam.model.DeletePolicyRequest;
import software.amazon.awssdk.services.iam.model.DeletePolicyResponse;
import software.amazon.awssdk.services.iam.model.DeletePolicyVersionRequest;
import software.amazon.awssdk.services.iam.model.DeletePolicyVersionResponse;
import software.amazon.awssdk.services.iam.model.DeleteRolePermissionsBoundaryRequest;
import software.amazon.awssdk.services.iam.model.DeleteRolePermissionsBoundaryResponse;
import software.amazon.awssdk.services.iam.model.DeleteRolePolicyRequest;
import software.amazon.awssdk.services.iam.model.DeleteRolePolicyResponse;
import software.amazon.awssdk.services.iam.model.DeleteRoleRequest;
import software.amazon.awssdk.services.iam.model.DeleteRoleResponse;
import software.amazon.awssdk.services.iam.model.DeleteSAMLProviderResponse;
import software.amazon.awssdk.services.iam.model.DeleteSSHPublicKeyResponse;
import software.amazon.awssdk.services.iam.model.DeleteSamlProviderRequest;
import software.amazon.awssdk.services.iam.model.DeleteServerCertificateRequest;
import software.amazon.awssdk.services.iam.model.DeleteServerCertificateResponse;
import software.amazon.awssdk.services.iam.model.DeleteServiceLinkedRoleRequest;
import software.amazon.awssdk.services.iam.model.DeleteServiceLinkedRoleResponse;
import software.amazon.awssdk.services.iam.model.DeleteServiceSpecificCredentialRequest;
import software.amazon.awssdk.services.iam.model.DeleteServiceSpecificCredentialResponse;
import software.amazon.awssdk.services.iam.model.DeleteSigningCertificateRequest;
import software.amazon.awssdk.services.iam.model.DeleteSigningCertificateResponse;
import software.amazon.awssdk.services.iam.model.DeleteSshPublicKeyRequest;
import software.amazon.awssdk.services.iam.model.DeleteUserPermissionsBoundaryRequest;
import software.amazon.awssdk.services.iam.model.DeleteUserPermissionsBoundaryResponse;
import software.amazon.awssdk.services.iam.model.DeleteUserPolicyRequest;
import software.amazon.awssdk.services.iam.model.DeleteUserPolicyResponse;
import software.amazon.awssdk.services.iam.model.DeleteUserRequest;
import software.amazon.awssdk.services.iam.model.DeleteUserResponse;
import software.amazon.awssdk.services.iam.model.DeleteVirtualMFADeviceResponse;
import software.amazon.awssdk.services.iam.model.DeleteVirtualMfaDeviceRequest;
import software.amazon.awssdk.services.iam.model.DetachGroupPolicyRequest;
import software.amazon.awssdk.services.iam.model.DetachGroupPolicyResponse;
import software.amazon.awssdk.services.iam.model.DetachRolePolicyRequest;
import software.amazon.awssdk.services.iam.model.DetachRolePolicyResponse;
import software.amazon.awssdk.services.iam.model.DetachUserPolicyRequest;
import software.amazon.awssdk.services.iam.model.DetachUserPolicyResponse;
import software.amazon.awssdk.services.iam.model.DuplicateCertificateException;
import software.amazon.awssdk.services.iam.model.DuplicateSshPublicKeyException;
import software.amazon.awssdk.services.iam.model.EnableMFADeviceResponse;
import software.amazon.awssdk.services.iam.model.EnableMfaDeviceRequest;
import software.amazon.awssdk.services.iam.model.EntityAlreadyExistsException;
import software.amazon.awssdk.services.iam.model.EntityTemporarilyUnmodifiableException;
import software.amazon.awssdk.services.iam.model.GenerateCredentialReportRequest;
import software.amazon.awssdk.services.iam.model.GenerateCredentialReportResponse;
import software.amazon.awssdk.services.iam.model.GenerateOrganizationsAccessReportRequest;
import software.amazon.awssdk.services.iam.model.GenerateOrganizationsAccessReportResponse;
import software.amazon.awssdk.services.iam.model.GenerateServiceLastAccessedDetailsRequest;
import software.amazon.awssdk.services.iam.model.GenerateServiceLastAccessedDetailsResponse;
import software.amazon.awssdk.services.iam.model.GetAccessKeyLastUsedRequest;
import software.amazon.awssdk.services.iam.model.GetAccessKeyLastUsedResponse;
import software.amazon.awssdk.services.iam.model.GetAccountAuthorizationDetailsRequest;
import software.amazon.awssdk.services.iam.model.GetAccountAuthorizationDetailsResponse;
import software.amazon.awssdk.services.iam.model.GetAccountPasswordPolicyRequest;
import software.amazon.awssdk.services.iam.model.GetAccountPasswordPolicyResponse;
import software.amazon.awssdk.services.iam.model.GetAccountSummaryRequest;
import software.amazon.awssdk.services.iam.model.GetAccountSummaryResponse;
import software.amazon.awssdk.services.iam.model.GetContextKeysForCustomPolicyRequest;
import software.amazon.awssdk.services.iam.model.GetContextKeysForCustomPolicyResponse;
import software.amazon.awssdk.services.iam.model.GetContextKeysForPrincipalPolicyRequest;
import software.amazon.awssdk.services.iam.model.GetContextKeysForPrincipalPolicyResponse;
import software.amazon.awssdk.services.iam.model.GetCredentialReportRequest;
import software.amazon.awssdk.services.iam.model.GetCredentialReportResponse;
import software.amazon.awssdk.services.iam.model.GetGroupPolicyRequest;
import software.amazon.awssdk.services.iam.model.GetGroupPolicyResponse;
import software.amazon.awssdk.services.iam.model.GetGroupRequest;
import software.amazon.awssdk.services.iam.model.GetGroupResponse;
import software.amazon.awssdk.services.iam.model.GetInstanceProfileRequest;
import software.amazon.awssdk.services.iam.model.GetInstanceProfileResponse;
import software.amazon.awssdk.services.iam.model.GetLoginProfileRequest;
import software.amazon.awssdk.services.iam.model.GetLoginProfileResponse;
import software.amazon.awssdk.services.iam.model.GetOpenIdConnectProviderRequest;
import software.amazon.awssdk.services.iam.model.GetOpenIdConnectProviderResponse;
import software.amazon.awssdk.services.iam.model.GetOrganizationsAccessReportRequest;
import software.amazon.awssdk.services.iam.model.GetOrganizationsAccessReportResponse;
import software.amazon.awssdk.services.iam.model.GetPolicyRequest;
import software.amazon.awssdk.services.iam.model.GetPolicyResponse;
import software.amazon.awssdk.services.iam.model.GetPolicyVersionRequest;
import software.amazon.awssdk.services.iam.model.GetPolicyVersionResponse;
import software.amazon.awssdk.services.iam.model.GetRolePolicyRequest;
import software.amazon.awssdk.services.iam.model.GetRolePolicyResponse;
import software.amazon.awssdk.services.iam.model.GetRoleRequest;
import software.amazon.awssdk.services.iam.model.GetRoleResponse;
import software.amazon.awssdk.services.iam.model.GetSamlProviderRequest;
import software.amazon.awssdk.services.iam.model.GetSamlProviderResponse;
import software.amazon.awssdk.services.iam.model.GetServerCertificateRequest;
import software.amazon.awssdk.services.iam.model.GetServerCertificateResponse;
import software.amazon.awssdk.services.iam.model.GetServiceLastAccessedDetailsRequest;
import software.amazon.awssdk.services.iam.model.GetServiceLastAccessedDetailsResponse;
import software.amazon.awssdk.services.iam.model.GetServiceLastAccessedDetailsWithEntitiesRequest;
import software.amazon.awssdk.services.iam.model.GetServiceLastAccessedDetailsWithEntitiesResponse;
import software.amazon.awssdk.services.iam.model.GetServiceLinkedRoleDeletionStatusRequest;
import software.amazon.awssdk.services.iam.model.GetServiceLinkedRoleDeletionStatusResponse;
import software.amazon.awssdk.services.iam.model.GetSshPublicKeyRequest;
import software.amazon.awssdk.services.iam.model.GetSshPublicKeyResponse;
import software.amazon.awssdk.services.iam.model.GetUserPolicyRequest;
import software.amazon.awssdk.services.iam.model.GetUserPolicyResponse;
import software.amazon.awssdk.services.iam.model.GetUserRequest;
import software.amazon.awssdk.services.iam.model.GetUserResponse;
import software.amazon.awssdk.services.iam.model.IamException;
import software.amazon.awssdk.services.iam.model.IamRequest;
import software.amazon.awssdk.services.iam.model.InvalidAuthenticationCodeException;
import software.amazon.awssdk.services.iam.model.InvalidCertificateException;
import software.amazon.awssdk.services.iam.model.InvalidInputException;
import software.amazon.awssdk.services.iam.model.InvalidPublicKeyException;
import software.amazon.awssdk.services.iam.model.InvalidUserTypeException;
import software.amazon.awssdk.services.iam.model.KeyPairMismatchException;
import software.amazon.awssdk.services.iam.model.LimitExceededException;
import software.amazon.awssdk.services.iam.model.ListAccessKeysRequest;
import software.amazon.awssdk.services.iam.model.ListAccessKeysResponse;
import software.amazon.awssdk.services.iam.model.ListAccountAliasesRequest;
import software.amazon.awssdk.services.iam.model.ListAccountAliasesResponse;
import software.amazon.awssdk.services.iam.model.ListAttachedGroupPoliciesRequest;
import software.amazon.awssdk.services.iam.model.ListAttachedGroupPoliciesResponse;
import software.amazon.awssdk.services.iam.model.ListAttachedRolePoliciesRequest;
import software.amazon.awssdk.services.iam.model.ListAttachedRolePoliciesResponse;
import software.amazon.awssdk.services.iam.model.ListAttachedUserPoliciesRequest;
import software.amazon.awssdk.services.iam.model.ListAttachedUserPoliciesResponse;
import software.amazon.awssdk.services.iam.model.ListEntitiesForPolicyRequest;
import software.amazon.awssdk.services.iam.model.ListEntitiesForPolicyResponse;
import software.amazon.awssdk.services.iam.model.ListGroupPoliciesRequest;
import software.amazon.awssdk.services.iam.model.ListGroupPoliciesResponse;
import software.amazon.awssdk.services.iam.model.ListGroupsForUserRequest;
import software.amazon.awssdk.services.iam.model.ListGroupsForUserResponse;
import software.amazon.awssdk.services.iam.model.ListGroupsRequest;
import software.amazon.awssdk.services.iam.model.ListGroupsResponse;
import software.amazon.awssdk.services.iam.model.ListInstanceProfilesForRoleRequest;
import software.amazon.awssdk.services.iam.model.ListInstanceProfilesForRoleResponse;
import software.amazon.awssdk.services.iam.model.ListInstanceProfilesRequest;
import software.amazon.awssdk.services.iam.model.ListInstanceProfilesResponse;
import software.amazon.awssdk.services.iam.model.ListMfaDevicesRequest;
import software.amazon.awssdk.services.iam.model.ListMfaDevicesResponse;
import software.amazon.awssdk.services.iam.model.ListOpenIdConnectProvidersRequest;
import software.amazon.awssdk.services.iam.model.ListOpenIdConnectProvidersResponse;
import software.amazon.awssdk.services.iam.model.ListPoliciesGrantingServiceAccessRequest;
import software.amazon.awssdk.services.iam.model.ListPoliciesGrantingServiceAccessResponse;
import software.amazon.awssdk.services.iam.model.ListPoliciesRequest;
import software.amazon.awssdk.services.iam.model.ListPoliciesResponse;
import software.amazon.awssdk.services.iam.model.ListPolicyVersionsRequest;
import software.amazon.awssdk.services.iam.model.ListPolicyVersionsResponse;
import software.amazon.awssdk.services.iam.model.ListRolePoliciesRequest;
import software.amazon.awssdk.services.iam.model.ListRolePoliciesResponse;
import software.amazon.awssdk.services.iam.model.ListRoleTagsRequest;
import software.amazon.awssdk.services.iam.model.ListRoleTagsResponse;
import software.amazon.awssdk.services.iam.model.ListRolesRequest;
import software.amazon.awssdk.services.iam.model.ListRolesResponse;
import software.amazon.awssdk.services.iam.model.ListSamlProvidersRequest;
import software.amazon.awssdk.services.iam.model.ListSamlProvidersResponse;
import software.amazon.awssdk.services.iam.model.ListServerCertificatesRequest;
import software.amazon.awssdk.services.iam.model.ListServerCertificatesResponse;
import software.amazon.awssdk.services.iam.model.ListServiceSpecificCredentialsRequest;
import software.amazon.awssdk.services.iam.model.ListServiceSpecificCredentialsResponse;
import software.amazon.awssdk.services.iam.model.ListSigningCertificatesRequest;
import software.amazon.awssdk.services.iam.model.ListSigningCertificatesResponse;
import software.amazon.awssdk.services.iam.model.ListSshPublicKeysRequest;
import software.amazon.awssdk.services.iam.model.ListSshPublicKeysResponse;
import software.amazon.awssdk.services.iam.model.ListUserPoliciesRequest;
import software.amazon.awssdk.services.iam.model.ListUserPoliciesResponse;
import software.amazon.awssdk.services.iam.model.ListUserTagsRequest;
import software.amazon.awssdk.services.iam.model.ListUserTagsResponse;
import software.amazon.awssdk.services.iam.model.ListUsersRequest;
import software.amazon.awssdk.services.iam.model.ListUsersResponse;
import software.amazon.awssdk.services.iam.model.ListVirtualMfaDevicesRequest;
import software.amazon.awssdk.services.iam.model.ListVirtualMfaDevicesResponse;
import software.amazon.awssdk.services.iam.model.MalformedCertificateException;
import software.amazon.awssdk.services.iam.model.MalformedPolicyDocumentException;
import software.amazon.awssdk.services.iam.model.NoSuchEntityException;
import software.amazon.awssdk.services.iam.model.PasswordPolicyViolationException;
import software.amazon.awssdk.services.iam.model.PolicyEvaluationException;
import software.amazon.awssdk.services.iam.model.PolicyNotAttachableException;
import software.amazon.awssdk.services.iam.model.PutGroupPolicyRequest;
import software.amazon.awssdk.services.iam.model.PutGroupPolicyResponse;
import software.amazon.awssdk.services.iam.model.PutRolePermissionsBoundaryRequest;
import software.amazon.awssdk.services.iam.model.PutRolePermissionsBoundaryResponse;
import software.amazon.awssdk.services.iam.model.PutRolePolicyRequest;
import software.amazon.awssdk.services.iam.model.PutRolePolicyResponse;
import software.amazon.awssdk.services.iam.model.PutUserPermissionsBoundaryRequest;
import software.amazon.awssdk.services.iam.model.PutUserPermissionsBoundaryResponse;
import software.amazon.awssdk.services.iam.model.PutUserPolicyRequest;
import software.amazon.awssdk.services.iam.model.PutUserPolicyResponse;
import software.amazon.awssdk.services.iam.model.RemoveClientIDFromOpenIDConnectProviderResponse;
import software.amazon.awssdk.services.iam.model.RemoveClientIdFromOpenIdConnectProviderRequest;
import software.amazon.awssdk.services.iam.model.RemoveRoleFromInstanceProfileRequest;
import software.amazon.awssdk.services.iam.model.RemoveRoleFromInstanceProfileResponse;
import software.amazon.awssdk.services.iam.model.RemoveUserFromGroupRequest;
import software.amazon.awssdk.services.iam.model.RemoveUserFromGroupResponse;
import software.amazon.awssdk.services.iam.model.ReportGenerationLimitExceededException;
import software.amazon.awssdk.services.iam.model.ResetServiceSpecificCredentialRequest;
import software.amazon.awssdk.services.iam.model.ResetServiceSpecificCredentialResponse;
import software.amazon.awssdk.services.iam.model.ResyncMFADeviceResponse;
import software.amazon.awssdk.services.iam.model.ResyncMfaDeviceRequest;
import software.amazon.awssdk.services.iam.model.ServiceFailureException;
import software.amazon.awssdk.services.iam.model.ServiceNotSupportedException;
import software.amazon.awssdk.services.iam.model.SetDefaultPolicyVersionRequest;
import software.amazon.awssdk.services.iam.model.SetDefaultPolicyVersionResponse;
import software.amazon.awssdk.services.iam.model.SetSecurityTokenServicePreferencesRequest;
import software.amazon.awssdk.services.iam.model.SetSecurityTokenServicePreferencesResponse;
import software.amazon.awssdk.services.iam.model.SimulateCustomPolicyRequest;
import software.amazon.awssdk.services.iam.model.SimulateCustomPolicyResponse;
import software.amazon.awssdk.services.iam.model.SimulatePrincipalPolicyRequest;
import software.amazon.awssdk.services.iam.model.SimulatePrincipalPolicyResponse;
import software.amazon.awssdk.services.iam.model.TagRoleRequest;
import software.amazon.awssdk.services.iam.model.TagRoleResponse;
import software.amazon.awssdk.services.iam.model.TagUserRequest;
import software.amazon.awssdk.services.iam.model.TagUserResponse;
import software.amazon.awssdk.services.iam.model.UnmodifiableEntityException;
import software.amazon.awssdk.services.iam.model.UnrecognizedPublicKeyEncodingException;
import software.amazon.awssdk.services.iam.model.UntagRoleRequest;
import software.amazon.awssdk.services.iam.model.UntagRoleResponse;
import software.amazon.awssdk.services.iam.model.UntagUserRequest;
import software.amazon.awssdk.services.iam.model.UntagUserResponse;
import software.amazon.awssdk.services.iam.model.UpdateAccessKeyRequest;
import software.amazon.awssdk.services.iam.model.UpdateAccessKeyResponse;
import software.amazon.awssdk.services.iam.model.UpdateAccountPasswordPolicyRequest;
import software.amazon.awssdk.services.iam.model.UpdateAccountPasswordPolicyResponse;
import software.amazon.awssdk.services.iam.model.UpdateAssumeRolePolicyRequest;
import software.amazon.awssdk.services.iam.model.UpdateAssumeRolePolicyResponse;
import software.amazon.awssdk.services.iam.model.UpdateGroupRequest;
import software.amazon.awssdk.services.iam.model.UpdateGroupResponse;
import software.amazon.awssdk.services.iam.model.UpdateLoginProfileRequest;
import software.amazon.awssdk.services.iam.model.UpdateLoginProfileResponse;
import software.amazon.awssdk.services.iam.model.UpdateOpenIDConnectProviderThumbprintResponse;
import software.amazon.awssdk.services.iam.model.UpdateOpenIdConnectProviderThumbprintRequest;
import software.amazon.awssdk.services.iam.model.UpdateRoleDescriptionRequest;
import software.amazon.awssdk.services.iam.model.UpdateRoleDescriptionResponse;
import software.amazon.awssdk.services.iam.model.UpdateRoleRequest;
import software.amazon.awssdk.services.iam.model.UpdateRoleResponse;
import software.amazon.awssdk.services.iam.model.UpdateSSHPublicKeyResponse;
import software.amazon.awssdk.services.iam.model.UpdateSamlProviderRequest;
import software.amazon.awssdk.services.iam.model.UpdateSamlProviderResponse;
import software.amazon.awssdk.services.iam.model.UpdateServerCertificateRequest;
import software.amazon.awssdk.services.iam.model.UpdateServerCertificateResponse;
import software.amazon.awssdk.services.iam.model.UpdateServiceSpecificCredentialRequest;
import software.amazon.awssdk.services.iam.model.UpdateServiceSpecificCredentialResponse;
import software.amazon.awssdk.services.iam.model.UpdateSigningCertificateRequest;
import software.amazon.awssdk.services.iam.model.UpdateSigningCertificateResponse;
import software.amazon.awssdk.services.iam.model.UpdateSshPublicKeyRequest;
import software.amazon.awssdk.services.iam.model.UpdateUserRequest;
import software.amazon.awssdk.services.iam.model.UpdateUserResponse;
import software.amazon.awssdk.services.iam.model.UploadServerCertificateRequest;
import software.amazon.awssdk.services.iam.model.UploadServerCertificateResponse;
import software.amazon.awssdk.services.iam.model.UploadSigningCertificateRequest;
import software.amazon.awssdk.services.iam.model.UploadSigningCertificateResponse;
import software.amazon.awssdk.services.iam.model.UploadSshPublicKeyRequest;
import software.amazon.awssdk.services.iam.model.UploadSshPublicKeyResponse;
import software.amazon.awssdk.services.iam.paginators.GetAccountAuthorizationDetailsPublisher;
import software.amazon.awssdk.services.iam.paginators.GetGroupPublisher;
import software.amazon.awssdk.services.iam.paginators.ListAccessKeysPublisher;
import software.amazon.awssdk.services.iam.paginators.ListAccountAliasesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListAttachedGroupPoliciesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListAttachedRolePoliciesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListAttachedUserPoliciesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListEntitiesForPolicyPublisher;
import software.amazon.awssdk.services.iam.paginators.ListGroupPoliciesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListGroupsForUserPublisher;
import software.amazon.awssdk.services.iam.paginators.ListGroupsPublisher;
import software.amazon.awssdk.services.iam.paginators.ListInstanceProfilesForRolePublisher;
import software.amazon.awssdk.services.iam.paginators.ListInstanceProfilesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListMFADevicesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListPoliciesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListPolicyVersionsPublisher;
import software.amazon.awssdk.services.iam.paginators.ListRolePoliciesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListRolesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListSSHPublicKeysPublisher;
import software.amazon.awssdk.services.iam.paginators.ListServerCertificatesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListSigningCertificatesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListUserPoliciesPublisher;
import software.amazon.awssdk.services.iam.paginators.ListUsersPublisher;
import software.amazon.awssdk.services.iam.paginators.ListVirtualMFADevicesPublisher;
import software.amazon.awssdk.services.iam.paginators.SimulateCustomPolicyPublisher;
import software.amazon.awssdk.services.iam.paginators.SimulatePrincipalPolicyPublisher;
import software.amazon.awssdk.services.iam.transform.AddClientIdToOpenIdConnectProviderRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.AddRoleToInstanceProfileRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.AddUserToGroupRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.AttachGroupPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.AttachRolePolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.AttachUserPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ChangePasswordRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateAccessKeyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateAccountAliasRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateGroupRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateInstanceProfileRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateLoginProfileRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateOpenIdConnectProviderRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreatePolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreatePolicyVersionRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateRoleRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateSamlProviderRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateServiceLinkedRoleRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateServiceSpecificCredentialRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateUserRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.CreateVirtualMfaDeviceRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeactivateMfaDeviceRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteAccessKeyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteAccountAliasRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteAccountPasswordPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteGroupPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteGroupRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteInstanceProfileRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteLoginProfileRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteOpenIdConnectProviderRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeletePolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeletePolicyVersionRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteRolePermissionsBoundaryRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteRolePolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteRoleRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteSamlProviderRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteServerCertificateRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteServiceLinkedRoleRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteServiceSpecificCredentialRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteSigningCertificateRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteSshPublicKeyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteUserPermissionsBoundaryRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteUserPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteUserRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DeleteVirtualMfaDeviceRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DetachGroupPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DetachRolePolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.DetachUserPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.EnableMfaDeviceRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GenerateCredentialReportRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GenerateOrganizationsAccessReportRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GenerateServiceLastAccessedDetailsRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetAccessKeyLastUsedRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetAccountAuthorizationDetailsRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetAccountPasswordPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetAccountSummaryRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetContextKeysForCustomPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetContextKeysForPrincipalPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetCredentialReportRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetGroupPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetGroupRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetInstanceProfileRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetLoginProfileRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetOpenIdConnectProviderRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetOrganizationsAccessReportRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetPolicyVersionRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetRolePolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetRoleRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetSamlProviderRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetServerCertificateRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetServiceLastAccessedDetailsRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetServiceLastAccessedDetailsWithEntitiesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetServiceLinkedRoleDeletionStatusRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetSshPublicKeyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetUserPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.GetUserRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListAccessKeysRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListAccountAliasesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListAttachedGroupPoliciesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListAttachedRolePoliciesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListAttachedUserPoliciesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListEntitiesForPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListGroupPoliciesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListGroupsForUserRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListGroupsRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListInstanceProfilesForRoleRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListInstanceProfilesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListMfaDevicesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListOpenIdConnectProvidersRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListPoliciesGrantingServiceAccessRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListPoliciesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListPolicyVersionsRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListRolePoliciesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListRoleTagsRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListRolesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListSamlProvidersRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListServerCertificatesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListServiceSpecificCredentialsRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListSigningCertificatesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListSshPublicKeysRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListUserPoliciesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListUserTagsRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListUsersRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ListVirtualMfaDevicesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.PutGroupPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.PutRolePermissionsBoundaryRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.PutRolePolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.PutUserPermissionsBoundaryRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.PutUserPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.RemoveClientIdFromOpenIdConnectProviderRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.RemoveRoleFromInstanceProfileRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.RemoveUserFromGroupRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ResetServiceSpecificCredentialRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.ResyncMfaDeviceRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.SetDefaultPolicyVersionRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.SetSecurityTokenServicePreferencesRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.SimulateCustomPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.SimulatePrincipalPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.TagRoleRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.TagUserRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UntagRoleRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UntagUserRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateAccessKeyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateAccountPasswordPolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateAssumeRolePolicyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateGroupRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateLoginProfileRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateOpenIdConnectProviderThumbprintRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateRoleDescriptionRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateRoleRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateSamlProviderRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateServerCertificateRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateServiceSpecificCredentialRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateSigningCertificateRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateSshPublicKeyRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UpdateUserRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UploadServerCertificateRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UploadSigningCertificateRequestMarshaller;
import software.amazon.awssdk.services.iam.transform.UploadSshPublicKeyRequestMarshaller;
import software.amazon.awssdk.utils.CompletableFutureUtils;

/**
 * Internal implementation of {@link IamAsyncClient}.
 *
 * @see IamAsyncClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultIamAsyncClient implements IamAsyncClient {
    private static final Logger log = LoggerFactory.getLogger(DefaultIamAsyncClient.class);

    private final AsyncClientHandler clientHandler;

    private final AwsQueryProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultIamAsyncClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsAsyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration;
        this.protocolFactory = init();
    }

    @Override
    public final String serviceName() {
        return SERVICE_NAME;
    }

    /**
     * 

* Adds a new client ID (also known as audience) to the list of client IDs already registered for the specified IAM * OpenID Connect (OIDC) provider resource. *

*

* This operation is idempotent; it does not fail or return an error if you add an existing client ID to the * provider. *

* * @param addClientIdToOpenIdConnectProviderRequest * @return A Java Future containing the result of the AddClientIDToOpenIDConnectProvider operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.AddClientIDToOpenIDConnectProvider * @see AWS API Documentation */ @Override public CompletableFuture addClientIDToOpenIDConnectProvider( AddClientIdToOpenIdConnectProviderRequest addClientIdToOpenIdConnectProviderRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AddClientIDToOpenIDConnectProviderResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AddClientIDToOpenIDConnectProvider") .withMarshaller(new AddClientIdToOpenIdConnectProviderRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(addClientIdToOpenIdConnectProviderRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and * this limit cannot be increased. You can remove the existing role and then add a different role to an instance * profile. You must then wait for the change to appear across all of AWS because of eventual consistency. To force the change, you must * * disassociate the instance profile and then associate the * instance profile, or you can stop your instance and then restart it. *

* *

* The caller of this API must be granted the PassRole permission on the IAM role by a permissions * policy. *

*
*

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

* * @param addRoleToInstanceProfileRequest * @return A Java Future containing the result of the AddRoleToInstanceProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.AddRoleToInstanceProfile * @see AWS * API Documentation */ @Override public CompletableFuture addRoleToInstanceProfile( AddRoleToInstanceProfileRequest addRoleToInstanceProfileRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AddRoleToInstanceProfileResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AddRoleToInstanceProfile") .withMarshaller(new AddRoleToInstanceProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(addRoleToInstanceProfileRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds the specified user to the specified group. *

* * @param addUserToGroupRequest * @return A Java Future containing the result of the AddUserToGroup operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.AddUserToGroup * @see AWS API * Documentation */ @Override public CompletableFuture addUserToGroup(AddUserToGroupRequest addUserToGroupRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AddUserToGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AddUserToGroup") .withMarshaller(new AddUserToGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(addUserToGroupRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Attaches the specified managed policy to the specified IAM group. *

*

* You use this API to attach a managed policy to a group. To embed an inline policy in a group, use * PutGroupPolicy. *

*

* For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param attachGroupPolicyRequest * @return A Java Future containing the result of the AttachGroupPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • PolicyNotAttachableException The request failed because AWS service role policies can only be * attached to the service-linked role for that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.AttachGroupPolicy * @see AWS API * Documentation */ @Override public CompletableFuture attachGroupPolicy(AttachGroupPolicyRequest attachGroupPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AttachGroupPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AttachGroupPolicy") .withMarshaller(new AttachGroupPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(attachGroupPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Attaches the specified managed policy to the specified IAM role. When you attach a managed policy to a role, the * managed policy becomes part of the role's permission (access) policy. *

* *

* You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time * as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. *

*
*

* Use this API to attach a managed policy to a role. To embed an inline policy in a role, use * PutRolePolicy. For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param attachRolePolicyRequest * @return A Java Future containing the result of the AttachRolePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • PolicyNotAttachableException The request failed because AWS service role policies can only be * attached to the service-linked role for that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.AttachRolePolicy * @see AWS API * Documentation */ @Override public CompletableFuture attachRolePolicy(AttachRolePolicyRequest attachRolePolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AttachRolePolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AttachRolePolicy") .withMarshaller(new AttachRolePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(attachRolePolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Attaches the specified managed policy to the specified user. *

*

* You use this API to attach a managed policy to a user. To embed an inline policy in a user, use * PutUserPolicy. *

*

* For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param attachUserPolicyRequest * @return A Java Future containing the result of the AttachUserPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • PolicyNotAttachableException The request failed because AWS service role policies can only be * attached to the service-linked role for that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.AttachUserPolicy * @see AWS API * Documentation */ @Override public CompletableFuture attachUserPolicy(AttachUserPolicyRequest attachUserPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(AttachUserPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("AttachUserPolicy") .withMarshaller(new AttachUserPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(attachUserPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Changes the password of the IAM user who is calling this operation. The AWS account root user password is not * affected by this operation. *

*

* To change the password for a different user, see UpdateLoginProfile. For more information about modifying * passwords, see Managing * Passwords in the IAM User Guide. *

* * @param changePasswordRequest * @return A Java Future containing the result of the ChangePassword operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidUserTypeException The request was rejected because the type of user for the transaction was * incorrect.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • EntityTemporarilyUnmodifiableException The request was rejected because it referenced an entity that * is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates * that the request is likely to succeed if you try again after waiting several minutes. The error message * describes the entity.
  • *
  • PasswordPolicyViolationException The request was rejected because the provided password did not meet * the requirements imposed by the account password policy.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ChangePassword * @see AWS API * Documentation */ @Override public CompletableFuture changePassword(ChangePasswordRequest changePasswordRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ChangePasswordResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ChangePassword") .withMarshaller(new ChangePasswordRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(changePasswordRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* 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. This operation works for access keys under the AWS account. Consequently, you can use this operation * to manage AWS account root user credentials. This is true 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 the IAM User Guide. *

* *

* 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 * @return A Java Future containing the result of the CreateAccessKey operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateAccessKey * @see AWS API * Documentation */ @Override public CompletableFuture createAccessKey(CreateAccessKeyRequest createAccessKeyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateAccessKeyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateAccessKey") .withMarshaller(new CreateAccessKeyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createAccessKeyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* 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 the IAM User Guide. *

* * @param createAccountAliasRequest * @return A Java Future containing the result of the CreateAccountAlias operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateAccountAlias * @see AWS API * Documentation */ @Override public CompletableFuture createAccountAlias(CreateAccountAliasRequest createAccountAliasRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateAccountAliasResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateAccountAlias") .withMarshaller(new CreateAccountAliasRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createAccountAliasRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new group. *

*

* For information about the number of groups you can create, see Limitations on IAM * Entities in the IAM User Guide. *

* * @param createGroupRequest * @return A Java Future containing the result of the CreateGroup operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateGroup * @see AWS API * Documentation */ @Override public CompletableFuture createGroup(CreateGroupRequest createGroupRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateGroup").withMarshaller(new CreateGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createGroupRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* 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 the IAM User Guide. *

* * @param createInstanceProfileRequest * @return A Java Future containing the result of the CreateInstanceProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateInstanceProfile * @see AWS API * Documentation */ @Override public CompletableFuture createInstanceProfile( CreateInstanceProfileRequest createInstanceProfileRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateInstanceProfileResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateInstanceProfile") .withMarshaller(new CreateInstanceProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createInstanceProfileRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* 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 the * IAM User Guide. *

* * @param createLoginProfileRequest * @return A Java Future containing the result of the CreateLoginProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • PasswordPolicyViolationException The request was rejected because the provided password did not meet * the requirements imposed by the account password policy.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateLoginProfile * @see AWS API * Documentation */ @Override public CompletableFuture createLoginProfile(CreateLoginProfileRequest createLoginProfileRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateLoginProfileResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateLoginProfile") .withMarshaller(new CreateLoginProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createLoginProfileRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC). *

*

* The OIDC provider that you create with this operation can be used as a principal in a role's trust policy. Such a * policy establishes a trust relationship between AWS and the OIDC provider. *

*

* When you create the IAM OIDC provider, you specify the following: *

*
    *
  • *

    * The URL of the OIDC identity provider (IdP) to trust *

    *
  • *
  • *

    * A list of client IDs (also known as audiences) that identify the application or applications that are allowed to * authenticate using the OIDC provider *

    *
  • *
  • *

    * A list of thumbprints of the server certificate(s) that the IdP uses *

    *
  • *
*

* You get all of this information from the OIDC IdP that you want to use to access AWS. *

* *

* The trust for the OIDC provider is derived from the IAM provider that this operation creates. Therefore, it is * best to limit access to the CreateOpenIDConnectProvider operation to highly privileged users. *

*
* * @param createOpenIdConnectProviderRequest * @return A Java Future containing the result of the CreateOpenIDConnectProvider operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateOpenIDConnectProvider * @see AWS API Documentation */ @Override public CompletableFuture createOpenIDConnectProvider( CreateOpenIdConnectProviderRequest createOpenIdConnectProviderRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateOpenIdConnectProviderResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateOpenIDConnectProvider") .withMarshaller(new CreateOpenIdConnectProviderRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createOpenIdConnectProviderRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new managed policy for your AWS account. *

*

* This operation creates a policy version with a version identifier of v1 and sets v1 as the policy's * default version. For more information about policy versions, see Versioning for Managed * Policies in the IAM User Guide. *

*

* For more information about managed policies in general, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param createPolicyRequest * @return A Java Future containing the result of the CreatePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • MalformedPolicyDocumentException The request was rejected because the policy document was malformed. * The error message describes the specific error.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreatePolicy * @see AWS API * Documentation */ @Override public CompletableFuture createPolicy(CreatePolicyRequest createPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreatePolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreatePolicy").withMarshaller(new CreatePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

*

* Optionally, you can set the new version as the policy's default version. The default version is the version that * is in effect for the IAM users, groups, and roles to which the policy is attached. *

*

* For more information about managed policy versions, see Versioning for Managed * Policies in the IAM User Guide. *

* * @param createPolicyVersionRequest * @return A Java Future containing the result of the CreatePolicyVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • MalformedPolicyDocumentException The request was rejected because the policy document was malformed. * The error message describes the specific error.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreatePolicyVersion * @see AWS API * Documentation */ @Override public CompletableFuture createPolicyVersion( CreatePolicyVersionRequest createPolicyVersionRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreatePolicyVersionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreatePolicyVersion") .withMarshaller(new CreatePolicyVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createPolicyVersionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* * @param createRoleRequest * @return A Java Future containing the result of the CreateRole operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • MalformedPolicyDocumentException The request was rejected because the policy document was malformed. * The error message describes the specific error.
  • *
  • ConcurrentModificationException The request was rejected because multiple requests to change this * object were submitted simultaneously. Wait a few minutes and submit your request again.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateRole * @see AWS API * Documentation */ @Override public CompletableFuture createRole(CreateRoleRequest createRoleRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateRoleResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("CreateRole") .withMarshaller(new CreateRoleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createRoleRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0. *

*

* The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust * policy. Such a policy can enable federated users who sign in using the SAML IdP to assume the role. 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 resource, you upload a SAML metadata document that you get from your IdP. That * document includes the issuer's name, expiration information, and keys that can be used to validate the SAML * authentication response (assertions) that the IdP sends. You must generate the metadata document using the * identity management software that is used as your organization's IdP. *

* *

* This operation requires Signature Version 4. *

*
*

* For more information, see Enabling SAML * 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based * Federation in the IAM User Guide. *

* * @param createSamlProviderRequest * @return A Java Future containing the result of the CreateSAMLProvider operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateSAMLProvider * @see AWS API * Documentation */ @Override public CompletableFuture createSAMLProvider(CreateSamlProviderRequest createSamlProviderRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateSamlProviderResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateSAMLProvider") .withMarshaller(new CreateSamlProviderRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createSamlProviderRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates an IAM role that is linked to a specific AWS service. The service controls the attached policies and when * the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted * role, which could put your AWS resources into an unknown state. Allowing the service to control the role helps * improve service stability and proper cleanup when a service and its role are no longer needed. For more * information, see Using * Service-Linked Roles in the IAM User Guide. *

*

* To attach a policy to this service-linked role, you must make the request using the AWS service that depends on * this role. *

* * @param createServiceLinkedRoleRequest * @return A Java Future containing the result of the CreateServiceLinkedRole operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateServiceLinkedRole * @see AWS * API Documentation */ @Override public CompletableFuture createServiceLinkedRole( CreateServiceLinkedRoleRequest createServiceLinkedRoleRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateServiceLinkedRoleResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateServiceLinkedRole") .withMarshaller(new CreateServiceLinkedRoleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createServiceLinkedRoleRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Generates a set of credentials consisting of a user name and password that can be used to access the service * specified in the request. These credentials are generated by IAM, and can be used only for the specified service. *

*

* You can have a maximum of two sets of service-specific credentials for each supported service per user. *

*

* The only supported service at this time is AWS CodeCommit. *

*

* You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential. *

*

* For more information about service-specific credentials, see Using IAM with AWS * CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys in the IAM User Guide. *

* * @param createServiceSpecificCredentialRequest * @return A Java Future containing the result of the CreateServiceSpecificCredential operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceNotSupportedException The specified service does not support service-specific credentials.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateServiceSpecificCredential * @see AWS API Documentation */ @Override public CompletableFuture createServiceSpecificCredential( CreateServiceSpecificCredentialRequest createServiceSpecificCredentialRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateServiceSpecificCredentialResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateServiceSpecificCredential") .withMarshaller(new CreateServiceSpecificCredentialRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createServiceSpecificCredentialRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Creates a new IAM user for your AWS account. *

*

* For information about limitations on the number of IAM users you can create, see Limitations on IAM * Entities in the IAM User Guide. *

* * @param createUserRequest * @return A Java Future containing the result of the CreateUser operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ConcurrentModificationException The request was rejected because multiple requests to change this * object were submitted simultaneously. Wait a few minutes and submit your request again.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateUser * @see AWS API * Documentation */ @Override public CompletableFuture createUser(CreateUserRequest createUserRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateUserResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("CreateUser") .withMarshaller(new CreateUserRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createUserRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* 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 the IAM User Guide. *

*

* For information about limits on the number of MFA devices you can create, see Limitations on Entities in * the IAM User Guide. *

* *

* The seed information contained in the QR code and the Base32 string should be treated like any other secret * access information. In other words, protect the seed information as you would 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 * @return A Java Future containing the result of the CreateVirtualMFADevice operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.CreateVirtualMFADevice * @see AWS API * Documentation */ @Override public CompletableFuture createVirtualMFADevice( CreateVirtualMfaDeviceRequest createVirtualMfaDeviceRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateVirtualMfaDeviceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateVirtualMFADevice") .withMarshaller(new CreateVirtualMfaDeviceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createVirtualMfaDeviceRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

*

* For more information about creating and working with virtual MFA devices, go to Enabling a Virtual Multi-factor * Authentication (MFA) Device in the IAM User Guide. *

* * @param deactivateMfaDeviceRequest * @return A Java Future containing the result of the DeactivateMFADevice operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • EntityTemporarilyUnmodifiableException The request was rejected because it referenced an entity that * is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates * that the request is likely to succeed if you try again after waiting several minutes. The error message * describes the entity.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeactivateMFADevice * @see AWS API * Documentation */ @Override public CompletableFuture deactivateMFADevice( DeactivateMfaDeviceRequest deactivateMfaDeviceRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeactivateMFADeviceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeactivateMFADevice") .withMarshaller(new DeactivateMfaDeviceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deactivateMfaDeviceRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the access key pair associated with the specified IAM 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. This operation works for access keys under the AWS account. Consequently, you can use this operation * to manage AWS account root user credentials even if the AWS account has no associated users. *

* * @param deleteAccessKeyRequest * @return A Java Future containing the result of the DeleteAccessKey operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteAccessKey * @see AWS API * Documentation */ @Override public CompletableFuture deleteAccessKey(DeleteAccessKeyRequest deleteAccessKeyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteAccessKeyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteAccessKey") .withMarshaller(new DeleteAccessKeyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteAccessKeyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified AWS account alias. For information about using an AWS account alias, see Using an Alias for Your AWS Account * ID in the IAM User Guide. *

* * @param deleteAccountAliasRequest * @return A Java Future containing the result of the DeleteAccountAlias operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteAccountAlias * @see AWS API * Documentation */ @Override public CompletableFuture deleteAccountAlias(DeleteAccountAliasRequest deleteAccountAliasRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteAccountAliasResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteAccountAlias") .withMarshaller(new DeleteAccountAliasRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteAccountAliasRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the password policy for the AWS account. There are no parameters. *

* * @param deleteAccountPasswordPolicyRequest * @return A Java Future containing the result of the DeleteAccountPasswordPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteAccountPasswordPolicy * @see AWS API Documentation */ @Override public CompletableFuture deleteAccountPasswordPolicy( DeleteAccountPasswordPolicyRequest deleteAccountPasswordPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteAccountPasswordPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteAccountPasswordPolicy") .withMarshaller(new DeleteAccountPasswordPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteAccountPasswordPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* * @param deleteGroupRequest * @return A Java Future containing the result of the DeleteGroup operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • DeleteConflictException The request was rejected because it attempted to delete a resource that has * attached subordinate entities. The error message describes these entities.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteGroup * @see AWS API * Documentation */ @Override public CompletableFuture deleteGroup(DeleteGroupRequest deleteGroupRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteGroup").withMarshaller(new DeleteGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteGroupRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified inline policy that is embedded in the specified IAM group. *

*

* A group can also have managed policies attached to it. To detach a managed policy from a group, use * DetachGroupPolicy. For more information about policies, refer to Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param deleteGroupPolicyRequest * @return A Java Future containing the result of the DeleteGroupPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteGroupPolicy * @see AWS API * Documentation */ @Override public CompletableFuture deleteGroupPolicy(DeleteGroupPolicyRequest deleteGroupPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteGroupPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteGroupPolicy") .withMarshaller(new DeleteGroupPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteGroupPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* *

* Make sure that 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 * @return A Java Future containing the result of the DeleteInstanceProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • DeleteConflictException The request was rejected because it attempted to delete a resource that has * attached subordinate entities. The error message describes these entities.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteInstanceProfile * @see AWS API * Documentation */ @Override public CompletableFuture deleteInstanceProfile( DeleteInstanceProfileRequest deleteInstanceProfileRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteInstanceProfileResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteInstanceProfile") .withMarshaller(new DeleteInstanceProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteInstanceProfileRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* *

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

*
* * @param deleteLoginProfileRequest * @return A Java Future containing the result of the DeleteLoginProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • EntityTemporarilyUnmodifiableException The request was rejected because it referenced an entity that * is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates * that the request is likely to succeed if you try again after waiting several minutes. The error message * describes the entity.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteLoginProfile * @see AWS API * Documentation */ @Override public CompletableFuture deleteLoginProfile(DeleteLoginProfileRequest deleteLoginProfileRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteLoginProfileResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteLoginProfile") .withMarshaller(new DeleteLoginProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteLoginProfileRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes an OpenID Connect identity provider (IdP) resource object in IAM. *

*

* Deleting an IAM OIDC provider resource does not update any roles that reference the provider as a principal in * their trust policies. Any attempt to assume a role that references a deleted provider fails. *

*

* This operation is idempotent; it does not fail or return an error if you call the operation for a provider that * does not exist. *

* * @param deleteOpenIdConnectProviderRequest * @return A Java Future containing the result of the DeleteOpenIDConnectProvider operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteOpenIDConnectProvider * @see AWS API Documentation */ @Override public CompletableFuture deleteOpenIDConnectProvider( DeleteOpenIdConnectProviderRequest deleteOpenIdConnectProviderRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteOpenIDConnectProviderResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteOpenIDConnectProvider") .withMarshaller(new DeleteOpenIdConnectProviderRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteOpenIdConnectProviderRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified managed policy. *

*

* Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that * it is attached to. In addition, you must delete all the policy's versions. The following steps describe the * process for deleting a managed policy: *

*
    *
  • *

    * Detach the policy from all users, groups, and roles that the policy is attached to, using the * DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy API operations. To list all the * users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy. *

    *
  • *
  • *

    * Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use * ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the * default version. You delete the policy's default version in the next step of the process. *

    *
  • *
  • *

    * Delete the policy (this automatically deletes the policy's default version) using this API. *

    *
  • *
*

* For information about managed policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param deletePolicyRequest * @return A Java Future containing the result of the DeletePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • DeleteConflictException The request was rejected because it attempted to delete a resource that has * attached subordinate entities. The error message describes these entities.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeletePolicy * @see AWS API * Documentation */ @Override public CompletableFuture deletePolicy(DeletePolicyRequest deletePolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeletePolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeletePolicy").withMarshaller(new DeletePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deletePolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified version from the specified managed policy. *

*

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

*

* For information about versions for managed policies, see Versioning for Managed * Policies in the IAM User Guide. *

* * @param deletePolicyVersionRequest * @return A Java Future containing the result of the DeletePolicyVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • DeleteConflictException The request was rejected because it attempted to delete a resource that has * attached subordinate entities. The error message describes these entities.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeletePolicyVersion * @see AWS API * Documentation */ @Override public CompletableFuture deletePolicyVersion( DeletePolicyVersionRequest deletePolicyVersionRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeletePolicyVersionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeletePolicyVersion") .withMarshaller(new DeletePolicyVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deletePolicyVersionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* *

* Make sure that 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 * @return A Java Future containing the result of the DeleteRole operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • DeleteConflictException The request was rejected because it attempted to delete a resource that has * attached subordinate entities. The error message describes these entities.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • ConcurrentModificationException The request was rejected because multiple requests to change this * object were submitted simultaneously. Wait a few minutes and submit your request again.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteRole * @see AWS API * Documentation */ @Override public CompletableFuture deleteRole(DeleteRoleRequest deleteRoleRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteRoleResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("DeleteRole") .withMarshaller(new DeleteRoleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteRoleRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the permissions boundary for the specified IAM role. *

* *

* Deleting the permissions boundary for a role might increase its permissions. For example, it might allow anyone * who assumes the role to perform all the actions granted in its permissions policies. *

*
* * @param deleteRolePermissionsBoundaryRequest * @return A Java Future containing the result of the DeleteRolePermissionsBoundary operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteRolePermissionsBoundary * @see AWS API Documentation */ @Override public CompletableFuture deleteRolePermissionsBoundary( DeleteRolePermissionsBoundaryRequest deleteRolePermissionsBoundaryRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteRolePermissionsBoundaryResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteRolePermissionsBoundary") .withMarshaller(new DeleteRolePermissionsBoundaryRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteRolePermissionsBoundaryRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified inline policy that is embedded in the specified IAM role. *

*

* A role can also have managed policies attached to it. To detach a managed policy from a role, use * DetachRolePolicy. For more information about policies, refer to Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param deleteRolePolicyRequest * @return A Java Future containing the result of the DeleteRolePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteRolePolicy * @see AWS API * Documentation */ @Override public CompletableFuture deleteRolePolicy(DeleteRolePolicyRequest deleteRolePolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteRolePolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteRolePolicy") .withMarshaller(new DeleteRolePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteRolePolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a SAML provider resource in IAM. *

*

* Deleting the provider resource from IAM does not update any roles that reference the SAML provider resource's ARN * as a principal in their trust policies. Any attempt to assume a role that references a non-existent provider * resource ARN fails. *

* *

* This operation requires Signature Version 4. *

*
* * @param deleteSamlProviderRequest * @return A Java Future containing the result of the DeleteSAMLProvider operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteSAMLProvider * @see AWS API * Documentation */ @Override public CompletableFuture deleteSAMLProvider(DeleteSamlProviderRequest deleteSamlProviderRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteSAMLProviderResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteSAMLProvider") .withMarshaller(new DeleteSamlProviderRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteSamlProviderRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified SSH public key. *

*

* The SSH public key deleted by this operation is used only for authenticating the associated IAM user to an AWS * CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, * see Set up AWS * CodeCommit for SSH Connections in the AWS CodeCommit User Guide. *

* * @param deleteSshPublicKeyRequest * @return A Java Future containing the result of the DeleteSSHPublicKey operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteSSHPublicKey * @see AWS API * Documentation */ @Override public CompletableFuture deleteSSHPublicKey(DeleteSshPublicKeyRequest deleteSshPublicKeyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteSSHPublicKeyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteSSHPublicKey") .withMarshaller(new DeleteSshPublicKeyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteSshPublicKeyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified server certificate. *

*

* For more information about working with server certificates, see Working with Server * Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the * server certificates that you manage with IAM. *

* *

* 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 * @return A Java Future containing the result of the DeleteServerCertificate operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • DeleteConflictException The request was rejected because it attempted to delete a resource that has * attached subordinate entities. The error message describes these entities.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteServerCertificate * @see AWS * API Documentation */ @Override public CompletableFuture deleteServerCertificate( DeleteServerCertificateRequest deleteServerCertificateRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteServerCertificateResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteServerCertificate") .withMarshaller(new DeleteServerCertificateRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteServerCertificateRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Submits a service-linked role deletion request and returns a DeletionTaskId, which you can use to * check the status of the deletion. Before you call this operation, confirm that the role has no active sessions * and that any resources used by the role in the linked service are deleted. If you call this operation more than * once for the same service-linked role and an earlier deletion task is not complete, then the * DeletionTaskId of the earlier request is returned. *

*

* If you submit a deletion request for a service-linked role whose linked service is still accessing a resource, * then the deletion task fails. If it fails, the GetServiceLinkedRoleDeletionStatus API operation returns * the reason for the failure, usually including the resources that must be deleted. To delete the service-linked * role, you must first remove those resources from the linked service and then submit the deletion request again. * Resources are specific to the service that is linked to the role. For more information about removing resources * from a service, see the AWS documentation for your service. *

*

* For more information about service-linked roles, see Roles Terms and Concepts: AWS Service-Linked Role in the IAM User Guide. *

* * @param deleteServiceLinkedRoleRequest * @return A Java Future containing the result of the DeleteServiceLinkedRole operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteServiceLinkedRole * @see AWS * API Documentation */ @Override public CompletableFuture deleteServiceLinkedRole( DeleteServiceLinkedRoleRequest deleteServiceLinkedRoleRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteServiceLinkedRoleResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteServiceLinkedRole") .withMarshaller(new DeleteServiceLinkedRoleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteServiceLinkedRoleRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified service-specific credential. *

* * @param deleteServiceSpecificCredentialRequest * @return A Java Future containing the result of the DeleteServiceSpecificCredential operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteServiceSpecificCredential * @see AWS API Documentation */ @Override public CompletableFuture deleteServiceSpecificCredential( DeleteServiceSpecificCredentialRequest deleteServiceSpecificCredentialRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteServiceSpecificCredentialResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteServiceSpecificCredential") .withMarshaller(new DeleteServiceSpecificCredentialRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteServiceSpecificCredentialRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a signing certificate associated with the specified IAM 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. This operation works for access keys under the AWS account. Consequently, you can use this operation * to manage AWS account root user credentials even if the AWS account has no associated IAM users. *

* * @param deleteSigningCertificateRequest * @return A Java Future containing the result of the DeleteSigningCertificate operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteSigningCertificate * @see AWS * API Documentation */ @Override public CompletableFuture deleteSigningCertificate( DeleteSigningCertificateRequest deleteSigningCertificateRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteSigningCertificateResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteSigningCertificate") .withMarshaller(new DeleteSigningCertificateRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteSigningCertificateRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified IAM user. Unlike the AWS Management Console, when you delete a user programmatically, you * must delete the items attached to the user manually, or the deletion fails. For more information, see Deleting an * IAM User. Before attempting to delete a user, remove the following items: *

* * * @param deleteUserRequest * @return A Java Future containing the result of the DeleteUser operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • DeleteConflictException The request was rejected because it attempted to delete a resource that has * attached subordinate entities. The error message describes these entities.
  • *
  • ConcurrentModificationException The request was rejected because multiple requests to change this * object were submitted simultaneously. Wait a few minutes and submit your request again.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteUser * @see AWS API * Documentation */ @Override public CompletableFuture deleteUser(DeleteUserRequest deleteUserRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteUserResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("DeleteUser") .withMarshaller(new DeleteUserRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteUserRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the permissions boundary for the specified IAM user. *

* *

* Deleting the permissions boundary for a user might increase its permissions by allowing the user to perform all * the actions granted in its permissions policies. *

*
* * @param deleteUserPermissionsBoundaryRequest * @return A Java Future containing the result of the DeleteUserPermissionsBoundary operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteUserPermissionsBoundary * @see AWS API Documentation */ @Override public CompletableFuture deleteUserPermissionsBoundary( DeleteUserPermissionsBoundaryRequest deleteUserPermissionsBoundaryRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteUserPermissionsBoundaryResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteUserPermissionsBoundary") .withMarshaller(new DeleteUserPermissionsBoundaryRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteUserPermissionsBoundaryRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes the specified inline policy that is embedded in the specified IAM user. *

*

* A user can also have managed policies attached to it. To detach a managed policy from a user, use * DetachUserPolicy. For more information about policies, refer to Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param deleteUserPolicyRequest * @return A Java Future containing the result of the DeleteUserPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteUserPolicy * @see AWS API * Documentation */ @Override public CompletableFuture deleteUserPolicy(DeleteUserPolicyRequest deleteUserPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteUserPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteUserPolicy") .withMarshaller(new DeleteUserPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteUserPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Deletes a virtual MFA device. *

* *

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

*
* * @param deleteVirtualMfaDeviceRequest * @return A Java Future containing the result of the DeleteVirtualMFADevice operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • DeleteConflictException The request was rejected because it attempted to delete a resource that has * attached subordinate entities. The error message describes these entities.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DeleteVirtualMFADevice * @see AWS API * Documentation */ @Override public CompletableFuture deleteVirtualMFADevice( DeleteVirtualMfaDeviceRequest deleteVirtualMfaDeviceRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteVirtualMFADeviceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteVirtualMFADevice") .withMarshaller(new DeleteVirtualMfaDeviceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteVirtualMfaDeviceRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes the specified managed policy from the specified IAM group. *

*

* A group can also have inline policies embedded with it. To delete an inline policy, use the * DeleteGroupPolicy API. For information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param detachGroupPolicyRequest * @return A Java Future containing the result of the DetachGroupPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DetachGroupPolicy * @see AWS API * Documentation */ @Override public CompletableFuture detachGroupPolicy(DetachGroupPolicyRequest detachGroupPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DetachGroupPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DetachGroupPolicy") .withMarshaller(new DetachGroupPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(detachGroupPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes the specified managed policy from the specified role. *

*

* A role can also have inline policies embedded with it. To delete an inline policy, use the * DeleteRolePolicy API. For information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param detachRolePolicyRequest * @return A Java Future containing the result of the DetachRolePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DetachRolePolicy * @see AWS API * Documentation */ @Override public CompletableFuture detachRolePolicy(DetachRolePolicyRequest detachRolePolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DetachRolePolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DetachRolePolicy") .withMarshaller(new DetachRolePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(detachRolePolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes the specified managed policy from the specified user. *

*

* A user can also have inline policies embedded with it. To delete an inline policy, use the * DeleteUserPolicy API. For information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param detachUserPolicyRequest * @return A Java Future containing the result of the DetachUserPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.DetachUserPolicy * @see AWS API * Documentation */ @Override public CompletableFuture detachUserPolicy(DetachUserPolicyRequest detachUserPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DetachUserPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("DetachUserPolicy") .withMarshaller(new DetachUserPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(detachUserPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* * @param enableMfaDeviceRequest * @return A Java Future containing the result of the EnableMFADevice operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • EntityTemporarilyUnmodifiableException The request was rejected because it referenced an entity that * is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates * that the request is likely to succeed if you try again after waiting several minutes. The error message * describes the entity.
  • *
  • InvalidAuthenticationCodeException The request was rejected because the authentication code was not * recognized. The error message describes the specific error.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.EnableMFADevice * @see AWS API * Documentation */ @Override public CompletableFuture enableMFADevice(EnableMfaDeviceRequest enableMfaDeviceRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(EnableMFADeviceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("EnableMFADevice") .withMarshaller(new EnableMfaDeviceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(enableMfaDeviceRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Generates a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in * the IAM User Guide. *

* * @param generateCredentialReportRequest * @return A Java Future containing the result of the GenerateCredentialReport operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GenerateCredentialReport * @see AWS * API Documentation */ @Override public CompletableFuture generateCredentialReport( GenerateCredentialReportRequest generateCredentialReportRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GenerateCredentialReportResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GenerateCredentialReport") .withMarshaller(new GenerateCredentialReportRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(generateCredentialReportRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Generates a report for service last accessed data for AWS Organizations. You can generate a report for any * entities (organization root, organizational unit, or account) or policies in your organization. *

*

* To call this operation, you must be signed in using your AWS Organizations master account credentials. You can * use your long-term IAM user or root user credentials, or temporary credentials from assuming an IAM role. SCPs * must be enabled for your organization root. You must have the required IAM and AWS Organizations permissions. For * more information, see Refining Permissions * Using Service Last Accessed Data in the IAM User Guide. *

*

* You can generate a service last accessed data report for entities by specifying only the entity's path. This data * includes a list of services that are allowed by any service control policies (SCPs) that apply to the entity. *

*

* You can generate a service last accessed data report for a policy by specifying an entity's path and an optional * AWS Organizations policy ID. This data includes a list of services that are allowed by the specified SCP. *

*

* For each service in both report types, the data includes the most recent account activity that the policy allows * to account principals in the entity or the entity's children. For important information about the data, reporting * period, permissions required, troubleshooting, and supported Regions see Reducing Permissions * Using Service Last Accessed Data in the IAM User Guide. *

* *

* The data includes all attempts to access AWS, not just the successful ones. This includes all attempts that were * made using the AWS Management Console, the AWS API through any of the SDKs, or any of the command line tools. An * unexpected entry in the service last accessed data does not mean that an account has been compromised, because * the request might have been denied. Refer to your CloudTrail logs as the authoritative source for information * about all API calls and whether they were successful or denied access. For more information, see Logging IAM Events with * CloudTrail in the IAM User Guide. *

*
*

* This operation returns a JobId. Use this parameter in the * GetOrganizationsAccessReport operation to check the status of the report generation. To * check the status of this request, use the JobId parameter in the * GetOrganizationsAccessReport operation and test the JobStatus response * parameter. When the job is complete, you can retrieve the report. *

*

* To generate a service last accessed data report for entities, specify an entity path without specifying the * optional AWS Organizations policy ID. The type of entity that you specify determines the data returned in the * report. *

*
    *
  • *

    * Root – When you specify the organizations root as the entity, the resulting report lists all of the * services allowed by SCPs that are attached to your root. For each service, the report includes data for all * accounts in your organization except the master account, because the master account is not limited by SCPs. *

    *
  • *
  • *

    * OU – When you specify an organizational unit (OU) as the entity, the resulting report lists all of the * services allowed by SCPs that are attached to the OU and its parents. For each service, the report includes data * for all accounts in the OU or its children. This data excludes the master account, because the master account is * not limited by SCPs. *

    *
  • *
  • *

    * Master account – When you specify the master account, the resulting report lists all AWS services, because * the master account is not limited by SCPs. For each service, the report includes data for only the master * account. *

    *
  • *
  • *

    * Account – When you specify another account as the entity, the resulting report lists all of the services * allowed by SCPs that are attached to the account and its parents. For each service, the report includes data for * only the specified account. *

    *
  • *
*

* To generate a service last accessed data report for policies, specify an entity path and the optional AWS * Organizations policy ID. The type of entity that you specify determines the data returned for each service. *

*
    *
  • *

    * Root – When you specify the root entity and a policy ID, the resulting report lists all of the services * that are allowed by the specified SCP. For each service, the report includes data for all accounts in your * organization to which the SCP applies. This data excludes the master account, because the master account is not * limited by SCPs. If the SCP is not attached to any entities in the organization, then the report will return a * list of services with no data. *

    *
  • *
  • *

    * OU – When you specify an OU entity and a policy ID, the resulting report lists all of the services that * are allowed by the specified SCP. For each service, the report includes data for all accounts in the OU or its * children to which the SCP applies. This means that other accounts outside the OU that are affected by the SCP * might not be included in the data. This data excludes the master account, because the master account is not * limited by SCPs. If the SCP is not attached to the OU or one of its children, the report will return a list of * services with no data. *

    *
  • *
  • *

    * Master account – When you specify the master account, the resulting report lists all AWS services, because * the master account is not limited by SCPs. If you specify a policy ID in the CLI or API, the policy is ignored. * For each service, the report includes data for only the master account. *

    *
  • *
  • *

    * Account – When you specify another account entity and a policy ID, the resulting report lists all of the * services that are allowed by the specified SCP. For each service, the report includes data for only the specified * account. This means that other accounts in the organization that are affected by the SCP might not be included in * the data. If the SCP is not attached to the account, the report will return a list of services with no data. *

    *
  • *
* *

* Service last accessed data does not use other policy types when determining whether a principal could access a * service. These other policy types include identity-based policies, resource-based policies, access control lists, * IAM permissions boundaries, and STS assume role policies. It only applies SCP logic. For more about the * evaluation of policy types, see Evaluating Policies in the IAM User Guide. *

*
*

* For more information about service last accessed data, see Reducing Policy Scope * by Viewing User Activity in the IAM User Guide. *

* * @param generateOrganizationsAccessReportRequest * @return A Java Future containing the result of the GenerateOrganizationsAccessReport operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ReportGenerationLimitExceededException The request failed because the maximum number of concurrent * requests for this account are already running.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GenerateOrganizationsAccessReport * @see AWS API Documentation */ @Override public CompletableFuture generateOrganizationsAccessReport( GenerateOrganizationsAccessReportRequest generateOrganizationsAccessReportRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GenerateOrganizationsAccessReportResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GenerateOrganizationsAccessReport") .withMarshaller(new GenerateOrganizationsAccessReportRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(generateOrganizationsAccessReportRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Generates a report that includes details about when an IAM resource (user, group, role, or policy) was last used * in an attempt to access AWS services. Recent activity usually appears within four hours. IAM reports activity for * the last 365 days, or less if your Region began supporting this feature within the last year. For more * information, see Regions Where Data Is Tracked. *

* *

* The service last accessed data includes all attempts to access an AWS API, not just the successful ones. This * includes all attempts that were made using the AWS Management Console, the AWS API through any of the SDKs, or * any of the command line tools. An unexpected entry in the service last accessed data does not mean that your * account has been compromised, because the request might have been denied. Refer to your CloudTrail logs as the * authoritative source for information about all API calls and whether they were successful or denied access. For * more information, see Logging IAM Events with * CloudTrail in the IAM User Guide. *

*
*

* The GenerateServiceLastAccessedDetails operation returns a JobId. Use this parameter in * the following operations to retrieve the following details from your report: *

*
    *
  • *

    * GetServiceLastAccessedDetails – Use this operation for users, groups, roles, or policies to list every AWS * service that the resource could access using permissions policies. For each service, the response includes * information about the most recent access attempt. *

    *
  • *
  • *

    * GetServiceLastAccessedDetailsWithEntities – Use this operation for groups and policies to list information * about the associated entities (users or roles) that attempted to access a specific AWS service. *

    *
  • *
*

* To check the status of the GenerateServiceLastAccessedDetails request, use the JobId * parameter in the same operations and test the JobStatus response parameter. *

*

* For additional information about the permissions policies that allow an identity (user, group, or role) to access * specific services, use the ListPoliciesGrantingServiceAccess operation. *

* *

* Service last accessed data does not use other policy types when determining whether a resource could access a * service. These other policy types include resource-based policies, access control lists, AWS Organizations * policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. * For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide. *

*
*

* For more information about service last accessed data, see Reducing Policy Scope * by Viewing User Activity in the IAM User Guide. *

* * @param generateServiceLastAccessedDetailsRequest * @return A Java Future containing the result of the GenerateServiceLastAccessedDetails operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GenerateServiceLastAccessedDetails * @see AWS API Documentation */ @Override public CompletableFuture generateServiceLastAccessedDetails( GenerateServiceLastAccessedDetailsRequest generateServiceLastAccessedDetailsRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GenerateServiceLastAccessedDetailsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GenerateServiceLastAccessedDetails") .withMarshaller(new GenerateServiceLastAccessedDetailsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(generateServiceLastAccessedDetailsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about when the specified access key was last used. The information includes the date and * time of last use, along with the AWS service and Region that were specified in the last request made with that * key. *

* * @param getAccessKeyLastUsedRequest * @return A Java Future containing the result of the GetAccessKeyLastUsed operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetAccessKeyLastUsed * @see AWS API * Documentation */ @Override public CompletableFuture getAccessKeyLastUsed( GetAccessKeyLastUsedRequest getAccessKeyLastUsedRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetAccessKeyLastUsedResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetAccessKeyLastUsed") .withMarshaller(new GetAccessKeyLastUsedRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getAccessKeyLastUsedRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about all IAM users, groups, roles, and policies in your AWS account, including their * relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, * groups, roles, and policies) in your account. *

* *

* Policies returned by this API are URL-encoded compliant with RFC * 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you * use Java, you can use the decode method of the java.net.URLDecoder utility class in the * Java SDK. Other languages and SDKs provide similar functionality. *

*
*

* You can optionally filter the results using the Filter parameter. You can paginate the results using * the MaxItems and Marker parameters. *

* * @param getAccountAuthorizationDetailsRequest * @return A Java Future containing the result of the GetAccountAuthorizationDetails operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetAccountAuthorizationDetails * @see AWS API Documentation */ @Override public CompletableFuture getAccountAuthorizationDetails( GetAccountAuthorizationDetailsRequest getAccountAuthorizationDetailsRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetAccountAuthorizationDetailsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetAccountAuthorizationDetails") .withMarshaller(new GetAccountAuthorizationDetailsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getAccountAuthorizationDetailsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about all IAM users, groups, roles, and policies in your AWS account, including their * relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, * groups, roles, and policies) in your account. *

* *

* Policies returned by this API are URL-encoded compliant with RFC * 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you * use Java, you can use the decode method of the java.net.URLDecoder utility class in the * Java SDK. Other languages and SDKs provide similar functionality. *

*
*

* You can optionally filter the results using the Filter parameter. You can paginate the results using * the MaxItems and Marker parameters. *

*
*

* This is a variant of * {@link #getAccountAuthorizationDetails(software.amazon.awssdk.services.iam.model.GetAccountAuthorizationDetailsRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.GetAccountAuthorizationDetailsPublisher publisher = client.getAccountAuthorizationDetailsPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.GetAccountAuthorizationDetailsPublisher publisher = client.getAccountAuthorizationDetailsPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.GetAccountAuthorizationDetailsResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #getAccountAuthorizationDetails(software.amazon.awssdk.services.iam.model.GetAccountAuthorizationDetailsRequest)} * operation. *

* * @param getAccountAuthorizationDetailsRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetAccountAuthorizationDetails * @see AWS API Documentation */ public GetAccountAuthorizationDetailsPublisher getAccountAuthorizationDetailsPaginator( GetAccountAuthorizationDetailsRequest getAccountAuthorizationDetailsRequest) { return new GetAccountAuthorizationDetailsPublisher(this, applyPaginatorUserAgent(getAccountAuthorizationDetailsRequest)); } /** *

* 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 * @return A Java Future containing the result of the GetAccountPasswordPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetAccountPasswordPolicy * @see AWS * API Documentation */ @Override public CompletableFuture getAccountPasswordPolicy( GetAccountPasswordPolicyRequest getAccountPasswordPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetAccountPasswordPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetAccountPasswordPolicy") .withMarshaller(new GetAccountPasswordPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getAccountPasswordPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about IAM entity usage and IAM quotas in the AWS account. *

*

* For information about limitations on IAM entities, see Limitations on IAM * Entities in the IAM User Guide. *

* * @param getAccountSummaryRequest * @return A Java Future containing the result of the GetAccountSummary operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetAccountSummary * @see AWS API * Documentation */ @Override public CompletableFuture getAccountSummary(GetAccountSummaryRequest getAccountSummaryRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetAccountSummaryResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetAccountSummary") .withMarshaller(new GetAccountSummaryRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getAccountSummaryRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets a list of all of the context keys referenced in the input policies. The policies are supplied as a list of * one or more strings. To get the context keys from policies associated with an IAM user, group, or role, use * GetContextKeysForPrincipalPolicy. *

*

* Context keys are variables maintained by AWS and its services that provide details about the context of an API * query request. Context keys can be evaluated by testing against a value specified in an IAM policy. Use * GetContextKeysForCustomPolicy to understand what key names and values you must supply when you call * SimulateCustomPolicy. Note that all parameters are shown in unencoded form here for clarity but must be * URL encoded to be included as a part of a real HTML request. *

* * @param getContextKeysForCustomPolicyRequest * @return A Java Future containing the result of the GetContextKeysForCustomPolicy operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetContextKeysForCustomPolicy * @see AWS API Documentation */ @Override public CompletableFuture getContextKeysForCustomPolicy( GetContextKeysForCustomPolicyRequest getContextKeysForCustomPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetContextKeysForCustomPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetContextKeysForCustomPolicy") .withMarshaller(new GetContextKeysForCustomPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getContextKeysForCustomPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Gets a list of all of the context keys referenced in all the IAM policies that are attached to the specified IAM * entity. The entity can be an IAM user, group, or role. If you specify a user, then the request also includes all * of the policies attached to groups that the user is a member of. *

*

* You can optionally include a list of one or more additional policies, specified as strings. If you want to * include only a list of policies by string, use GetContextKeysForCustomPolicy instead. *

*

* Note: This API discloses information about the permissions granted to other users. If you do not want * users to see other user's permissions, then consider allowing them to use GetContextKeysForCustomPolicy * instead. *

*

* Context keys are variables maintained by AWS and its services that provide details about the context of an API * query request. Context keys can be evaluated by testing against a value in an IAM policy. Use * GetContextKeysForPrincipalPolicy to understand what key names and values you must supply when you call * SimulatePrincipalPolicy. *

* * @param getContextKeysForPrincipalPolicyRequest * @return A Java Future containing the result of the GetContextKeysForPrincipalPolicy operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetContextKeysForPrincipalPolicy * @see AWS API Documentation */ @Override public CompletableFuture getContextKeysForPrincipalPolicy( GetContextKeysForPrincipalPolicyRequest getContextKeysForPrincipalPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetContextKeysForPrincipalPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetContextKeysForPrincipalPolicy") .withMarshaller(new GetContextKeysForPrincipalPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getContextKeysForPrincipalPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in * the IAM User Guide. *

* * @param getCredentialReportRequest * @return A Java Future containing the result of the GetCredentialReport operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • CredentialReportNotPresentException The request was rejected because the credential report does not * exist. To generate a credential report, use GenerateCredentialReport.
  • *
  • CredentialReportExpiredException The request was rejected because the most recent credential report * has expired. To generate a new credential report, use GenerateCredentialReport. For more * information about credential report expiration, see Getting Credential * Reports in the IAM User Guide.
  • *
  • CredentialReportNotReadyException The request was rejected because the credential report is still * being generated.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetCredentialReport * @see AWS API * Documentation */ @Override public CompletableFuture getCredentialReport( GetCredentialReportRequest getCredentialReportRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetCredentialReportResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCredentialReport") .withMarshaller(new GetCredentialReportRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getCredentialReportRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* * @param getGroupRequest * @return A Java Future containing the result of the GetGroup operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetGroup * @see AWS API * Documentation */ @Override public CompletableFuture getGroup(GetGroupRequest getGroupRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetGroup") .withMarshaller(new GetGroupRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getGroupRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

*
*

* This is a variant of {@link #getGroup(software.amazon.awssdk.services.iam.model.GetGroupRequest)} operation. The * return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.GetGroupPublisher publisher = client.getGroupPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.GetGroupPublisher publisher = client.getGroupPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.GetGroupResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #getGroup(software.amazon.awssdk.services.iam.model.GetGroupRequest)} operation. *

* * @param getGroupRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetGroup * @see AWS API * Documentation */ public GetGroupPublisher getGroupPaginator(GetGroupRequest getGroupRequest) { return new GetGroupPublisher(this, applyPaginatorUserAgent(getGroupRequest)); } /** *

* Retrieves the specified inline policy document that is embedded in the specified IAM group. *

* *

* Policies returned by this API are URL-encoded compliant with RFC * 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you * use Java, you can use the decode method of the java.net.URLDecoder utility class in the * Java SDK. Other languages and SDKs provide similar functionality. *

*
*

* An IAM group can also have managed policies attached to it. To retrieve a managed policy document that is * attached to a group, use GetPolicy to determine the policy's default version, then use * GetPolicyVersion to retrieve the policy document. *

*

* For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param getGroupPolicyRequest * @return A Java Future containing the result of the GetGroupPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetGroupPolicy * @see AWS API * Documentation */ @Override public CompletableFuture getGroupPolicy(GetGroupPolicyRequest getGroupPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetGroupPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetGroupPolicy") .withMarshaller(new GetGroupPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getGroupPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and * role. For more information about instance profiles, see About Instance Profiles in * the IAM User Guide. *

* * @param getInstanceProfileRequest * @return A Java Future containing the result of the GetInstanceProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetInstanceProfile * @see AWS API * Documentation */ @Override public CompletableFuture getInstanceProfile(GetInstanceProfileRequest getInstanceProfileRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetInstanceProfileResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetInstanceProfile") .withMarshaller(new GetInstanceProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getInstanceProfileRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* * @param getLoginProfileRequest * @return A Java Future containing the result of the GetLoginProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetLoginProfile * @see AWS API * Documentation */ @Override public CompletableFuture getLoginProfile(GetLoginProfileRequest getLoginProfileRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetLoginProfileResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetLoginProfile") .withMarshaller(new GetLoginProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getLoginProfileRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about the specified OpenID Connect (OIDC) provider resource object in IAM. *

* * @param getOpenIdConnectProviderRequest * @return A Java Future containing the result of the GetOpenIDConnectProvider operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetOpenIDConnectProvider * @see AWS * API Documentation */ @Override public CompletableFuture getOpenIDConnectProvider( GetOpenIdConnectProviderRequest getOpenIdConnectProviderRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetOpenIdConnectProviderResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetOpenIDConnectProvider") .withMarshaller(new GetOpenIdConnectProviderRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getOpenIdConnectProviderRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the service last accessed data report for AWS Organizations that was previously generated using the * GenerateOrganizationsAccessReport operation. This operation retrieves the status of your * report job and the report contents. *

*

* Depending on the parameters that you passed when you generated the report, the data returned could include * different information. For details, see GenerateOrganizationsAccessReport. *

*

* To call this operation, you must be signed in to the master account in your organization. SCPs must be enabled * for your organization root. You must have permissions to perform this operation. For more information, see Refining Permissions * Using Service Last Accessed Data in the IAM User Guide. *

*

* For each service that principals in an account (root users, IAM users, or IAM roles) could access using SCPs, the * operation returns details about the most recent access attempt. If there was no attempt, the service is listed * without details about the most recent attempt to access the service. If the operation fails, it returns the * reason that it failed. *

*

* By default, the list is sorted by service namespace. *

* * @param getOrganizationsAccessReportRequest * @return A Java Future containing the result of the GetOrganizationsAccessReport operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetOrganizationsAccessReport * @see AWS API Documentation */ @Override public CompletableFuture getOrganizationsAccessReport( GetOrganizationsAccessReportRequest getOrganizationsAccessReportRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetOrganizationsAccessReportResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetOrganizationsAccessReport") .withMarshaller(new GetOrganizationsAccessReportRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getOrganizationsAccessReportRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about the specified managed policy, including the policy's default version and the total * number of IAM users, groups, and roles to which the policy is attached. To retrieve the list of the specific * users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. This API * returns metadata about the policy. To retrieve the actual policy document for a specific version of the policy, * use GetPolicyVersion. *

*

* This API retrieves information about managed policies. To retrieve information about an inline policy that is * embedded with an IAM user, group, or role, use the GetUserPolicy, GetGroupPolicy, or * GetRolePolicy API. *

*

* For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param getPolicyRequest * @return A Java Future containing the result of the GetPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetPolicy * @see AWS API * Documentation */ @Override public CompletableFuture getPolicy(GetPolicyRequest getPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetPolicy") .withMarshaller(new GetPolicyRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about the specified version of the specified managed policy, including the policy document. *

* *

* Policies returned by this API are URL-encoded compliant with RFC * 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you * use Java, you can use the decode method of the java.net.URLDecoder utility class in the * Java SDK. Other languages and SDKs provide similar functionality. *

*
*

* To list the available versions for a policy, use ListPolicyVersions. *

*

* This API retrieves information about managed policies. To retrieve information about an inline policy that is * embedded in a user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy * API. *

*

* For more information about the types of policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* For more information about managed policy versions, see Versioning for Managed * Policies in the IAM User Guide. *

* * @param getPolicyVersionRequest * @return A Java Future containing the result of the GetPolicyVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetPolicyVersion * @see AWS API * Documentation */ @Override public CompletableFuture getPolicyVersion(GetPolicyVersionRequest getPolicyVersionRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetPolicyVersionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetPolicyVersion") .withMarshaller(new GetPolicyVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getPolicyVersionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about the specified role, including the role's path, GUID, ARN, and the role's trust policy * that grants permission to assume the role. For more information about roles, see Working with Roles. *

* *

* Policies returned by this API are URL-encoded compliant with RFC * 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you * use Java, you can use the decode method of the java.net.URLDecoder utility class in the * Java SDK. Other languages and SDKs provide similar functionality. *

*
* * @param getRoleRequest * @return A Java Future containing the result of the GetRole operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetRole * @see AWS API * Documentation */ @Override public CompletableFuture getRole(GetRoleRequest getRoleRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetRoleResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetRole") .withMarshaller(new GetRoleRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getRoleRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the specified inline policy document that is embedded with the specified IAM role. *

* *

* Policies returned by this API are URL-encoded compliant with RFC * 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you * use Java, you can use the decode method of the java.net.URLDecoder utility class in the * Java SDK. Other languages and SDKs provide similar functionality. *

*
*

* An IAM role can also have managed policies attached to it. To retrieve a managed policy document that is attached * to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to * retrieve the policy document. *

*

* For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* For more information about roles, see Using Roles to Delegate Permissions * and Federate Identities. *

* * @param getRolePolicyRequest * @return A Java Future containing the result of the GetRolePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetRolePolicy * @see AWS API * Documentation */ @Override public CompletableFuture getRolePolicy(GetRolePolicyRequest getRolePolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetRolePolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetRolePolicy") .withMarshaller(new GetRolePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getRolePolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* *

* This operation requires Signature Version 4. *

*
* * @param getSamlProviderRequest * @return A Java Future containing the result of the GetSAMLProvider operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetSAMLProvider * @see AWS API * Documentation */ @Override public CompletableFuture getSAMLProvider(GetSamlProviderRequest getSamlProviderRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetSamlProviderResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetSAMLProvider") .withMarshaller(new GetSamlProviderRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getSamlProviderRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the specified SSH public key, including metadata about the key. *

*

* The SSH public key retrieved by this operation is used only for authenticating the associated IAM user to an AWS * CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, * see Set up AWS * CodeCommit for SSH Connections in the AWS CodeCommit User Guide. *

* * @param getSshPublicKeyRequest * @return A Java Future containing the result of the GetSSHPublicKey operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • UnrecognizedPublicKeyEncodingException The request was rejected because the public key encoding * format is unsupported or unrecognized.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetSSHPublicKey * @see AWS API * Documentation */ @Override public CompletableFuture getSSHPublicKey(GetSshPublicKeyRequest getSshPublicKeyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetSshPublicKeyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetSSHPublicKey") .withMarshaller(new GetSshPublicKeyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getSshPublicKeyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about the specified server certificate stored in IAM. *

*

* For more information about working with server certificates, see Working with Server * Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server * certificates that you manage with IAM. *

* * @param getServerCertificateRequest * @return A Java Future containing the result of the GetServerCertificate operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetServerCertificate * @see AWS API * Documentation */ @Override public CompletableFuture getServerCertificate( GetServerCertificateRequest getServerCertificateRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetServerCertificateResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetServerCertificate") .withMarshaller(new GetServerCertificateRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getServerCertificateRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a service last accessed report that was created using the * GenerateServiceLastAccessedDetails operation. You can use the JobId parameter in * GetServiceLastAccessedDetails to retrieve the status of your report job. When the report is * complete, you can retrieve the generated report. The report includes a list of AWS services that the resource * (user, group, role, or managed policy) can access. *

* *

* Service last accessed data does not use other policy types when determining whether a resource could access a * service. These other policy types include resource-based policies, access control lists, AWS Organizations * policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. * For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide. *

*
*

* For each service that the resource could access using permissions policies, the operation returns details about * the most recent access attempt. If there was no attempt, the service is listed without details about the most * recent attempt to access the service. If the operation fails, the GetServiceLastAccessedDetails * operation returns the reason that it failed. *

*

* The GetServiceLastAccessedDetails operation returns a list of services. This list includes the * number of entities that have attempted to access the service and the date and time of the last attempt. It also * returns the ARN of the following entity, depending on the resource ARN that you used to generate the report: *

*
    *
  • *

    * User – Returns the user ARN that you used to generate the report *

    *
  • *
  • *

    * Group – Returns the ARN of the group member (user) that last attempted to access the service *

    *
  • *
  • *

    * Role – Returns the role ARN that you used to generate the report *

    *
  • *
  • *

    * Policy – Returns the ARN of the user or role that last used the policy to attempt to access the service *

    *
  • *
*

* By default, the list is sorted by service namespace. *

* * @param getServiceLastAccessedDetailsRequest * @return A Java Future containing the result of the GetServiceLastAccessedDetails operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetServiceLastAccessedDetails * @see AWS API Documentation */ @Override public CompletableFuture getServiceLastAccessedDetails( GetServiceLastAccessedDetailsRequest getServiceLastAccessedDetailsRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetServiceLastAccessedDetailsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetServiceLastAccessedDetails") .withMarshaller(new GetServiceLastAccessedDetailsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getServiceLastAccessedDetailsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* After you generate a group or policy report using the GenerateServiceLastAccessedDetails operation, * you can use the JobId parameter in GetServiceLastAccessedDetailsWithEntities. This * operation retrieves the status of your report job and a list of entities that could have used group or policy * permissions to access the specified service. *

*
    *
  • *

    * Group – For a group report, this operation returns a list of users in the group that could have used the * group’s policies in an attempt to access the service. *

    *
  • *
  • *

    * Policy – For a policy report, this operation returns a list of entities (users or roles) that could have * used the policy in an attempt to access the service. *

    *
  • *
*

* You can also use this operation for user or role reports to retrieve details about those entities. *

*

* If the operation fails, the GetServiceLastAccessedDetailsWithEntities operation returns the reason * that it failed. *

*

* By default, the list of associated entities is sorted by date, with the most recent access listed first. *

* * @param getServiceLastAccessedDetailsWithEntitiesRequest * @return A Java Future containing the result of the GetServiceLastAccessedDetailsWithEntities operation returned * by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetServiceLastAccessedDetailsWithEntities * @see AWS API Documentation */ @Override public CompletableFuture getServiceLastAccessedDetailsWithEntities( GetServiceLastAccessedDetailsWithEntitiesRequest getServiceLastAccessedDetailsWithEntitiesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetServiceLastAccessedDetailsWithEntitiesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetServiceLastAccessedDetailsWithEntities") .withMarshaller(new GetServiceLastAccessedDetailsWithEntitiesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getServiceLastAccessedDetailsWithEntitiesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the status of your service-linked role deletion. After you use the DeleteServiceLinkedRole API * operation to submit a service-linked role for deletion, you can use the DeletionTaskId parameter in * GetServiceLinkedRoleDeletionStatus to check the status of the deletion. If the deletion fails, this * operation returns the reason that it failed, if that information is returned by the service. *

* * @param getServiceLinkedRoleDeletionStatusRequest * @return A Java Future containing the result of the GetServiceLinkedRoleDeletionStatus operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetServiceLinkedRoleDeletionStatus * @see AWS API Documentation */ @Override public CompletableFuture getServiceLinkedRoleDeletionStatus( GetServiceLinkedRoleDeletionStatusRequest getServiceLinkedRoleDeletionStatusRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetServiceLinkedRoleDeletionStatusResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetServiceLinkedRoleDeletionStatus") .withMarshaller(new GetServiceLinkedRoleDeletionStatusRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getServiceLinkedRoleDeletionStatusRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves information about the specified IAM user, including the user's creation date, 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 used to * sign the request to this API. *

* * @param getUserRequest * @return A Java Future containing the result of the GetUser operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetUser * @see AWS API * Documentation */ @Override public CompletableFuture getUser(GetUserRequest getUserRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetUserResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("GetUser") .withMarshaller(new GetUserRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getUserRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves the specified inline policy document that is embedded in the specified IAM user. *

* *

* Policies returned by this API are URL-encoded compliant with RFC * 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you * use Java, you can use the decode method of the java.net.URLDecoder utility class in the * Java SDK. Other languages and SDKs provide similar functionality. *

*
*

* An IAM user can also have managed policies attached to it. To retrieve a managed policy document that is attached * to a user, use GetPolicy to determine the policy's default version. Then use GetPolicyVersion to * retrieve the policy document. *

*

* For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param getUserPolicyRequest * @return A Java Future containing the result of the GetUserPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.GetUserPolicy * @see AWS API * Documentation */ @Override public CompletableFuture getUserPolicy(GetUserPolicyRequest getUserPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetUserPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("GetUserPolicy") .withMarshaller(new GetUserPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getUserPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about the access key IDs associated with the specified IAM user. If there is none, the * operation 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 user name is determined implicitly based on the AWS * access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, * you can use this operation to manage AWS account root user credentials even if the AWS account has no associated * users. *

* *

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

*
* * @param listAccessKeysRequest * @return A Java Future containing the result of the ListAccessKeys operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAccessKeys * @see AWS API * Documentation */ @Override public CompletableFuture listAccessKeys(ListAccessKeysRequest listAccessKeysRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListAccessKeysResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListAccessKeys") .withMarshaller(new ListAccessKeysRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listAccessKeysRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about the access key IDs associated with the specified IAM user. If there is none, the * operation 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 user name is determined implicitly based on the AWS * access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, * you can use this operation to manage AWS account root user credentials even if the AWS account has no associated * users. *

* *

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

*

*

* This is a variant of {@link #listAccessKeys(software.amazon.awssdk.services.iam.model.ListAccessKeysRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAccessKeysPublisher publisher = client.listAccessKeysPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAccessKeysPublisher publisher = client.listAccessKeysPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListAccessKeysResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listAccessKeys(software.amazon.awssdk.services.iam.model.ListAccessKeysRequest)} operation. *

* * @param listAccessKeysRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAccessKeys * @see AWS API * Documentation */ public ListAccessKeysPublisher listAccessKeysPaginator(ListAccessKeysRequest listAccessKeysRequest) { return new ListAccessKeysPublisher(this, applyPaginatorUserAgent(listAccessKeysRequest)); } /** *

* Lists the account alias associated with the AWS account (Note: you can have only one). For information about * using an AWS account alias, see Using an Alias for Your AWS Account * ID in the IAM User Guide. *

* * @param listAccountAliasesRequest * @return A Java Future containing the result of the ListAccountAliases operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAccountAliases * @see AWS API * Documentation */ @Override public CompletableFuture listAccountAliases(ListAccountAliasesRequest listAccountAliasesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListAccountAliasesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListAccountAliases") .withMarshaller(new ListAccountAliasesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listAccountAliasesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the account alias associated with the AWS account (Note: you can have only one). For information about * using an AWS account alias, see Using an Alias for Your AWS Account * ID in the IAM User Guide. *

*
*

* This is a variant of * {@link #listAccountAliases(software.amazon.awssdk.services.iam.model.ListAccountAliasesRequest)} operation. The * return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAccountAliasesPublisher publisher = client.listAccountAliasesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAccountAliasesPublisher publisher = client.listAccountAliasesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListAccountAliasesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listAccountAliases(software.amazon.awssdk.services.iam.model.ListAccountAliasesRequest)} operation. *

* * @param listAccountAliasesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAccountAliases * @see AWS API * Documentation */ public ListAccountAliasesPublisher listAccountAliasesPaginator(ListAccountAliasesRequest listAccountAliasesRequest) { return new ListAccountAliasesPublisher(this, applyPaginatorUserAgent(listAccountAliasesRequest)); } /** *

* Lists all managed policies that are attached to the specified IAM group. *

*

* An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the * ListGroupPolicies API. For information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. You can use the * PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. * If there are no policies attached to the specified group (or none that match the specified path prefix), the * operation returns an empty list. *

* * @param listAttachedGroupPoliciesRequest * @return A Java Future containing the result of the ListAttachedGroupPolicies operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAttachedGroupPolicies * @see AWS * API Documentation */ @Override public CompletableFuture listAttachedGroupPolicies( ListAttachedGroupPoliciesRequest listAttachedGroupPoliciesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListAttachedGroupPoliciesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListAttachedGroupPolicies") .withMarshaller(new ListAttachedGroupPoliciesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listAttachedGroupPoliciesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all managed policies that are attached to the specified IAM group. *

*

* An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the * ListGroupPolicies API. For information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. You can use the * PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. * If there are no policies attached to the specified group (or none that match the specified path prefix), the * operation returns an empty list. *

*
*

* This is a variant of * {@link #listAttachedGroupPolicies(software.amazon.awssdk.services.iam.model.ListAttachedGroupPoliciesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAttachedGroupPoliciesPublisher publisher = client.listAttachedGroupPoliciesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAttachedGroupPoliciesPublisher publisher = client.listAttachedGroupPoliciesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListAttachedGroupPoliciesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listAttachedGroupPolicies(software.amazon.awssdk.services.iam.model.ListAttachedGroupPoliciesRequest)} * operation. *

* * @param listAttachedGroupPoliciesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAttachedGroupPolicies * @see AWS * API Documentation */ public ListAttachedGroupPoliciesPublisher listAttachedGroupPoliciesPaginator( ListAttachedGroupPoliciesRequest listAttachedGroupPoliciesRequest) { return new ListAttachedGroupPoliciesPublisher(this, applyPaginatorUserAgent(listAttachedGroupPoliciesRequest)); } /** *

* Lists all managed policies that are attached to the specified IAM role. *

*

* An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the * ListRolePolicies API. For information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. You can use the * PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. * If there are no policies attached to the specified role (or none that match the specified path prefix), the * operation returns an empty list. *

* * @param listAttachedRolePoliciesRequest * @return A Java Future containing the result of the ListAttachedRolePolicies operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAttachedRolePolicies * @see AWS * API Documentation */ @Override public CompletableFuture listAttachedRolePolicies( ListAttachedRolePoliciesRequest listAttachedRolePoliciesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListAttachedRolePoliciesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListAttachedRolePolicies") .withMarshaller(new ListAttachedRolePoliciesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listAttachedRolePoliciesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all managed policies that are attached to the specified IAM role. *

*

* An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the * ListRolePolicies API. For information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. You can use the * PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. * If there are no policies attached to the specified role (or none that match the specified path prefix), the * operation returns an empty list. *

*
*

* This is a variant of * {@link #listAttachedRolePolicies(software.amazon.awssdk.services.iam.model.ListAttachedRolePoliciesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAttachedRolePoliciesPublisher publisher = client.listAttachedRolePoliciesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAttachedRolePoliciesPublisher publisher = client.listAttachedRolePoliciesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListAttachedRolePoliciesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listAttachedRolePolicies(software.amazon.awssdk.services.iam.model.ListAttachedRolePoliciesRequest)} * operation. *

* * @param listAttachedRolePoliciesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAttachedRolePolicies * @see AWS * API Documentation */ public ListAttachedRolePoliciesPublisher listAttachedRolePoliciesPaginator( ListAttachedRolePoliciesRequest listAttachedRolePoliciesRequest) { return new ListAttachedRolePoliciesPublisher(this, applyPaginatorUserAgent(listAttachedRolePoliciesRequest)); } /** *

* Lists all managed policies that are attached to the specified IAM user. *

*

* An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the * ListUserPolicies API. For information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. You can use the * PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. * If there are no policies attached to the specified group (or none that match the specified path prefix), the * operation returns an empty list. *

* * @param listAttachedUserPoliciesRequest * @return A Java Future containing the result of the ListAttachedUserPolicies operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAttachedUserPolicies * @see AWS * API Documentation */ @Override public CompletableFuture listAttachedUserPolicies( ListAttachedUserPoliciesRequest listAttachedUserPoliciesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListAttachedUserPoliciesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListAttachedUserPolicies") .withMarshaller(new ListAttachedUserPoliciesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listAttachedUserPoliciesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all managed policies that are attached to the specified IAM user. *

*

* An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the * ListUserPolicies API. For information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. You can use the * PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. * If there are no policies attached to the specified group (or none that match the specified path prefix), the * operation returns an empty list. *

*
*

* This is a variant of * {@link #listAttachedUserPolicies(software.amazon.awssdk.services.iam.model.ListAttachedUserPoliciesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAttachedUserPoliciesPublisher publisher = client.listAttachedUserPoliciesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListAttachedUserPoliciesPublisher publisher = client.listAttachedUserPoliciesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListAttachedUserPoliciesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listAttachedUserPolicies(software.amazon.awssdk.services.iam.model.ListAttachedUserPoliciesRequest)} * operation. *

* * @param listAttachedUserPoliciesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListAttachedUserPolicies * @see AWS * API Documentation */ public ListAttachedUserPoliciesPublisher listAttachedUserPoliciesPaginator( ListAttachedUserPoliciesRequest listAttachedUserPoliciesRequest) { return new ListAttachedUserPoliciesPublisher(this, applyPaginatorUserAgent(listAttachedUserPoliciesRequest)); } /** *

* Lists all IAM users, groups, and roles that the specified managed policy is attached to. *

*

* You can use the optional EntityFilter parameter to limit the results to a particular type of entity * (users, groups, or roles). For example, to list only the roles that are attached to the specified policy, set * EntityFilter to Role. *

*

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

* * @param listEntitiesForPolicyRequest * @return A Java Future containing the result of the ListEntitiesForPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListEntitiesForPolicy * @see AWS API * Documentation */ @Override public CompletableFuture listEntitiesForPolicy( ListEntitiesForPolicyRequest listEntitiesForPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListEntitiesForPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListEntitiesForPolicy") .withMarshaller(new ListEntitiesForPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listEntitiesForPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all IAM users, groups, and roles that the specified managed policy is attached to. *

*

* You can use the optional EntityFilter parameter to limit the results to a particular type of entity * (users, groups, or roles). For example, to list only the roles that are attached to the specified policy, set * EntityFilter to Role. *

*

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

*
*

* This is a variant of * {@link #listEntitiesForPolicy(software.amazon.awssdk.services.iam.model.ListEntitiesForPolicyRequest)} operation. * The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListEntitiesForPolicyPublisher publisher = client.listEntitiesForPolicyPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListEntitiesForPolicyPublisher publisher = client.listEntitiesForPolicyPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListEntitiesForPolicyResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listEntitiesForPolicy(software.amazon.awssdk.services.iam.model.ListEntitiesForPolicyRequest)} * operation. *

* * @param listEntitiesForPolicyRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListEntitiesForPolicy * @see AWS API * Documentation */ public ListEntitiesForPolicyPublisher listEntitiesForPolicyPaginator(ListEntitiesForPolicyRequest listEntitiesForPolicyRequest) { return new ListEntitiesForPolicyPublisher(this, applyPaginatorUserAgent(listEntitiesForPolicyRequest)); } /** *

* Lists the names of the inline policies that are embedded in the specified IAM group. *

*

* An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a * group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. If there are no * inline policies embedded with the specified group, the operation returns an empty list. *

* * @param listGroupPoliciesRequest * @return A Java Future containing the result of the ListGroupPolicies operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListGroupPolicies * @see AWS API * Documentation */ @Override public CompletableFuture listGroupPolicies(ListGroupPoliciesRequest listGroupPoliciesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListGroupPoliciesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListGroupPolicies") .withMarshaller(new ListGroupPoliciesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listGroupPoliciesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the names of the inline policies that are embedded in the specified IAM group. *

*

* An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a * group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. If there are no * inline policies embedded with the specified group, the operation returns an empty list. *

*
*

* This is a variant of * {@link #listGroupPolicies(software.amazon.awssdk.services.iam.model.ListGroupPoliciesRequest)} operation. The * return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListGroupPoliciesPublisher publisher = client.listGroupPoliciesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListGroupPoliciesPublisher publisher = client.listGroupPoliciesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListGroupPoliciesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listGroupPolicies(software.amazon.awssdk.services.iam.model.ListGroupPoliciesRequest)} operation. *

* * @param listGroupPoliciesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListGroupPolicies * @see AWS API * Documentation */ public ListGroupPoliciesPublisher listGroupPoliciesPaginator(ListGroupPoliciesRequest listGroupPoliciesRequest) { return new ListGroupPoliciesPublisher(this, applyPaginatorUserAgent(listGroupPoliciesRequest)); } /** *

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

*

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

* * @param listGroupsRequest * @return A Java Future containing the result of the ListGroups operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListGroups * @see AWS API * Documentation */ @Override public CompletableFuture listGroups(ListGroupsRequest listGroupsRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListGroupsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("ListGroups") .withMarshaller(new ListGroupsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listGroupsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the IAM groups that the specified IAM user belongs to. *

*

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

* * @param listGroupsForUserRequest * @return A Java Future containing the result of the ListGroupsForUser operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListGroupsForUser * @see AWS API * Documentation */ @Override public CompletableFuture listGroupsForUser(ListGroupsForUserRequest listGroupsForUserRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListGroupsForUserResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListGroupsForUser") .withMarshaller(new ListGroupsForUserRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listGroupsForUserRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the IAM groups that the specified IAM user belongs to. *

*

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

*
*

* This is a variant of * {@link #listGroupsForUser(software.amazon.awssdk.services.iam.model.ListGroupsForUserRequest)} operation. The * return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListGroupsForUserPublisher publisher = client.listGroupsForUserPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListGroupsForUserPublisher publisher = client.listGroupsForUserPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListGroupsForUserResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listGroupsForUser(software.amazon.awssdk.services.iam.model.ListGroupsForUserRequest)} operation. *

* * @param listGroupsForUserRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListGroupsForUser * @see AWS API * Documentation */ public ListGroupsForUserPublisher listGroupsForUserPaginator(ListGroupsForUserRequest listGroupsForUserRequest) { return new ListGroupsForUserPublisher(this, applyPaginatorUserAgent(listGroupsForUserRequest)); } /** *

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

*

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

*
*

* This is a variant of {@link #listGroups(software.amazon.awssdk.services.iam.model.ListGroupsRequest)} operation. * The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListGroupsPublisher publisher = client.listGroupsPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListGroupsPublisher publisher = client.listGroupsPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListGroupsResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listGroups(software.amazon.awssdk.services.iam.model.ListGroupsRequest)} operation. *

* * @param listGroupsRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListGroups * @see AWS API * Documentation */ public ListGroupsPublisher listGroupsPaginator(ListGroupsRequest listGroupsRequest) { return new ListGroupsPublisher(this, applyPaginatorUserAgent(listGroupsRequest)); } /** *

* Lists the instance profiles that have the specified path prefix. If there are none, the operation 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 * @return A Java Future containing the result of the ListInstanceProfiles operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListInstanceProfiles * @see AWS API * Documentation */ @Override public CompletableFuture listInstanceProfiles( ListInstanceProfilesRequest listInstanceProfilesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListInstanceProfilesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListInstanceProfiles") .withMarshaller(new ListInstanceProfilesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listInstanceProfilesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the instance profiles that have the specified associated IAM role. If there are none, the operation 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 * @return A Java Future containing the result of the ListInstanceProfilesForRole operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListInstanceProfilesForRole * @see AWS API Documentation */ @Override public CompletableFuture listInstanceProfilesForRole( ListInstanceProfilesForRoleRequest listInstanceProfilesForRoleRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListInstanceProfilesForRoleResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListInstanceProfilesForRole") .withMarshaller(new ListInstanceProfilesForRoleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listInstanceProfilesForRoleRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the instance profiles that have the specified associated IAM role. If there are none, the operation 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. *

*
*

* This is a variant of * {@link #listInstanceProfilesForRole(software.amazon.awssdk.services.iam.model.ListInstanceProfilesForRoleRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListInstanceProfilesForRolePublisher publisher = client.listInstanceProfilesForRolePaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListInstanceProfilesForRolePublisher publisher = client.listInstanceProfilesForRolePaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListInstanceProfilesForRoleResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listInstanceProfilesForRole(software.amazon.awssdk.services.iam.model.ListInstanceProfilesForRoleRequest)} * operation. *

* * @param listInstanceProfilesForRoleRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListInstanceProfilesForRole * @see AWS API Documentation */ public ListInstanceProfilesForRolePublisher listInstanceProfilesForRolePaginator( ListInstanceProfilesForRoleRequest listInstanceProfilesForRoleRequest) { return new ListInstanceProfilesForRolePublisher(this, applyPaginatorUserAgent(listInstanceProfilesForRoleRequest)); } /** *

* Lists the instance profiles that have the specified path prefix. If there are none, the operation 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. *

*
*

* This is a variant of * {@link #listInstanceProfiles(software.amazon.awssdk.services.iam.model.ListInstanceProfilesRequest)} operation. * The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListInstanceProfilesPublisher publisher = client.listInstanceProfilesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListInstanceProfilesPublisher publisher = client.listInstanceProfilesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListInstanceProfilesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listInstanceProfiles(software.amazon.awssdk.services.iam.model.ListInstanceProfilesRequest)} * operation. *

* * @param listInstanceProfilesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListInstanceProfiles * @see AWS API * Documentation */ public ListInstanceProfilesPublisher listInstanceProfilesPaginator(ListInstanceProfilesRequest listInstanceProfilesRequest) { return new ListInstanceProfilesPublisher(this, applyPaginatorUserAgent(listInstanceProfilesRequest)); } /** *

* Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this operation lists all the * MFA devices 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 for this API. *

*

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

* * @param listMfaDevicesRequest * @return A Java Future containing the result of the ListMFADevices operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListMFADevices * @see AWS API * Documentation */ @Override public CompletableFuture listMFADevices(ListMfaDevicesRequest listMfaDevicesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListMfaDevicesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListMFADevices") .withMarshaller(new ListMfaDevicesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listMfaDevicesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this operation lists all the * MFA devices 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 for this API. *

*

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

*
*

* This is a variant of {@link #listMFADevices(software.amazon.awssdk.services.iam.model.ListMfaDevicesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListMFADevicesPublisher publisher = client.listMFADevicesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListMFADevicesPublisher publisher = client.listMFADevicesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListMfaDevicesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listMFADevices(software.amazon.awssdk.services.iam.model.ListMfaDevicesRequest)} operation. *

* * @param listMfaDevicesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListMFADevices * @see AWS API * Documentation */ public ListMFADevicesPublisher listMFADevicesPaginator(ListMfaDevicesRequest listMfaDevicesRequest) { return new ListMFADevicesPublisher(this, applyPaginatorUserAgent(listMfaDevicesRequest)); } /** *

* Lists information about the IAM OpenID Connect (OIDC) provider resource objects defined in the AWS account. *

* * @param listOpenIdConnectProvidersRequest * @return A Java Future containing the result of the ListOpenIDConnectProviders operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListOpenIDConnectProviders * @see AWS * API Documentation */ @Override public CompletableFuture listOpenIDConnectProviders( ListOpenIdConnectProvidersRequest listOpenIdConnectProvidersRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListOpenIdConnectProvidersResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListOpenIDConnectProviders") .withMarshaller(new ListOpenIdConnectProvidersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listOpenIdConnectProvidersRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all the managed policies that are available in your AWS account, including your own customer-defined * managed policies and all AWS managed policies. *

*

* You can filter the list of policies that is returned using the optional OnlyAttached, * Scope, and PathPrefix parameters. For example, to list only the customer managed * policies in your AWS account, set Scope to Local. To list only AWS managed policies, * set Scope to AWS. *

*

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

*

* For more information about managed policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param listPoliciesRequest * @return A Java Future containing the result of the ListPolicies operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListPolicies * @see AWS API * Documentation */ @Override public CompletableFuture listPolicies(ListPoliciesRequest listPoliciesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListPoliciesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListPolicies").withMarshaller(new ListPoliciesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listPoliciesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Retrieves a list of policies that the IAM identity (user, group, or role) can use to access each specified * service. *

* *

* This operation does not use other policy types when determining whether a resource could access a service. These * other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM * permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more * about the evaluation of policy types, see Evaluating Policies in the IAM User Guide. *

*
*

* The list of policies returned by the operation depends on the ARN of the identity that you provide. *

*
    *
  • *

    * User – The list of policies includes the managed and inline policies that are attached to the user * directly. The list also includes any additional managed and inline policies that are attached to the group to * which the user belongs. *

    *
  • *
  • *

    * Group – The list of policies includes only the managed and inline policies that are attached to the group * directly. Policies that are attached to the group’s user are not included. *

    *
  • *
  • *

    * Role – The list of policies includes only the managed and inline policies that are attached to the role. *

    *
  • *
*

* For each managed policy, this operation returns the ARN and policy name. For each inline policy, it returns the * policy name and the entity to which it is attached. Inline policies do not have an ARN. For more information * about these policy types, see Managed Policies * and Inline Policies in the IAM User Guide. *

*

* Policies that are attached to users and roles as permissions boundaries are not returned. To view which managed * policy is currently used to set the permissions boundary for a user or role, use the GetUser or * GetRole operations. *

* * @param listPoliciesGrantingServiceAccessRequest * @return A Java Future containing the result of the ListPoliciesGrantingServiceAccess operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListPoliciesGrantingServiceAccess * @see AWS API Documentation */ @Override public CompletableFuture listPoliciesGrantingServiceAccess( ListPoliciesGrantingServiceAccessRequest listPoliciesGrantingServiceAccessRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListPoliciesGrantingServiceAccessResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListPoliciesGrantingServiceAccess") .withMarshaller(new ListPoliciesGrantingServiceAccessRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listPoliciesGrantingServiceAccessRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists all the managed policies that are available in your AWS account, including your own customer-defined * managed policies and all AWS managed policies. *

*

* You can filter the list of policies that is returned using the optional OnlyAttached, * Scope, and PathPrefix parameters. For example, to list only the customer managed * policies in your AWS account, set Scope to Local. To list only AWS managed policies, * set Scope to AWS. *

*

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

*

* For more information about managed policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*
*

* This is a variant of {@link #listPolicies(software.amazon.awssdk.services.iam.model.ListPoliciesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListPoliciesPublisher publisher = client.listPoliciesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListPoliciesPublisher publisher = client.listPoliciesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListPoliciesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listPolicies(software.amazon.awssdk.services.iam.model.ListPoliciesRequest)} operation. *

* * @param listPoliciesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListPolicies * @see AWS API * Documentation */ public ListPoliciesPublisher listPoliciesPaginator(ListPoliciesRequest listPoliciesRequest) { return new ListPoliciesPublisher(this, applyPaginatorUserAgent(listPoliciesRequest)); } /** *

* Lists information about the versions of the specified managed policy, including the version that is currently set * as the policy's default version. *

*

* For more information about managed policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param listPolicyVersionsRequest * @return A Java Future containing the result of the ListPolicyVersions operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListPolicyVersions * @see AWS API * Documentation */ @Override public CompletableFuture listPolicyVersions(ListPolicyVersionsRequest listPolicyVersionsRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListPolicyVersionsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListPolicyVersions") .withMarshaller(new ListPolicyVersionsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listPolicyVersionsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists information about the versions of the specified managed policy, including the version that is currently set * as the policy's default version. *

*

* For more information about managed policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*
*

* This is a variant of * {@link #listPolicyVersions(software.amazon.awssdk.services.iam.model.ListPolicyVersionsRequest)} operation. The * return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListPolicyVersionsPublisher publisher = client.listPolicyVersionsPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListPolicyVersionsPublisher publisher = client.listPolicyVersionsPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListPolicyVersionsResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listPolicyVersions(software.amazon.awssdk.services.iam.model.ListPolicyVersionsRequest)} operation. *

* * @param listPolicyVersionsRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListPolicyVersions * @see AWS API * Documentation */ public ListPolicyVersionsPublisher listPolicyVersionsPaginator(ListPolicyVersionsRequest listPolicyVersionsRequest) { return new ListPolicyVersionsPublisher(this, applyPaginatorUserAgent(listPolicyVersionsRequest)); } /** *

* Lists the names of the inline policies that are embedded in the specified IAM role. *

*

* An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a * role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. If there are no * inline policies embedded with the specified role, the operation returns an empty list. *

* * @param listRolePoliciesRequest * @return A Java Future containing the result of the ListRolePolicies operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListRolePolicies * @see AWS API * Documentation */ @Override public CompletableFuture listRolePolicies(ListRolePoliciesRequest listRolePoliciesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListRolePoliciesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListRolePolicies") .withMarshaller(new ListRolePoliciesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listRolePoliciesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the names of the inline policies that are embedded in the specified IAM role. *

*

* An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a * role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. If there are no * inline policies embedded with the specified role, the operation returns an empty list. *

*
*

* This is a variant of {@link #listRolePolicies(software.amazon.awssdk.services.iam.model.ListRolePoliciesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListRolePoliciesPublisher publisher = client.listRolePoliciesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListRolePoliciesPublisher publisher = client.listRolePoliciesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListRolePoliciesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listRolePolicies(software.amazon.awssdk.services.iam.model.ListRolePoliciesRequest)} operation. *

* * @param listRolePoliciesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListRolePolicies * @see AWS API * Documentation */ public ListRolePoliciesPublisher listRolePoliciesPaginator(ListRolePoliciesRequest listRolePoliciesRequest) { return new ListRolePoliciesPublisher(this, applyPaginatorUserAgent(listRolePoliciesRequest)); } /** *

* Lists the tags that are attached to the specified role. The returned list of tags is sorted by tag key. For more * information about tagging, see Tagging * IAM Identities in the IAM User Guide. *

* * @param listRoleTagsRequest * @return A Java Future containing the result of the ListRoleTags operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListRoleTags * @see AWS API * Documentation */ @Override public CompletableFuture listRoleTags(ListRoleTagsRequest listRoleTagsRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListRoleTagsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListRoleTags").withMarshaller(new ListRoleTagsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listRoleTagsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the IAM roles that have the specified path prefix. If there are none, the operation 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. *

* * @param listRolesRequest * @return A Java Future containing the result of the ListRoles operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListRoles * @see AWS API * Documentation */ @Override public CompletableFuture listRoles(ListRolesRequest listRolesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListRolesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("ListRoles") .withMarshaller(new ListRolesRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listRolesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the IAM roles that have the specified path prefix. If there are none, the operation 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. *

*
*

* This is a variant of {@link #listRoles(software.amazon.awssdk.services.iam.model.ListRolesRequest)} operation. * The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListRolesPublisher publisher = client.listRolesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListRolesPublisher publisher = client.listRolesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListRolesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listRoles(software.amazon.awssdk.services.iam.model.ListRolesRequest)} operation. *

* * @param listRolesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListRoles * @see AWS API * Documentation */ public ListRolesPublisher listRolesPaginator(ListRolesRequest listRolesRequest) { return new ListRolesPublisher(this, applyPaginatorUserAgent(listRolesRequest)); } /** *

* Lists the SAML provider resource objects defined in IAM in the account. *

* *

* This operation requires Signature Version 4. *

*
* * @param listSamlProvidersRequest * @return A Java Future containing the result of the ListSAMLProviders operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListSAMLProviders * @see AWS API * Documentation */ @Override public CompletableFuture listSAMLProviders(ListSamlProvidersRequest listSamlProvidersRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListSamlProvidersResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSAMLProviders") .withMarshaller(new ListSamlProvidersRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listSamlProvidersRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about the SSH public keys associated with the specified IAM user. If none exists, the * operation returns an empty list. *

*

* The SSH public keys returned by this operation are used only for authenticating the IAM user to an AWS CodeCommit * repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS * CodeCommit for SSH Connections in the AWS CodeCommit User Guide. *

*

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

* * @param listSshPublicKeysRequest * @return A Java Future containing the result of the ListSSHPublicKeys operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListSSHPublicKeys * @see AWS API * Documentation */ @Override public CompletableFuture listSSHPublicKeys(ListSshPublicKeysRequest listSshPublicKeysRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListSshPublicKeysResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSSHPublicKeys") .withMarshaller(new ListSshPublicKeysRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listSshPublicKeysRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about the SSH public keys associated with the specified IAM user. If none exists, the * operation returns an empty list. *

*

* The SSH public keys returned by this operation are used only for authenticating the IAM user to an AWS CodeCommit * repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS * CodeCommit for SSH Connections in the AWS CodeCommit User Guide. *

*

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

*
*

* This is a variant of * {@link #listSSHPublicKeys(software.amazon.awssdk.services.iam.model.ListSshPublicKeysRequest)} operation. The * return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListSSHPublicKeysPublisher publisher = client.listSSHPublicKeysPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListSSHPublicKeysPublisher publisher = client.listSSHPublicKeysPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListSshPublicKeysResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listSSHPublicKeys(software.amazon.awssdk.services.iam.model.ListSshPublicKeysRequest)} operation. *

* * @param listSshPublicKeysRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListSSHPublicKeys * @see AWS API * Documentation */ public ListSSHPublicKeysPublisher listSSHPublicKeysPaginator(ListSshPublicKeysRequest listSshPublicKeysRequest) { return new ListSSHPublicKeysPublisher(this, applyPaginatorUserAgent(listSshPublicKeysRequest)); } /** *

* Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the operation * returns an empty list. *

*

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

*

* For more information about working with server certificates, see Working with Server * Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the * server certificates that you manage with IAM. *

* * @param listServerCertificatesRequest * @return A Java Future containing the result of the ListServerCertificates operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListServerCertificates * @see AWS API * Documentation */ @Override public CompletableFuture listServerCertificates( ListServerCertificatesRequest listServerCertificatesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListServerCertificatesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListServerCertificates") .withMarshaller(new ListServerCertificatesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listServerCertificatesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the operation * returns an empty list. *

*

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

*

* For more information about working with server certificates, see Working with Server * Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the * server certificates that you manage with IAM. *

*
*

* This is a variant of * {@link #listServerCertificates(software.amazon.awssdk.services.iam.model.ListServerCertificatesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListServerCertificatesPublisher publisher = client.listServerCertificatesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListServerCertificatesPublisher publisher = client.listServerCertificatesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListServerCertificatesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listServerCertificates(software.amazon.awssdk.services.iam.model.ListServerCertificatesRequest)} * operation. *

* * @param listServerCertificatesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListServerCertificates * @see AWS API * Documentation */ public ListServerCertificatesPublisher listServerCertificatesPaginator( ListServerCertificatesRequest listServerCertificatesRequest) { return new ListServerCertificatesPublisher(this, applyPaginatorUserAgent(listServerCertificatesRequest)); } /** *

* Returns information about the service-specific credentials associated with the specified IAM user. If none * exists, the operation returns an empty list. The service-specific credentials returned by this operation are used * only for authenticating the IAM user to a specific service. For more information about using service-specific * credentials to authenticate to an AWS service, see Set Up service-specific * credentials in the AWS CodeCommit User Guide. *

* * @param listServiceSpecificCredentialsRequest * @return A Java Future containing the result of the ListServiceSpecificCredentials operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceNotSupportedException The specified service does not support service-specific credentials.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListServiceSpecificCredentials * @see AWS API Documentation */ @Override public CompletableFuture listServiceSpecificCredentials( ListServiceSpecificCredentialsRequest listServiceSpecificCredentialsRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListServiceSpecificCredentialsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListServiceSpecificCredentials") .withMarshaller(new ListServiceSpecificCredentialsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listServiceSpecificCredentialsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about the signing certificates associated with the specified IAM user. If none exists, the * operation 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 for this API. This operation works for access keys under the AWS account. * Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has * no associated users. *

* * @param listSigningCertificatesRequest * @return A Java Future containing the result of the ListSigningCertificates operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListSigningCertificates * @see AWS * API Documentation */ @Override public CompletableFuture listSigningCertificates( ListSigningCertificatesRequest listSigningCertificatesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListSigningCertificatesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSigningCertificates") .withMarshaller(new ListSigningCertificatesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listSigningCertificatesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Returns information about the signing certificates associated with the specified IAM user. If none exists, the * operation 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 for this API. This operation works for access keys under the AWS account. * Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has * no associated users. *

*
*

* This is a variant of * {@link #listSigningCertificates(software.amazon.awssdk.services.iam.model.ListSigningCertificatesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListSigningCertificatesPublisher publisher = client.listSigningCertificatesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListSigningCertificatesPublisher publisher = client.listSigningCertificatesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListSigningCertificatesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listSigningCertificates(software.amazon.awssdk.services.iam.model.ListSigningCertificatesRequest)} * operation. *

* * @param listSigningCertificatesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListSigningCertificates * @see AWS * API Documentation */ public ListSigningCertificatesPublisher listSigningCertificatesPaginator( ListSigningCertificatesRequest listSigningCertificatesRequest) { return new ListSigningCertificatesPublisher(this, applyPaginatorUserAgent(listSigningCertificatesRequest)); } /** *

* Lists the names of the inline policies embedded in the specified IAM user. *

*

* An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a * user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. If there are no * inline policies embedded with the specified user, the operation returns an empty list. *

* * @param listUserPoliciesRequest * @return A Java Future containing the result of the ListUserPolicies operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListUserPolicies * @see AWS API * Documentation */ @Override public CompletableFuture listUserPolicies(ListUserPoliciesRequest listUserPoliciesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListUserPoliciesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListUserPolicies") .withMarshaller(new ListUserPoliciesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listUserPoliciesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the names of the inline policies embedded in the specified IAM user. *

*

* An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a * user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

*

* You can paginate the results using the MaxItems and Marker parameters. If there are no * inline policies embedded with the specified user, the operation returns an empty list. *

*
*

* This is a variant of {@link #listUserPolicies(software.amazon.awssdk.services.iam.model.ListUserPoliciesRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListUserPoliciesPublisher publisher = client.listUserPoliciesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListUserPoliciesPublisher publisher = client.listUserPoliciesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListUserPoliciesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listUserPolicies(software.amazon.awssdk.services.iam.model.ListUserPoliciesRequest)} operation. *

* * @param listUserPoliciesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListUserPolicies * @see AWS API * Documentation */ public ListUserPoliciesPublisher listUserPoliciesPaginator(ListUserPoliciesRequest listUserPoliciesRequest) { return new ListUserPoliciesPublisher(this, applyPaginatorUserAgent(listUserPoliciesRequest)); } /** *

* Lists the tags that are attached to the specified user. The returned list of tags is sorted by tag key. For more * information about tagging, see Tagging * IAM Identities in the IAM User Guide. *

* * @param listUserTagsRequest * @return A Java Future containing the result of the ListUserTags operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListUserTags * @see AWS API * Documentation */ @Override public CompletableFuture listUserTags(ListUserTagsRequest listUserTagsRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListUserTagsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListUserTags").withMarshaller(new ListUserTagsRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listUserTagsRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the IAM users that have the specified path prefix. If no path prefix is specified, the operation returns * all users in the AWS account. If there are none, the operation returns an empty list. *

*

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

* * @param listUsersRequest * @return A Java Future containing the result of the ListUsers operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListUsers * @see AWS API * Documentation */ @Override public CompletableFuture listUsers(ListUsersRequest listUsersRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListUsersResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("ListUsers") .withMarshaller(new ListUsersRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listUsersRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the IAM users that have the specified path prefix. If no path prefix is specified, the operation returns * all users in the AWS account. If there are none, the operation returns an empty list. *

*

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

*
*

* This is a variant of {@link #listUsers(software.amazon.awssdk.services.iam.model.ListUsersRequest)} operation. * The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListUsersPublisher publisher = client.listUsersPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListUsersPublisher publisher = client.listUsersPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListUsersResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listUsers(software.amazon.awssdk.services.iam.model.ListUsersRequest)} operation. *

* * @param listUsersRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListUsers * @see AWS API * Documentation */ public ListUsersPublisher listUsersPaginator(ListUsersRequest listUsersRequest) { return new ListUsersPublisher(this, applyPaginatorUserAgent(listUsersRequest)); } /** *

* Lists the virtual MFA devices defined in the AWS account by assignment status. If you do not specify an * assignment status, the operation 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 * @return A Java Future containing the result of the ListVirtualMFADevices operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListVirtualMFADevices * @see AWS API * Documentation */ @Override public CompletableFuture listVirtualMFADevices( ListVirtualMfaDevicesRequest listVirtualMfaDevicesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListVirtualMfaDevicesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ListVirtualMFADevices") .withMarshaller(new ListVirtualMfaDevicesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listVirtualMfaDevicesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Lists the virtual MFA devices defined in the AWS account by assignment status. If you do not specify an * assignment status, the operation 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. *

*
*

* This is a variant of * {@link #listVirtualMFADevices(software.amazon.awssdk.services.iam.model.ListVirtualMfaDevicesRequest)} operation. * The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListVirtualMFADevicesPublisher publisher = client.listVirtualMFADevicesPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.ListVirtualMFADevicesPublisher publisher = client.listVirtualMFADevicesPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.ListVirtualMfaDevicesResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #listVirtualMFADevices(software.amazon.awssdk.services.iam.model.ListVirtualMfaDevicesRequest)} * operation. *

* * @param listVirtualMfaDevicesRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ListVirtualMFADevices * @see AWS API * Documentation */ public ListVirtualMFADevicesPublisher listVirtualMFADevicesPaginator(ListVirtualMfaDevicesRequest listVirtualMfaDevicesRequest) { return new ListVirtualMFADevicesPublisher(this, applyPaginatorUserAgent(listVirtualMfaDevicesRequest)); } /** *

* Adds or updates an inline policy document that is embedded in the specified IAM group. *

*

* A user can also have managed policies attached to it. To attach a managed policy to a group, use * AttachGroupPolicy. To create a new managed policy, use CreatePolicy. For information about * policies, see Managed * Policies and Inline Policies in the IAM User Guide. *

*

* For information about limits on the number of inline policies that you can embed in a group, see Limitations on IAM * Entities in the IAM User Guide. *

* *

* Because policy documents can be large, you should use POST rather than GET when calling * PutGroupPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the * IAM User Guide. *

*
* * @param putGroupPolicyRequest * @return A Java Future containing the result of the PutGroupPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • MalformedPolicyDocumentException The request was rejected because the policy document was malformed. * The error message describes the specific error.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.PutGroupPolicy * @see AWS API * Documentation */ @Override public CompletableFuture putGroupPolicy(PutGroupPolicyRequest putGroupPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(PutGroupPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutGroupPolicy") .withMarshaller(new PutGroupPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(putGroupPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds or updates the policy that is specified as the IAM role's permissions boundary. You can use an AWS managed * policy or a customer managed policy to set the boundary for a role. Use the boundary to control the maximum * permissions that the role can have. Setting a permissions boundary is an advanced feature that can affect the * permissions for the role. *

*

* You cannot set the boundary for a service-linked role. *

* *

* Policies used as permissions boundaries do not provide permissions. You must also attach a permissions policy to * the role. To learn how the effective permissions for a role are evaluated, see IAM JSON Policy * Evaluation Logic in the IAM User Guide. *

*
* * @param putRolePermissionsBoundaryRequest * @return A Java Future containing the result of the PutRolePermissionsBoundary operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • PolicyNotAttachableException The request failed because AWS service role policies can only be * attached to the service-linked role for that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.PutRolePermissionsBoundary * @see AWS * API Documentation */ @Override public CompletableFuture putRolePermissionsBoundary( PutRolePermissionsBoundaryRequest putRolePermissionsBoundaryRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(PutRolePermissionsBoundaryResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutRolePermissionsBoundary") .withMarshaller(new PutRolePermissionsBoundaryRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(putRolePermissionsBoundaryRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds or updates an inline policy document that is embedded in the specified IAM role. *

*

* When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) * policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update * a role's trust policy using UpdateAssumeRolePolicy. For more information about IAM roles, go to Using Roles to Delegate Permissions * and Federate Identities. *

*

* A role can also have a managed policy attached to it. To attach a managed policy to a role, use * AttachRolePolicy. To create a new managed policy, use CreatePolicy. For information about policies, * see Managed Policies * and Inline Policies in the IAM User Guide. *

*

* For information about limits on the number of inline policies that you can embed with a role, see Limitations on IAM * Entities in the IAM User Guide. *

* *

* Because policy documents can be large, you should use POST rather than GET when calling * PutRolePolicy. For general information about using the Query API with IAM, go to Making Query Requests in the * IAM User Guide. *

*
* * @param putRolePolicyRequest * @return A Java Future containing the result of the PutRolePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • MalformedPolicyDocumentException The request was rejected because the policy document was malformed. * The error message describes the specific error.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.PutRolePolicy * @see AWS API * Documentation */ @Override public CompletableFuture putRolePolicy(PutRolePolicyRequest putRolePolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(PutRolePolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutRolePolicy") .withMarshaller(new PutRolePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(putRolePolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds or updates the policy that is specified as the IAM user's permissions boundary. You can use an AWS managed * policy or a customer managed policy to set the boundary for a user. Use the boundary to control the maximum * permissions that the user can have. Setting a permissions boundary is an advanced feature that can affect the * permissions for the user. *

* *

* Policies that are used as permissions boundaries do not provide permissions. You must also attach a permissions * policy to the user. To learn how the effective permissions for a user are evaluated, see IAM JSON Policy * Evaluation Logic in the IAM User Guide. *

*
* * @param putUserPermissionsBoundaryRequest * @return A Java Future containing the result of the PutUserPermissionsBoundary operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • PolicyNotAttachableException The request failed because AWS service role policies can only be * attached to the service-linked role for that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.PutUserPermissionsBoundary * @see AWS * API Documentation */ @Override public CompletableFuture putUserPermissionsBoundary( PutUserPermissionsBoundaryRequest putUserPermissionsBoundaryRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(PutUserPermissionsBoundaryResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutUserPermissionsBoundary") .withMarshaller(new PutUserPermissionsBoundaryRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(putUserPermissionsBoundaryRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds or updates an inline policy document that is embedded in the specified IAM user. *

*

* An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use * AttachUserPolicy. To create a new managed policy, use CreatePolicy. For information about policies, * see Managed Policies * and Inline Policies in the IAM User Guide. *

*

* For information about limits on the number of inline policies that you can embed in a user, see Limitations on IAM * Entities in the IAM User Guide. *

* *

* Because policy documents can be large, you should use POST rather than GET when calling * PutUserPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the * IAM User Guide. *

*
* * @param putUserPolicyRequest * @return A Java Future containing the result of the PutUserPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • MalformedPolicyDocumentException The request was rejected because the policy document was malformed. * The error message describes the specific error.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.PutUserPolicy * @see AWS API * Documentation */ @Override public CompletableFuture putUserPolicy(PutUserPolicyRequest putUserPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(PutUserPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("PutUserPolicy") .withMarshaller(new PutUserPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(putUserPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes the specified client ID (also known as audience) from the list of client IDs registered for the specified * IAM OpenID Connect (OIDC) provider resource object. *

*

* This operation is idempotent; it does not fail or return an error if you try to remove a client ID that does not * exist. *

* * @param removeClientIdFromOpenIdConnectProviderRequest * @return A Java Future containing the result of the RemoveClientIDFromOpenIDConnectProvider operation returned by * the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.RemoveClientIDFromOpenIDConnectProvider * @see AWS API Documentation */ @Override public CompletableFuture removeClientIDFromOpenIDConnectProvider( RemoveClientIdFromOpenIdConnectProviderRequest removeClientIdFromOpenIdConnectProviderRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RemoveClientIDFromOpenIDConnectProviderResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveClientIDFromOpenIDConnectProvider") .withMarshaller(new RemoveClientIdFromOpenIdConnectProviderRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(removeClientIdFromOpenIdConnectProviderRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* *

* Make sure that 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 might break * any applications running on the instance. *

*
*

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

* * @param removeRoleFromInstanceProfileRequest * @return A Java Future containing the result of the RemoveRoleFromInstanceProfile operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.RemoveRoleFromInstanceProfile * @see AWS API Documentation */ @Override public CompletableFuture removeRoleFromInstanceProfile( RemoveRoleFromInstanceProfileRequest removeRoleFromInstanceProfileRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RemoveRoleFromInstanceProfileResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveRoleFromInstanceProfile") .withMarshaller(new RemoveRoleFromInstanceProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(removeRoleFromInstanceProfileRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes the specified user from the specified group. *

* * @param removeUserFromGroupRequest * @return A Java Future containing the result of the RemoveUserFromGroup operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.RemoveUserFromGroup * @see AWS API * Documentation */ @Override public CompletableFuture removeUserFromGroup( RemoveUserFromGroupRequest removeUserFromGroupRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(RemoveUserFromGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveUserFromGroup") .withMarshaller(new RemoveUserFromGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(removeUserFromGroupRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Resets the password for a service-specific credential. The new password is AWS generated and cryptographically * strong. It cannot be configured by the user. Resetting the password immediately invalidates the previous password * associated with this user. *

* * @param resetServiceSpecificCredentialRequest * @return A Java Future containing the result of the ResetServiceSpecificCredential operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ResetServiceSpecificCredential * @see AWS API Documentation */ @Override public CompletableFuture resetServiceSpecificCredential( ResetServiceSpecificCredentialRequest resetServiceSpecificCredentialRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ResetServiceSpecificCredentialResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ResetServiceSpecificCredential") .withMarshaller(new ResetServiceSpecificCredentialRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(resetServiceSpecificCredentialRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Synchronizes the specified MFA device with its IAM resource object on the AWS servers. *

*

* For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in * the IAM User Guide. *

* * @param resyncMfaDeviceRequest * @return A Java Future containing the result of the ResyncMFADevice operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidAuthenticationCodeException The request was rejected because the authentication code was not * recognized. The error message describes the specific error.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.ResyncMFADevice * @see AWS API * Documentation */ @Override public CompletableFuture resyncMFADevice(ResyncMfaDeviceRequest resyncMfaDeviceRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ResyncMFADeviceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("ResyncMFADevice") .withMarshaller(new ResyncMfaDeviceRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(resyncMfaDeviceRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Sets the specified version of the specified policy as the policy's default (operative) version. *

*

* This operation affects all users, groups, and roles that the policy is attached to. To list the users, groups, * and roles that the policy is attached to, use the ListEntitiesForPolicy API. *

*

* For information about managed policies, see Managed Policies and * Inline Policies in the IAM User Guide. *

* * @param setDefaultPolicyVersionRequest * @return A Java Future containing the result of the SetDefaultPolicyVersion operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.SetDefaultPolicyVersion * @see AWS * API Documentation */ @Override public CompletableFuture setDefaultPolicyVersion( SetDefaultPolicyVersionRequest setDefaultPolicyVersionRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(SetDefaultPolicyVersionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("SetDefaultPolicyVersion") .withMarshaller(new SetDefaultPolicyVersionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(setDefaultPolicyVersionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Sets the specified version of the global endpoint token as the token version used for the AWS account. *

*

* By default, AWS Security Token Service (STS) is available as a global service, and all STS requests go to a * single endpoint at https://sts.amazonaws.com. AWS recommends using Regional STS endpoints to reduce * latency, build in redundancy, and increase session token availability. For information about Regional endpoints * for STS, see AWS Regions and * Endpoints in the AWS General Reference. *

*

* If you make an STS call to the global endpoint, the resulting session tokens might be valid in some Regions but * not others. It depends on the version that is set in this operation. Version 1 tokens are valid only in AWS * Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific * (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect * systems where you temporarily store tokens. For information, see Activating and * Deactivating STS in an AWS Region in the IAM User Guide. *

*

* To view the current session token version, see the GlobalEndpointTokenVersion entry in the response * of the GetAccountSummary operation. *

* * @param setSecurityTokenServicePreferencesRequest * @return A Java Future containing the result of the SetSecurityTokenServicePreferences operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.SetSecurityTokenServicePreferences * @see AWS API Documentation */ @Override public CompletableFuture setSecurityTokenServicePreferences( SetSecurityTokenServicePreferencesRequest setSecurityTokenServicePreferencesRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(SetSecurityTokenServicePreferencesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("SetSecurityTokenServicePreferences") .withMarshaller(new SetSecurityTokenServicePreferencesRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(setSecurityTokenServicePreferencesRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Simulate how a set of IAM policies and optionally a resource-based policy works with a list of API operations and * AWS resources to determine the policies' effective permissions. The policies are provided as strings. *

*

* The simulation does not perform the API operations; it only checks the authorization to determine if the * simulated policies allow or deny the operations. *

*

* If you want to simulate existing policies attached to an IAM user, group, or role, use * SimulatePrincipalPolicy instead. *

*

* Context keys are variables maintained by AWS and its services that provide details about the context of an API * query request. You can use the Condition element of an IAM policy to evaluate context keys. To get * the list of context keys that the policies require for correct simulation, use * GetContextKeysForCustomPolicy. *

*

* If the output is long, you can use MaxItems and Marker parameters to paginate the * results. *

* * @param simulateCustomPolicyRequest * @return A Java Future containing the result of the SimulateCustomPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • PolicyEvaluationException The request failed because a provided policy could not be successfully * evaluated. An additional detailed message indicates the source of the failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.SimulateCustomPolicy * @see AWS API * Documentation */ @Override public CompletableFuture simulateCustomPolicy( SimulateCustomPolicyRequest simulateCustomPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(SimulateCustomPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("SimulateCustomPolicy") .withMarshaller(new SimulateCustomPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(simulateCustomPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Simulate how a set of IAM policies and optionally a resource-based policy works with a list of API operations and * AWS resources to determine the policies' effective permissions. The policies are provided as strings. *

*

* The simulation does not perform the API operations; it only checks the authorization to determine if the * simulated policies allow or deny the operations. *

*

* If you want to simulate existing policies attached to an IAM user, group, or role, use * SimulatePrincipalPolicy instead. *

*

* Context keys are variables maintained by AWS and its services that provide details about the context of an API * query request. You can use the Condition element of an IAM policy to evaluate context keys. To get * the list of context keys that the policies require for correct simulation, use * GetContextKeysForCustomPolicy. *

*

* If the output is long, you can use MaxItems and Marker parameters to paginate the * results. *

*
*

* This is a variant of * {@link #simulateCustomPolicy(software.amazon.awssdk.services.iam.model.SimulateCustomPolicyRequest)} operation. * The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will * internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.SimulateCustomPolicyPublisher publisher = client.simulateCustomPolicyPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.SimulateCustomPolicyPublisher publisher = client.simulateCustomPolicyPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.SimulateCustomPolicyResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #simulateCustomPolicy(software.amazon.awssdk.services.iam.model.SimulateCustomPolicyRequest)} * operation. *

* * @param simulateCustomPolicyRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • PolicyEvaluationException The request failed because a provided policy could not be successfully * evaluated. An additional detailed message indicates the source of the failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.SimulateCustomPolicy * @see AWS API * Documentation */ public SimulateCustomPolicyPublisher simulateCustomPolicyPaginator(SimulateCustomPolicyRequest simulateCustomPolicyRequest) { return new SimulateCustomPolicyPublisher(this, applyPaginatorUserAgent(simulateCustomPolicyRequest)); } /** *

* Simulate how a set of IAM policies attached to an IAM entity works with a list of API operations and AWS * resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you * specify a user, then the simulation also includes all of the policies that are attached to groups that the user * belongs to. *

*

* You can optionally include a list of one or more additional policies specified as strings to include in the * simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead. *

*

* You can also optionally include one resource-based policy to be evaluated with each of the resources included in * the simulation. *

*

* The simulation does not perform the API operations; it only checks the authorization to determine if the * simulated policies allow or deny the operations. *

*

* Note: This API discloses information about the permissions granted to other users. If you do not want * users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead. *

*

* Context keys are variables maintained by AWS and its services that provide details about the context of an API * query request. You can use the Condition element of an IAM policy to evaluate context keys. To get * the list of context keys that the policies require for correct simulation, use * GetContextKeysForPrincipalPolicy. *

*

* If the output is long, you can use the MaxItems and Marker parameters to paginate the * results. *

* * @param simulatePrincipalPolicyRequest * @return A Java Future containing the result of the SimulatePrincipalPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • PolicyEvaluationException The request failed because a provided policy could not be successfully * evaluated. An additional detailed message indicates the source of the failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.SimulatePrincipalPolicy * @see AWS * API Documentation */ @Override public CompletableFuture simulatePrincipalPolicy( SimulatePrincipalPolicyRequest simulatePrincipalPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(SimulatePrincipalPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("SimulatePrincipalPolicy") .withMarshaller(new SimulatePrincipalPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(simulatePrincipalPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Simulate how a set of IAM policies attached to an IAM entity works with a list of API operations and AWS * resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you * specify a user, then the simulation also includes all of the policies that are attached to groups that the user * belongs to. *

*

* You can optionally include a list of one or more additional policies specified as strings to include in the * simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead. *

*

* You can also optionally include one resource-based policy to be evaluated with each of the resources included in * the simulation. *

*

* The simulation does not perform the API operations; it only checks the authorization to determine if the * simulated policies allow or deny the operations. *

*

* Note: This API discloses information about the permissions granted to other users. If you do not want * users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead. *

*

* Context keys are variables maintained by AWS and its services that provide details about the context of an API * query request. You can use the Condition element of an IAM policy to evaluate context keys. To get * the list of context keys that the policies require for correct simulation, use * GetContextKeysForPrincipalPolicy. *

*

* If the output is long, you can use the MaxItems and Marker parameters to paginate the * results. *

*
*

* This is a variant of * {@link #simulatePrincipalPolicy(software.amazon.awssdk.services.iam.model.SimulatePrincipalPolicyRequest)} * operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. * SDK will internally handle making service calls for you. *

*

* When the operation is called, an instance of this class is returned. At this point, no service calls are made yet * and so there is no guarantee that the request is valid. If there are errors in your request, you will see the * failures only after you start streaming the data. The subscribe method should be called as a request to start * streaming data. For more info, see * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the subscribe helper method * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.SimulatePrincipalPolicyPublisher publisher = client.simulatePrincipalPolicyPaginator(request);
     * CompletableFuture future = publisher.subscribe(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.iam.paginators.SimulatePrincipalPolicyPublisher publisher = client.simulatePrincipalPolicyPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.iam.model.SimulatePrincipalPolicyResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #simulatePrincipalPolicy(software.amazon.awssdk.services.iam.model.SimulatePrincipalPolicyRequest)} * operation. *

* * @param simulatePrincipalPolicyRequest * @return A custom publisher that can be subscribed to request a stream of response pages.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • PolicyEvaluationException The request failed because a provided policy could not be successfully * evaluated. An additional detailed message indicates the source of the failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.SimulatePrincipalPolicy * @see AWS * API Documentation */ public SimulatePrincipalPolicyPublisher simulatePrincipalPolicyPaginator( SimulatePrincipalPolicyRequest simulatePrincipalPolicyRequest) { return new SimulatePrincipalPolicyPublisher(this, applyPaginatorUserAgent(simulatePrincipalPolicyRequest)); } /** *

* Adds one or more tags to an IAM role. The role can be a regular role or a service-linked role. If a tag with the * same key name already exists, then that tag is overwritten with the new value. *

*

* A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the * following: *

*
    *
  • *

    * Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For * example, you could search for all resources with the key name Project and the value * MyImportantProject. Or search for all resources with the key name Cost Center and the value * 41200. *

    *
  • *
  • *

    * Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to * restrict access to only an IAM user or role that has a specified tag attached. You can also restrict access to * only those resources that have a certain tag attached. For examples of policies that show how to use tags to * control access, see Control Access * Using IAM Tags in the IAM User Guide. *

    *
  • *
  • *

    * Cost allocation - Use tags to help track which individuals and teams are using which AWS resources. *

    *
  • *
* *
    *
  • *

    * Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either * case, the entire request fails and no tags are added to the role. *

    *
  • *
  • *

    * AWS always interprets the tag Value as a single string. If you need to store an array, you can store * comma-separated values in the string. However, you must interpret the value in your code. *

    *
  • *
*
*

* For more information about tagging, see Tagging IAM Identities in the IAM * User Guide. *

* * @param tagRoleRequest * @return A Java Future containing the result of the TagRole operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ConcurrentModificationException The request was rejected because multiple requests to change this * object were submitted simultaneously. Wait a few minutes and submit your request again.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.TagRole * @see AWS API * Documentation */ @Override public CompletableFuture tagRole(TagRoleRequest tagRoleRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(TagRoleResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("TagRole") .withMarshaller(new TagRoleRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(tagRoleRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Adds one or more tags to an IAM user. If a tag with the same key name already exists, then that tag is * overwritten with the new value. *

*

* A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the * following: *

*
    *
  • *

    * Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For * example, you could search for all resources with the key name Project and the value * MyImportantProject. Or search for all resources with the key name Cost Center and the value * 41200. *

    *
  • *
  • *

    * Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to * restrict access to only an IAM requesting user or to a role that has a specified tag attached. You can also * restrict access to only those resources that have a certain tag attached. For examples of policies that show how * to use tags to control access, see Control Access Using IAM Tags in the * IAM User Guide. *

    *
  • *
  • *

    * Cost allocation - Use tags to help track which individuals and teams are using which AWS resources. *

    *
  • *
* *
    *
  • *

    * Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either * case, the entire request fails and no tags are added to the role. *

    *
  • *
  • *

    * AWS always interprets the tag Value as a single string. If you need to store an array, you can store * comma-separated values in the string. However, you must interpret the value in your code. *

    *
  • *
*
*

* For more information about tagging, see Tagging IAM Identities in the IAM * User Guide. *

* * @param tagUserRequest * @return A Java Future containing the result of the TagUser operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • ConcurrentModificationException The request was rejected because multiple requests to change this * object were submitted simultaneously. Wait a few minutes and submit your request again.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.TagUser * @see AWS API * Documentation */ @Override public CompletableFuture tagUser(TagUserRequest tagUserRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(TagUserResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("TagUser") .withMarshaller(new TagUserRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(tagUserRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes the specified tags from the role. For more information about tagging, see Tagging IAM Identities in the IAM * User Guide. *

* * @param untagRoleRequest * @return A Java Future containing the result of the UntagRole operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ConcurrentModificationException The request was rejected because multiple requests to change this * object were submitted simultaneously. Wait a few minutes and submit your request again.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UntagRole * @see AWS API * Documentation */ @Override public CompletableFuture untagRole(UntagRoleRequest untagRoleRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UntagRoleResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("UntagRole") .withMarshaller(new UntagRoleRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(untagRoleRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Removes the specified tags from the user. For more information about tagging, see Tagging IAM Identities in the IAM * User Guide. *

* * @param untagUserRequest * @return A Java Future containing the result of the UntagUser operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ConcurrentModificationException The request was rejected because multiple requests to change this * object were submitted simultaneously. Wait a few minutes and submit your request again.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UntagUser * @see AWS API * Documentation */ @Override public CompletableFuture untagUser(UntagUserRequest untagUserRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UntagUserResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("UntagUser") .withMarshaller(new UntagUserRequestMarshaller(protocolFactory)).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(untagUserRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

*

* If the UserName is not specified, the user name is determined implicitly based on the AWS access key * ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can * use this operation to manage AWS account root user credentials even if the AWS account has no associated users. *

*

* For information about rotating keys, see Managing Keys and * Certificates in the IAM User Guide. *

* * @param updateAccessKeyRequest * @return A Java Future containing the result of the UpdateAccessKey operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateAccessKey * @see AWS API * Documentation */ @Override public CompletableFuture updateAccessKey(UpdateAccessKeyRequest updateAccessKeyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateAccessKeyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateAccessKey") .withMarshaller(new UpdateAccessKeyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateAccessKeyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the password policy settings for the AWS account. *

* *
    *
  • *

    * This operation does not support partial updates. No parameters are required, but if you do not specify a * parameter, that parameter's value reverts to its default value. See the Request Parameters section for * each parameter's default value. Also note that some parameters do not allow the default parameter to be * explicitly set. Instead, to invoke the default value, do not include that parameter when you invoke the * operation. *

    *
  • *
*
*

* For more information about using a password policy, see Managing an IAM * Password Policy in the IAM User Guide. *

* * @param updateAccountPasswordPolicyRequest * @return A Java Future containing the result of the UpdateAccountPasswordPolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • MalformedPolicyDocumentException The request was rejected because the policy document was malformed. * The error message describes the specific error.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateAccountPasswordPolicy * @see AWS API Documentation */ @Override public CompletableFuture updateAccountPasswordPolicy( UpdateAccountPasswordPolicyRequest updateAccountPasswordPolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateAccountPasswordPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateAccountPasswordPolicy") .withMarshaller(new UpdateAccountPasswordPolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateAccountPasswordPolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the policy that grants an IAM entity permission to assume a role. This is typically referred to as the * "role trust policy". For more information about roles, go to Using Roles to Delegate Permissions * and Federate Identities. *

* * @param updateAssumeRolePolicyRequest * @return A Java Future containing the result of the UpdateAssumeRolePolicy operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • MalformedPolicyDocumentException The request was rejected because the policy document was malformed. * The error message describes the specific error.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateAssumeRolePolicy * @see AWS API * Documentation */ @Override public CompletableFuture updateAssumeRolePolicy( UpdateAssumeRolePolicyRequest updateAssumeRolePolicyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateAssumeRolePolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateAssumeRolePolicy") .withMarshaller(new UpdateAssumeRolePolicyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateAssumeRolePolicyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* *

* You should understand the implications of changing a group's path or name. For more information, see Renaming Users and * Groups in the IAM User Guide. *

*
*

* The person making the request (the principal), must have permission to change the role group with the old name * and the new name. For example, to change the group named Managers to MGRs, the * principal must have a policy that allows them to update both groups. If the principal has permission to update * the Managers group, but not the MGRs group, then the update fails. For more information * about permissions, see Access * Management. *

*
* * @param updateGroupRequest * @return A Java Future containing the result of the UpdateGroup operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateGroup * @see AWS API * Documentation */ @Override public CompletableFuture updateGroup(UpdateGroupRequest updateGroupRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateGroupResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateGroup").withMarshaller(new UpdateGroupRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateGroupRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Changes the password for the specified IAM user. *

*

* IAM users can change their own passwords by calling ChangePassword. For more information about modifying * passwords, see Managing * Passwords in the IAM User Guide. *

* * @param updateLoginProfileRequest * @return A Java Future containing the result of the UpdateLoginProfile operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • EntityTemporarilyUnmodifiableException The request was rejected because it referenced an entity that * is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates * that the request is likely to succeed if you try again after waiting several minutes. The error message * describes the entity.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • PasswordPolicyViolationException The request was rejected because the provided password did not meet * the requirements imposed by the account password policy.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateLoginProfile * @see AWS API * Documentation */ @Override public CompletableFuture updateLoginProfile(UpdateLoginProfileRequest updateLoginProfileRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateLoginProfileResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateLoginProfile") .withMarshaller(new UpdateLoginProfileRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateLoginProfileRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider * resource object with a new list of thumbprints. *

*

* The list that you pass with this operation completely replaces the existing list of thumbprints. (The lists are * not merged.) *

*

* Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs * rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that * specifies the OIDC provider as a principal fails until the certificate thumbprint is updated. *

* *

* Trust for the OIDC provider is derived from the provider's certificate and is validated by the thumbprint. * Therefore, it is best to limit access to the UpdateOpenIDConnectProviderThumbprint operation to * highly privileged users. *

*
* * @param updateOpenIdConnectProviderThumbprintRequest * @return A Java Future containing the result of the UpdateOpenIDConnectProviderThumbprint operation returned by * the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateOpenIDConnectProviderThumbprint * @see AWS API Documentation */ @Override public CompletableFuture updateOpenIDConnectProviderThumbprint( UpdateOpenIdConnectProviderThumbprintRequest updateOpenIdConnectProviderThumbprintRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateOpenIDConnectProviderThumbprintResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateOpenIDConnectProviderThumbprint") .withMarshaller(new UpdateOpenIdConnectProviderThumbprintRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateOpenIdConnectProviderThumbprintRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Updates the description or maximum session duration setting of a role. *

* * @param updateRoleRequest * @return A Java Future containing the result of the UpdateRole operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateRole * @see AWS API * Documentation */ @Override public CompletableFuture updateRole(UpdateRoleRequest updateRoleRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateRoleResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("UpdateRole") .withMarshaller(new UpdateRoleRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateRoleRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Use UpdateRole instead. *

*

* Modifies only the description of a role. This operation performs the same function as the * Description parameter in the UpdateRole operation. *

* * @param updateRoleDescriptionRequest * @return A Java Future containing the result of the UpdateRoleDescription operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • UnmodifiableEntityException The request was rejected because only the service that depends on the * service-linked role can modify or delete the role on your behalf. The error message includes the name of * the service that depends on this service-linked role. You must request the change through that service.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateRoleDescription * @see AWS API * Documentation */ @Override public CompletableFuture updateRoleDescription( UpdateRoleDescriptionRequest updateRoleDescriptionRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateRoleDescriptionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateRoleDescription") .withMarshaller(new UpdateRoleDescriptionRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateRoleDescriptionRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* *

* This operation requires Signature Version 4. *

*
* * @param updateSamlProviderRequest * @return A Java Future containing the result of the UpdateSAMLProvider operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidInputException The request was rejected because an invalid or out-of-range value was supplied * for an input parameter.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateSAMLProvider * @see AWS API * Documentation */ @Override public CompletableFuture updateSAMLProvider(UpdateSamlProviderRequest updateSamlProviderRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateSamlProviderResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateSAMLProvider") .withMarshaller(new UpdateSamlProviderRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateSamlProviderRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Sets the status of an IAM user's SSH public key to active or inactive. SSH public keys that are inactive cannot * be used for authentication. This operation can be used to disable a user's SSH public key as part of a key * rotation work flow. *

*

* The SSH public key affected by this operation is used only for authenticating the associated IAM user to an AWS * CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, * see Set up AWS * CodeCommit for SSH Connections in the AWS CodeCommit User Guide. *

* * @param updateSshPublicKeyRequest * @return A Java Future containing the result of the UpdateSSHPublicKey operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateSSHPublicKey * @see AWS API * Documentation */ @Override public CompletableFuture updateSSHPublicKey(UpdateSshPublicKeyRequest updateSshPublicKeyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateSSHPublicKeyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateSSHPublicKey") .withMarshaller(new UpdateSshPublicKeyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateSshPublicKeyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

*

* For more information about working with server certificates, see Working with Server * Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the * server certificates that you manage with IAM. *

* *

* You should understand the implications of changing a server certificate's path or name. For more information, see * Renaming a Server Certificate in the IAM User Guide. *

*
*

* The person making the request (the principal), must have permission to change the server certificate with the old * name and the new name. For example, to change the certificate named ProductionCert to * ProdCert, the principal must have a policy that allows them to update both certificates. If the * principal has permission to update the ProductionCert group, but not the ProdCert * certificate, then the update fails. For more information about permissions, see Access Management in the IAM User * Guide. *

*
* * @param updateServerCertificateRequest * @return A Java Future containing the result of the UpdateServerCertificate operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateServerCertificate * @see AWS * API Documentation */ @Override public CompletableFuture updateServerCertificate( UpdateServerCertificateRequest updateServerCertificateRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateServerCertificateResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateServerCertificate") .withMarshaller(new UpdateServerCertificateRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateServerCertificateRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Sets the status of a service-specific credential to Active or Inactive. * Service-specific credentials that are inactive cannot be used for authentication to the service. This operation * can be used to disable a user's service-specific credential as part of a credential rotation work flow. *

* * @param updateServiceSpecificCredentialRequest * @return A Java Future containing the result of the UpdateServiceSpecificCredential operation returned by the * service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateServiceSpecificCredential * @see AWS API Documentation */ @Override public CompletableFuture updateServiceSpecificCredential( UpdateServiceSpecificCredentialRequest updateServiceSpecificCredentialRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateServiceSpecificCredentialResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateServiceSpecificCredential") .withMarshaller(new UpdateServiceSpecificCredentialRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateServiceSpecificCredentialRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

*

* 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. This operation works for access keys under the AWS account. Consequently, * you can use this operation to manage AWS account root user credentials even if the AWS account has no associated * users. *

* * @param updateSigningCertificateRequest * @return A Java Future containing the result of the UpdateSigningCertificate operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateSigningCertificate * @see AWS * API Documentation */ @Override public CompletableFuture updateSigningCertificate( UpdateSigningCertificateRequest updateSigningCertificateRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateSigningCertificateResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateSigningCertificate") .withMarshaller(new UpdateSigningCertificateRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateSigningCertificateRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

* *

* You should understand the implications of changing an IAM user's path or name. For more information, see Renaming an IAM * User and Renaming an * IAM Group in the IAM User Guide. *

*
*

* 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 * @return A Java Future containing the result of the UpdateUser operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • EntityTemporarilyUnmodifiableException The request was rejected because it referenced an entity that * is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates * that the request is likely to succeed if you try again after waiting several minutes. The error message * describes the entity.
  • *
  • ConcurrentModificationException The request was rejected because multiple requests to change this * object were submitted simultaneously. Wait a few minutes and submit your request again.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UpdateUser * @see AWS API * Documentation */ @Override public CompletableFuture updateUser(UpdateUserRequest updateUserRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateUserResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams().withOperationName("UpdateUser") .withMarshaller(new UpdateUserRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateUserRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Uploads an SSH public key and associates it with the specified IAM user. *

*

* The SSH public key uploaded by this operation can be used only for authenticating the associated IAM user to an * AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit * repository, see Set up AWS * CodeCommit for SSH Connections in the AWS CodeCommit User Guide. *

* * @param uploadSshPublicKeyRequest * @return A Java Future containing the result of the UploadSSHPublicKey operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • InvalidPublicKeyException The request was rejected because the public key is malformed or otherwise * invalid.
  • *
  • DuplicateSshPublicKeyException The request was rejected because the SSH public key is already * associated with the specified IAM user.
  • *
  • UnrecognizedPublicKeyEncodingException The request was rejected because the public key encoding * format is unsupported or unrecognized.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UploadSSHPublicKey * @see AWS API * Documentation */ @Override public CompletableFuture uploadSSHPublicKey(UploadSshPublicKeyRequest uploadSshPublicKeyRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UploadSshPublicKeyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UploadSSHPublicKey") .withMarshaller(new UploadSshPublicKeyRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(uploadSshPublicKeyRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

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

*

* We recommend that you use AWS Certificate Manager to provision, * manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, * and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information * about using ACM, see the AWS Certificate Manager User * Guide. *

*

* For more information about working with server certificates, see Working with Server * Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server * certificates that you manage with IAM. *

*

* For information about the number of server certificates you can upload, see Limitations on IAM Entities and * Objects in the IAM User Guide. *

* *

* 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 Calling the API by Making HTTP Query * Requests in the IAM User Guide. *

*
* * @param uploadServerCertificateRequest * @return A Java Future containing the result of the UploadServerCertificate operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • MalformedCertificateException The request was rejected because the certificate was malformed or * expired. The error message describes the specific error.
  • *
  • KeyPairMismatchException The request was rejected because the public key certificate and the private * key do not match.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UploadServerCertificate * @see AWS * API Documentation */ @Override public CompletableFuture uploadServerCertificate( UploadServerCertificateRequest uploadServerCertificateRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UploadServerCertificateResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UploadServerCertificate") .withMarshaller(new UploadServerCertificateRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(uploadServerCertificateRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } /** *

* Uploads an X.509 signing certificate and associates it with the specified IAM 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 is not specified, the IAM user name is determined implicitly based on the AWS access * key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you * can use this operation to manage AWS account root user credentials even if the AWS account has no associated * users. *

* *

* Because the body of an 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 * the IAM User Guide. *

*
* * @param uploadSigningCertificateRequest * @return A Java Future containing the result of the UploadSigningCertificate operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • LimitExceededException The request was rejected because it attempted to create resources beyond the * current AWS account limits. The error message describes the limit exceeded.
  • *
  • EntityAlreadyExistsException The request was rejected because it attempted to create a resource that * already exists.
  • *
  • MalformedCertificateException The request was rejected because the certificate was malformed or * expired. The error message describes the specific error.
  • *
  • InvalidCertificateException The request was rejected because the certificate is invalid.
  • *
  • DuplicateCertificateException The request was rejected because the same certificate is associated * with an IAM user in the account.
  • *
  • NoSuchEntityException The request was rejected because it referenced a resource entity that does not * exist. The error message describes the resource.
  • *
  • ServiceFailureException The request processing has failed because of an unknown error, exception or * failure.
  • *
  • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). * Can be used for catch all scenarios.
  • *
  • SdkClientException If any client side error occurs such as an IO related failure, failure to get * credentials, etc.
  • *
  • IamException Base class for all service exceptions. Unknown exceptions will be thrown as an instance * of this type.
  • *
* @sample IamAsyncClient.UploadSigningCertificate * @see AWS * API Documentation */ @Override public CompletableFuture uploadSigningCertificate( UploadSigningCertificateRequest uploadSigningCertificateRequest) { try { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UploadSigningCertificateResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); CompletableFuture executeFuture = clientHandler .execute(new ClientExecutionParams() .withOperationName("UploadSigningCertificate") .withMarshaller(new UploadSigningCertificateRequestMarshaller(protocolFactory)) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(uploadSigningCertificateRequest)); return executeFuture; } catch (Throwable t) { return CompletableFutureUtils.failedFuture(t); } } @Override public void close() { clientHandler.close(); } private AwsQueryProtocolFactory init() { return AwsQueryProtocolFactory .builder() .registerModeledException( ExceptionMetadata.builder().errorCode("ConcurrentModification") .exceptionBuilderSupplier(ConcurrentModificationException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("MalformedPolicyDocument") .exceptionBuilderSupplier(MalformedPolicyDocumentException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("UnmodifiableEntity") .exceptionBuilderSupplier(UnmodifiableEntityException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DeleteConflict") .exceptionBuilderSupplier(DeleteConflictException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidCertificate") .exceptionBuilderSupplier(InvalidCertificateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PasswordPolicyViolation") .exceptionBuilderSupplier(PasswordPolicyViolationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ReportExpired") .exceptionBuilderSupplier(CredentialReportExpiredException::builder).httpStatusCode(410).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("LimitExceeded") .exceptionBuilderSupplier(LimitExceededException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidUserType") .exceptionBuilderSupplier(InvalidUserTypeException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("NoSuchEntity") .exceptionBuilderSupplier(NoSuchEntityException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EntityTemporarilyUnmodifiable") .exceptionBuilderSupplier(EntityTemporarilyUnmodifiableException::builder).httpStatusCode(409) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("NotSupportedService") .exceptionBuilderSupplier(ServiceNotSupportedException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DuplicateCertificate") .exceptionBuilderSupplier(DuplicateCertificateException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("KeyPairMismatch") .exceptionBuilderSupplier(KeyPairMismatchException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ReportInProgress") .exceptionBuilderSupplier(CredentialReportNotReadyException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EntityAlreadyExists") .exceptionBuilderSupplier(EntityAlreadyExistsException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ServiceFailure") .exceptionBuilderSupplier(ServiceFailureException::builder).httpStatusCode(500).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidPublicKey") .exceptionBuilderSupplier(InvalidPublicKeyException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DuplicateSSHPublicKey") .exceptionBuilderSupplier(DuplicateSshPublicKeyException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyEvaluation") .exceptionBuilderSupplier(PolicyEvaluationException::builder).httpStatusCode(500).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidAuthenticationCode") .exceptionBuilderSupplier(InvalidAuthenticationCodeException::builder).httpStatusCode(403) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidInput") .exceptionBuilderSupplier(InvalidInputException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ReportNotPresent") .exceptionBuilderSupplier(CredentialReportNotPresentException::builder).httpStatusCode(410) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("UnrecognizedPublicKeyEncoding") .exceptionBuilderSupplier(UnrecognizedPublicKeyEncodingException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ReportGenerationLimitExceeded") .exceptionBuilderSupplier(ReportGenerationLimitExceededException::builder).httpStatusCode(409) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PolicyNotAttachable") .exceptionBuilderSupplier(PolicyNotAttachableException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("MalformedCertificate") .exceptionBuilderSupplier(MalformedCertificateException::builder).httpStatusCode(400).build()) .clientConfiguration(clientConfiguration).defaultServiceExceptionSupplier(IamException::builder).build(); } private T applyPaginatorUserAgent(T request) { Consumer userAgentApplier = b -> b.addApiName(ApiName.builder() .version(VersionInfo.SDK_VERSION).name("PAGINATED").build()); AwsRequestOverrideConfiguration overrideConfiguration = request.overrideConfiguration() .map(c -> c.toBuilder().applyMutation(userAgentApplier).build()) .orElse((AwsRequestOverrideConfiguration.builder().applyMutation(userAgentApplier).build())); return (T) request.toBuilder().overrideConfiguration(overrideConfiguration).build(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy