Interface IamToolboxAsyncClient
- All Superinterfaces:
AutoCloseable,AwsClient,SdkAutoCloseable,SdkClient
builder() method.The asynchronous client performs non-blocking I/O when configured with any
SdkAsyncHttpClient supported in the SDK. However, full non-blocking is not guaranteed as the async client may
perform blocking calls in some cases such as credentials retrieval and endpoint discovery as part of the async API
call.
Contains APIs to work with AWS Identity and Access Management (IAM).
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringValue for looking up the service's metadata from theServiceMetadataProvider.static final String -
Method Summary
Modifier and TypeMethodDescriptionstatic IamToolboxAsyncClientBuilderbuilder()Create a builder that can be used to configure and create aIamToolboxAsyncClient.static IamToolboxAsyncClientcreate()Create aIamToolboxAsyncClientwith the region loaded from theDefaultAwsRegionProviderChainand credentials loaded from theDefaultCredentialsProvider.getRequestAuthorizationDetails(Consumer<GetRequestAuthorizationDetailsRequest.Builder> getRequestAuthorizationDetailsRequest) Retrieves the authorization details for a specific access denied request.getRequestAuthorizationDetails(GetRequestAuthorizationDetailsRequest getRequestAuthorizationDetailsRequest) Retrieves the authorization details for a specific access denied request.getRequestAuthorizationDetailsPaginator(Consumer<GetRequestAuthorizationDetailsRequest.Builder> getRequestAuthorizationDetailsRequest) This is a variant ofgetRequestAuthorizationDetails(software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsRequest)operation.getRequestAuthorizationDetailsPaginator(GetRequestAuthorizationDetailsRequest getRequestAuthorizationDetailsRequest) This is a variant ofgetRequestAuthorizationDetails(software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsRequest)operation.The SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfigurationMethods inherited from interface software.amazon.awssdk.utils.SdkAutoCloseable
closeMethods inherited from interface software.amazon.awssdk.core.SdkClient
serviceName
-
Field Details
-
SERVICE_NAME
- See Also:
-
SERVICE_METADATA_ID
Value for looking up the service's metadata from theServiceMetadataProvider.- See Also:
-
-
Method Details
-
getRequestAuthorizationDetails
default CompletableFuture<GetRequestAuthorizationDetailsResponse> getRequestAuthorizationDetails(GetRequestAuthorizationDetailsRequest getRequestAuthorizationDetailsRequest) Retrieves the authorization details for a specific access denied request. The details include the request context, the evaluations performed, and the policies that were evaluated.
Use this operation to understand why a request was denied. Supported services include an authorization ID in the access denied error message. Pass that ID to this operation to retrieve the details.
Authorization details are available for at least 24 hours after the denial.
To use this operation, you must have the
iam:GetRequestAuthorizationDetailspermission.- Parameters:
getRequestAuthorizationDetailsRequest-- Returns:
- A Java Future containing the result of the GetRequestAuthorizationDetails operation returned by the
service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- AccessDeniedException The caller does not have sufficient access to perform this action.
- ResourceNotFoundException The requested authorization details do not exist in this region or have expired. Verify that the authorization ID from the access denied error message is correct and the call is made in the region where the denial occurred. Ensure that the calling principal belongs to the same account or organization as the original denied request.
- ValidationException The request is malformed or is missing one or more required parameters. Check the request parameters and try again.
- InternalServerException An unexpected error occurred while processing the request. Try again.
- 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.
- IamToolboxException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getRequestAuthorizationDetails
default CompletableFuture<GetRequestAuthorizationDetailsResponse> getRequestAuthorizationDetails(Consumer<GetRequestAuthorizationDetailsRequest.Builder> getRequestAuthorizationDetailsRequest) Retrieves the authorization details for a specific access denied request. The details include the request context, the evaluations performed, and the policies that were evaluated.
Use this operation to understand why a request was denied. Supported services include an authorization ID in the access denied error message. Pass that ID to this operation to retrieve the details.
Authorization details are available for at least 24 hours after the denial.
To use this operation, you must have the
iam:GetRequestAuthorizationDetailspermission.
This is a convenience which creates an instance of the
GetRequestAuthorizationDetailsRequest.Builderavoiding the need to create one manually viaGetRequestAuthorizationDetailsRequest.builder()- Parameters:
getRequestAuthorizationDetailsRequest- AConsumerthat will call methods onGetRequestAuthorizationDetailsRequest.Builderto create a request.- Returns:
- A Java Future containing the result of the GetRequestAuthorizationDetails operation returned by the
service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- AccessDeniedException The caller does not have sufficient access to perform this action.
- ResourceNotFoundException The requested authorization details do not exist in this region or have expired. Verify that the authorization ID from the access denied error message is correct and the call is made in the region where the denial occurred. Ensure that the calling principal belongs to the same account or organization as the original denied request.
- ValidationException The request is malformed or is missing one or more required parameters. Check the request parameters and try again.
- InternalServerException An unexpected error occurred while processing the request. Try again.
- 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.
- IamToolboxException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getRequestAuthorizationDetailsPaginator
default GetRequestAuthorizationDetailsPublisher getRequestAuthorizationDetailsPaginator(GetRequestAuthorizationDetailsRequest getRequestAuthorizationDetailsRequest) This is a variant of
getRequestAuthorizationDetails(software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsRequest)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
Publisher.subscribe(org.reactivestreams.Subscriber). Each call to the subscribe method will result in a newSubscriptioni.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
2) Using a custom subscribersoftware.amazon.awssdk.services.iamtoolbox.paginators.GetRequestAuthorizationDetailsPublisher publisher = client.getRequestAuthorizationDetailsPaginator(request); CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response }); future.get();
As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.software.amazon.awssdk.services.iamtoolbox.paginators.GetRequestAuthorizationDetailsPublisher publisher = client.getRequestAuthorizationDetailsPaginator(request); publisher.subscribe(new Subscriber<software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsResponse>() { public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... }; public void onNext(software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsResponse response) { //... }; });Please notice that the configuration of null won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
getRequestAuthorizationDetails(software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsRequest)operation.- Parameters:
getRequestAuthorizationDetailsRequest-- Returns:
- 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. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- AccessDeniedException The caller does not have sufficient access to perform this action.
- ResourceNotFoundException The requested authorization details do not exist in this region or have expired. Verify that the authorization ID from the access denied error message is correct and the call is made in the region where the denial occurred. Ensure that the calling principal belongs to the same account or organization as the original denied request.
- ValidationException The request is malformed or is missing one or more required parameters. Check the request parameters and try again.
- InternalServerException An unexpected error occurred while processing the request. Try again.
- 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.
- IamToolboxException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getRequestAuthorizationDetailsPaginator
default GetRequestAuthorizationDetailsPublisher getRequestAuthorizationDetailsPaginator(Consumer<GetRequestAuthorizationDetailsRequest.Builder> getRequestAuthorizationDetailsRequest) This is a variant of
getRequestAuthorizationDetails(software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsRequest)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
Publisher.subscribe(org.reactivestreams.Subscriber). Each call to the subscribe method will result in a newSubscriptioni.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
2) Using a custom subscribersoftware.amazon.awssdk.services.iamtoolbox.paginators.GetRequestAuthorizationDetailsPublisher publisher = client.getRequestAuthorizationDetailsPaginator(request); CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response }); future.get();
As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.software.amazon.awssdk.services.iamtoolbox.paginators.GetRequestAuthorizationDetailsPublisher publisher = client.getRequestAuthorizationDetailsPaginator(request); publisher.subscribe(new Subscriber<software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsResponse>() { public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... }; public void onNext(software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsResponse response) { //... }; });Please notice that the configuration of null won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
getRequestAuthorizationDetails(software.amazon.awssdk.services.iamtoolbox.model.GetRequestAuthorizationDetailsRequest)operation.
This is a convenience which creates an instance of the
GetRequestAuthorizationDetailsRequest.Builderavoiding the need to create one manually viaGetRequestAuthorizationDetailsRequest.builder()- Parameters:
getRequestAuthorizationDetailsRequest- AConsumerthat will call methods onGetRequestAuthorizationDetailsRequest.Builderto create a request.- Returns:
- 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. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- AccessDeniedException The caller does not have sufficient access to perform this action.
- ResourceNotFoundException The requested authorization details do not exist in this region or have expired. Verify that the authorization ID from the access denied error message is correct and the call is made in the region where the denial occurred. Ensure that the calling principal belongs to the same account or organization as the original denied request.
- ValidationException The request is malformed or is missing one or more required parameters. Check the request parameters and try again.
- InternalServerException An unexpected error occurred while processing the request. Try again.
- 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.
- IamToolboxException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
serviceClientConfiguration
Description copied from interface:SdkClientThe SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfiguration- Specified by:
serviceClientConfigurationin interfaceAwsClient- Specified by:
serviceClientConfigurationin interfaceSdkClient- Returns:
- SdkServiceClientConfiguration
-
create
Create aIamToolboxAsyncClientwith the region loaded from theDefaultAwsRegionProviderChainand credentials loaded from theDefaultCredentialsProvider. -
builder
Create a builder that can be used to configure and create aIamToolboxAsyncClient.
-