/*
* Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.ssoadmin;
import org.w3c.dom.*;
import java.net.*;
import java.util.*;
import javax.annotation.Generated;
import org.apache.commons.logging.*;
import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.client.builder.AdvancedConfig;
import com.amazonaws.services.ssoadmin.AWSSSOAdminClientBuilder;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.ssoadmin.model.*;
import com.amazonaws.services.ssoadmin.model.transform.*;
/**
* Client for accessing SSO Admin. All service calls made using this client are blocking, and will not return until the
* service call completes.
*
*
* AWS IAM Identity Center (successor to AWS Single Sign-On) helps you securely create, or connect, your workforce
* identities and manage their access centrally across AWS accounts and applications. IAM Identity Center is the
* recommended approach for workforce authentication and authorization in AWS, for organizations of any size and type.
*
*
*
* Although AWS Single Sign-On was renamed, the sso
and identitystore
API namespaces will
* continue to retain their original name for backward compatibility purposes. For more information, see IAM Identity Center rename.
*
*
*
* This reference guide provides information on single sign-on operations which could be used for access management of
* AWS accounts. For information about IAM Identity Center features, see the IAM Identity Center User Guide.
*
*
* Many operations in the IAM Identity Center APIs rely on identifiers for users and groups, known as principals. For
* more information about how to work with principals and principal IDs in IAM Identity Center, see the Identity Store API
* Reference.
*
*
*
* AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java,
* Ruby, .Net, iOS, Android, and more). The SDKs provide a convenient way to create programmatic access to IAM Identity
* Center and other AWS services. For more information about the AWS SDKs, including how to download and install them,
* see Tools for Amazon Web Services.
*
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AWSSSOAdminClient extends AmazonWebServiceClient implements AWSSSOAdmin {
/** Provider for AWS credentials. */
private final AWSCredentialsProvider awsCredentialsProvider;
private static final Log log = LogFactory.getLog(AWSSSOAdmin.class);
/** Default signing name for the service. */
private static final String DEFAULT_SIGNING_NAME = "sso";
/** Client configuration factory providing ClientConfigurations tailored to this client */
protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory();
private final AdvancedConfig advancedConfig;
private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory(
new JsonClientMetadata()
.withProtocolVersion("1.1")
.withSupportsCbor(false)
.withSupportsIon(false)
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ThrottlingException").withExceptionUnmarshaller(
com.amazonaws.services.ssoadmin.model.transform.ThrottlingExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ServiceQuotaExceededException").withExceptionUnmarshaller(
com.amazonaws.services.ssoadmin.model.transform.ServiceQuotaExceededExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InternalServerException").withExceptionUnmarshaller(
com.amazonaws.services.ssoadmin.model.transform.InternalServerExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withExceptionUnmarshaller(
com.amazonaws.services.ssoadmin.model.transform.AccessDeniedExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ConflictException").withExceptionUnmarshaller(
com.amazonaws.services.ssoadmin.model.transform.ConflictExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller(
com.amazonaws.services.ssoadmin.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ValidationException").withExceptionUnmarshaller(
com.amazonaws.services.ssoadmin.model.transform.ValidationExceptionUnmarshaller.getInstance()))
.withBaseServiceExceptionClass(com.amazonaws.services.ssoadmin.model.AWSSSOAdminException.class));
public static AWSSSOAdminClientBuilder builder() {
return AWSSSOAdminClientBuilder.standard();
}
/**
* Constructs a new client to invoke service methods on SSO Admin using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AWSSSOAdminClient(AwsSyncClientParams clientParams) {
this(clientParams, false);
}
/**
* Constructs a new client to invoke service methods on SSO Admin using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AWSSSOAdminClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) {
super(clientParams);
this.awsCredentialsProvider = clientParams.getCredentialsProvider();
this.advancedConfig = clientParams.getAdvancedConfig();
init();
}
private void init() {
setServiceNameIntern(DEFAULT_SIGNING_NAME);
setEndpointPrefix(ENDPOINT_PREFIX);
// calling this.setEndPoint(...) will also modify the signer accordingly
setEndpoint("sso.us-east-1.amazonaws.com");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/ssoadmin/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/ssoadmin/request.handler2s"));
requestHandler2s.addAll(chainFactory.getGlobalHandlers());
}
/**
*
* Attaches the specified customer managed policy to the specified PermissionSet.
*
*
* @param attachCustomerManagedPolicyReferenceToPermissionSetRequest
* @return Result of the AttachCustomerManagedPolicyReferenceToPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ServiceQuotaExceededException
* Indicates that the principal has crossed the permitted number of resources that can be created.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.AttachCustomerManagedPolicyReferenceToPermissionSet
* @see AWS API Documentation
*/
@Override
public AttachCustomerManagedPolicyReferenceToPermissionSetResult attachCustomerManagedPolicyReferenceToPermissionSet(
AttachCustomerManagedPolicyReferenceToPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeAttachCustomerManagedPolicyReferenceToPermissionSet(request);
}
@SdkInternalApi
final AttachCustomerManagedPolicyReferenceToPermissionSetResult executeAttachCustomerManagedPolicyReferenceToPermissionSet(
AttachCustomerManagedPolicyReferenceToPermissionSetRequest attachCustomerManagedPolicyReferenceToPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(attachCustomerManagedPolicyReferenceToPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AttachCustomerManagedPolicyReferenceToPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(attachCustomerManagedPolicyReferenceToPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AttachCustomerManagedPolicyReferenceToPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new AttachCustomerManagedPolicyReferenceToPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Attaches an AWS managed policy ARN to a permission set.
*
*
*
* If the permission set is already referenced by one or more account assignments, you will need to call
* ProvisionPermissionSet
after this operation. Calling ProvisionPermissionSet
* applies the corresponding IAM policy updates to all assigned accounts.
*
*
*
* @param attachManagedPolicyToPermissionSetRequest
* @return Result of the AttachManagedPolicyToPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ServiceQuotaExceededException
* Indicates that the principal has crossed the permitted number of resources that can be created.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.AttachManagedPolicyToPermissionSet
* @see AWS API Documentation
*/
@Override
public AttachManagedPolicyToPermissionSetResult attachManagedPolicyToPermissionSet(AttachManagedPolicyToPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeAttachManagedPolicyToPermissionSet(request);
}
@SdkInternalApi
final AttachManagedPolicyToPermissionSetResult executeAttachManagedPolicyToPermissionSet(
AttachManagedPolicyToPermissionSetRequest attachManagedPolicyToPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(attachManagedPolicyToPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AttachManagedPolicyToPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(attachManagedPolicyToPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AttachManagedPolicyToPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new AttachManagedPolicyToPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Assigns access to a principal for a specified AWS account using a specified permission set.
*
*
*
* The term principal here refers to a user or group that is defined in IAM Identity Center.
*
*
*
* As part of a successful CreateAccountAssignment
call, the specified permission set will
* automatically be provisioned to the account in the form of an IAM policy. That policy is attached to the IAM role
* created in IAM Identity Center. If the permission set is subsequently updated, the corresponding IAM policies
* attached to roles in your accounts will not be updated automatically. In this case, you must call
* ProvisionPermissionSet
to make these updates.
*
*
*
* After a successful response, call DescribeAccountAssignmentCreationStatus
to describe the status of
* an assignment creation request.
*
*
*
* @param createAccountAssignmentRequest
* @return Result of the CreateAccountAssignment operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ServiceQuotaExceededException
* Indicates that the principal has crossed the permitted number of resources that can be created.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.CreateAccountAssignment
* @see AWS API Documentation
*/
@Override
public CreateAccountAssignmentResult createAccountAssignment(CreateAccountAssignmentRequest request) {
request = beforeClientExecution(request);
return executeCreateAccountAssignment(request);
}
@SdkInternalApi
final CreateAccountAssignmentResult executeCreateAccountAssignment(CreateAccountAssignmentRequest createAccountAssignmentRequest) {
ExecutionContext executionContext = createExecutionContext(createAccountAssignmentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateAccountAssignmentRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createAccountAssignmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateAccountAssignment");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateAccountAssignmentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Enables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance. You
* can also specify new attributes to add to your ABAC configuration during the enabling process. For more
* information about ABAC, see Attribute-Based Access Control
* in the IAM Identity Center User Guide.
*
*
*
* After a successful response, call DescribeInstanceAccessControlAttributeConfiguration
to validate
* that InstanceAccessControlAttributeConfiguration
was created.
*
*
*
* @param createInstanceAccessControlAttributeConfigurationRequest
* @return Result of the CreateInstanceAccessControlAttributeConfiguration operation returned by the service.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.CreateInstanceAccessControlAttributeConfiguration
* @see AWS API Documentation
*/
@Override
public CreateInstanceAccessControlAttributeConfigurationResult createInstanceAccessControlAttributeConfiguration(
CreateInstanceAccessControlAttributeConfigurationRequest request) {
request = beforeClientExecution(request);
return executeCreateInstanceAccessControlAttributeConfiguration(request);
}
@SdkInternalApi
final CreateInstanceAccessControlAttributeConfigurationResult executeCreateInstanceAccessControlAttributeConfiguration(
CreateInstanceAccessControlAttributeConfigurationRequest createInstanceAccessControlAttributeConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(createInstanceAccessControlAttributeConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateInstanceAccessControlAttributeConfigurationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createInstanceAccessControlAttributeConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateInstanceAccessControlAttributeConfiguration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateInstanceAccessControlAttributeConfigurationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a permission set within a specified IAM Identity Center instance.
*
*
*
* To grant users and groups access to AWS account resources, use CreateAccountAssignment
.
*
*
*
* @param createPermissionSetRequest
* @return Result of the CreatePermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ServiceQuotaExceededException
* Indicates that the principal has crossed the permitted number of resources that can be created.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.CreatePermissionSet
* @see AWS
* API Documentation
*/
@Override
public CreatePermissionSetResult createPermissionSet(CreatePermissionSetRequest request) {
request = beforeClientExecution(request);
return executeCreatePermissionSet(request);
}
@SdkInternalApi
final CreatePermissionSetResult executeCreatePermissionSet(CreatePermissionSetRequest createPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(createPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreatePermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreatePermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreatePermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a principal's access from a specified AWS account using a specified permission set.
*
*
*
* After a successful response, call DescribeAccountAssignmentCreationStatus
to describe the status of
* an assignment deletion request.
*
*
*
* @param deleteAccountAssignmentRequest
* @return Result of the DeleteAccountAssignment operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.DeleteAccountAssignment
* @see AWS API Documentation
*/
@Override
public DeleteAccountAssignmentResult deleteAccountAssignment(DeleteAccountAssignmentRequest request) {
request = beforeClientExecution(request);
return executeDeleteAccountAssignment(request);
}
@SdkInternalApi
final DeleteAccountAssignmentResult executeDeleteAccountAssignment(DeleteAccountAssignmentRequest deleteAccountAssignmentRequest) {
ExecutionContext executionContext = createExecutionContext(deleteAccountAssignmentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteAccountAssignmentRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteAccountAssignmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteAccountAssignment");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteAccountAssignmentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes the inline policy from a specified permission set.
*
*
* @param deleteInlinePolicyFromPermissionSetRequest
* @return Result of the DeleteInlinePolicyFromPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.DeleteInlinePolicyFromPermissionSet
* @see AWS API Documentation
*/
@Override
public DeleteInlinePolicyFromPermissionSetResult deleteInlinePolicyFromPermissionSet(DeleteInlinePolicyFromPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteInlinePolicyFromPermissionSet(request);
}
@SdkInternalApi
final DeleteInlinePolicyFromPermissionSetResult executeDeleteInlinePolicyFromPermissionSet(
DeleteInlinePolicyFromPermissionSetRequest deleteInlinePolicyFromPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteInlinePolicyFromPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteInlinePolicyFromPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteInlinePolicyFromPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteInlinePolicyFromPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteInlinePolicyFromPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Disables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance and
* deletes all of the attribute mappings that have been configured. Once deleted, any attributes that are received
* from an identity source and any custom attributes you have previously configured will not be passed. For more
* information about ABAC, see Attribute-Based Access Control
* in the IAM Identity Center User Guide.
*
*
* @param deleteInstanceAccessControlAttributeConfigurationRequest
* @return Result of the DeleteInstanceAccessControlAttributeConfiguration operation returned by the service.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.DeleteInstanceAccessControlAttributeConfiguration
* @see AWS API Documentation
*/
@Override
public DeleteInstanceAccessControlAttributeConfigurationResult deleteInstanceAccessControlAttributeConfiguration(
DeleteInstanceAccessControlAttributeConfigurationRequest request) {
request = beforeClientExecution(request);
return executeDeleteInstanceAccessControlAttributeConfiguration(request);
}
@SdkInternalApi
final DeleteInstanceAccessControlAttributeConfigurationResult executeDeleteInstanceAccessControlAttributeConfiguration(
DeleteInstanceAccessControlAttributeConfigurationRequest deleteInstanceAccessControlAttributeConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(deleteInstanceAccessControlAttributeConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteInstanceAccessControlAttributeConfigurationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteInstanceAccessControlAttributeConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteInstanceAccessControlAttributeConfiguration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteInstanceAccessControlAttributeConfigurationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes the specified permission set.
*
*
* @param deletePermissionSetRequest
* @return Result of the DeletePermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.DeletePermissionSet
* @see AWS
* API Documentation
*/
@Override
public DeletePermissionSetResult deletePermissionSet(DeletePermissionSetRequest request) {
request = beforeClientExecution(request);
return executeDeletePermissionSet(request);
}
@SdkInternalApi
final DeletePermissionSetResult executeDeletePermissionSet(DeletePermissionSetRequest deletePermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(deletePermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeletePermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deletePermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeletePermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeletePermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes the permissions boundary from a specified PermissionSet.
*
*
* @param deletePermissionsBoundaryFromPermissionSetRequest
* @return Result of the DeletePermissionsBoundaryFromPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.DeletePermissionsBoundaryFromPermissionSet
* @see AWS API Documentation
*/
@Override
public DeletePermissionsBoundaryFromPermissionSetResult deletePermissionsBoundaryFromPermissionSet(DeletePermissionsBoundaryFromPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeDeletePermissionsBoundaryFromPermissionSet(request);
}
@SdkInternalApi
final DeletePermissionsBoundaryFromPermissionSetResult executeDeletePermissionsBoundaryFromPermissionSet(
DeletePermissionsBoundaryFromPermissionSetRequest deletePermissionsBoundaryFromPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(deletePermissionsBoundaryFromPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeletePermissionsBoundaryFromPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deletePermissionsBoundaryFromPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeletePermissionsBoundaryFromPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeletePermissionsBoundaryFromPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Describes the status of the assignment creation request.
*
*
* @param describeAccountAssignmentCreationStatusRequest
* @return Result of the DescribeAccountAssignmentCreationStatus operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.DescribeAccountAssignmentCreationStatus
* @see AWS API Documentation
*/
@Override
public DescribeAccountAssignmentCreationStatusResult describeAccountAssignmentCreationStatus(DescribeAccountAssignmentCreationStatusRequest request) {
request = beforeClientExecution(request);
return executeDescribeAccountAssignmentCreationStatus(request);
}
@SdkInternalApi
final DescribeAccountAssignmentCreationStatusResult executeDescribeAccountAssignmentCreationStatus(
DescribeAccountAssignmentCreationStatusRequest describeAccountAssignmentCreationStatusRequest) {
ExecutionContext executionContext = createExecutionContext(describeAccountAssignmentCreationStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeAccountAssignmentCreationStatusRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeAccountAssignmentCreationStatusRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeAccountAssignmentCreationStatus");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeAccountAssignmentCreationStatusResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Describes the status of the assignment deletion request.
*
*
* @param describeAccountAssignmentDeletionStatusRequest
* @return Result of the DescribeAccountAssignmentDeletionStatus operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.DescribeAccountAssignmentDeletionStatus
* @see AWS API Documentation
*/
@Override
public DescribeAccountAssignmentDeletionStatusResult describeAccountAssignmentDeletionStatus(DescribeAccountAssignmentDeletionStatusRequest request) {
request = beforeClientExecution(request);
return executeDescribeAccountAssignmentDeletionStatus(request);
}
@SdkInternalApi
final DescribeAccountAssignmentDeletionStatusResult executeDescribeAccountAssignmentDeletionStatus(
DescribeAccountAssignmentDeletionStatusRequest describeAccountAssignmentDeletionStatusRequest) {
ExecutionContext executionContext = createExecutionContext(describeAccountAssignmentDeletionStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeAccountAssignmentDeletionStatusRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeAccountAssignmentDeletionStatusRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeAccountAssignmentDeletionStatus");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeAccountAssignmentDeletionStatusResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the list of IAM Identity Center identity store attributes that have been configured to work with
* attributes-based access control (ABAC) for the specified IAM Identity Center instance. This will not return
* attributes configured and sent by an external identity provider. For more information about ABAC, see Attribute-Based Access Control in the IAM Identity Center
* User Guide.
*
*
* @param describeInstanceAccessControlAttributeConfigurationRequest
* @return Result of the DescribeInstanceAccessControlAttributeConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @sample AWSSSOAdmin.DescribeInstanceAccessControlAttributeConfiguration
* @see AWS API Documentation
*/
@Override
public DescribeInstanceAccessControlAttributeConfigurationResult describeInstanceAccessControlAttributeConfiguration(
DescribeInstanceAccessControlAttributeConfigurationRequest request) {
request = beforeClientExecution(request);
return executeDescribeInstanceAccessControlAttributeConfiguration(request);
}
@SdkInternalApi
final DescribeInstanceAccessControlAttributeConfigurationResult executeDescribeInstanceAccessControlAttributeConfiguration(
DescribeInstanceAccessControlAttributeConfigurationRequest describeInstanceAccessControlAttributeConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(describeInstanceAccessControlAttributeConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeInstanceAccessControlAttributeConfigurationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeInstanceAccessControlAttributeConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeInstanceAccessControlAttributeConfiguration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeInstanceAccessControlAttributeConfigurationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets the details of the permission set.
*
*
* @param describePermissionSetRequest
* @return Result of the DescribePermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.DescribePermissionSet
* @see AWS API Documentation
*/
@Override
public DescribePermissionSetResult describePermissionSet(DescribePermissionSetRequest request) {
request = beforeClientExecution(request);
return executeDescribePermissionSet(request);
}
@SdkInternalApi
final DescribePermissionSetResult executeDescribePermissionSet(DescribePermissionSetRequest describePermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(describePermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribePermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describePermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribePermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribePermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Describes the status for the given permission set provisioning request.
*
*
* @param describePermissionSetProvisioningStatusRequest
* @return Result of the DescribePermissionSetProvisioningStatus operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.DescribePermissionSetProvisioningStatus
* @see AWS API Documentation
*/
@Override
public DescribePermissionSetProvisioningStatusResult describePermissionSetProvisioningStatus(DescribePermissionSetProvisioningStatusRequest request) {
request = beforeClientExecution(request);
return executeDescribePermissionSetProvisioningStatus(request);
}
@SdkInternalApi
final DescribePermissionSetProvisioningStatusResult executeDescribePermissionSetProvisioningStatus(
DescribePermissionSetProvisioningStatusRequest describePermissionSetProvisioningStatusRequest) {
ExecutionContext executionContext = createExecutionContext(describePermissionSetProvisioningStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribePermissionSetProvisioningStatusRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describePermissionSetProvisioningStatusRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribePermissionSetProvisioningStatus");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribePermissionSetProvisioningStatusResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Detaches the specified customer managed policy from the specified PermissionSet.
*
*
* @param detachCustomerManagedPolicyReferenceFromPermissionSetRequest
* @return Result of the DetachCustomerManagedPolicyReferenceFromPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.DetachCustomerManagedPolicyReferenceFromPermissionSet
* @see AWS API Documentation
*/
@Override
public DetachCustomerManagedPolicyReferenceFromPermissionSetResult detachCustomerManagedPolicyReferenceFromPermissionSet(
DetachCustomerManagedPolicyReferenceFromPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeDetachCustomerManagedPolicyReferenceFromPermissionSet(request);
}
@SdkInternalApi
final DetachCustomerManagedPolicyReferenceFromPermissionSetResult executeDetachCustomerManagedPolicyReferenceFromPermissionSet(
DetachCustomerManagedPolicyReferenceFromPermissionSetRequest detachCustomerManagedPolicyReferenceFromPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(detachCustomerManagedPolicyReferenceFromPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DetachCustomerManagedPolicyReferenceFromPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(detachCustomerManagedPolicyReferenceFromPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DetachCustomerManagedPolicyReferenceFromPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DetachCustomerManagedPolicyReferenceFromPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Detaches the attached AWS managed policy ARN from the specified permission set.
*
*
* @param detachManagedPolicyFromPermissionSetRequest
* @return Result of the DetachManagedPolicyFromPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.DetachManagedPolicyFromPermissionSet
* @see AWS API Documentation
*/
@Override
public DetachManagedPolicyFromPermissionSetResult detachManagedPolicyFromPermissionSet(DetachManagedPolicyFromPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeDetachManagedPolicyFromPermissionSet(request);
}
@SdkInternalApi
final DetachManagedPolicyFromPermissionSetResult executeDetachManagedPolicyFromPermissionSet(
DetachManagedPolicyFromPermissionSetRequest detachManagedPolicyFromPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(detachManagedPolicyFromPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DetachManagedPolicyFromPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(detachManagedPolicyFromPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DetachManagedPolicyFromPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DetachManagedPolicyFromPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Obtains the inline policy assigned to the permission set.
*
*
* @param getInlinePolicyForPermissionSetRequest
* @return Result of the GetInlinePolicyForPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.GetInlinePolicyForPermissionSet
* @see AWS API Documentation
*/
@Override
public GetInlinePolicyForPermissionSetResult getInlinePolicyForPermissionSet(GetInlinePolicyForPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeGetInlinePolicyForPermissionSet(request);
}
@SdkInternalApi
final GetInlinePolicyForPermissionSetResult executeGetInlinePolicyForPermissionSet(
GetInlinePolicyForPermissionSetRequest getInlinePolicyForPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(getInlinePolicyForPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetInlinePolicyForPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getInlinePolicyForPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetInlinePolicyForPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetInlinePolicyForPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Obtains the permissions boundary for a specified PermissionSet.
*
*
* @param getPermissionsBoundaryForPermissionSetRequest
* @return Result of the GetPermissionsBoundaryForPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.GetPermissionsBoundaryForPermissionSet
* @see AWS API Documentation
*/
@Override
public GetPermissionsBoundaryForPermissionSetResult getPermissionsBoundaryForPermissionSet(GetPermissionsBoundaryForPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeGetPermissionsBoundaryForPermissionSet(request);
}
@SdkInternalApi
final GetPermissionsBoundaryForPermissionSetResult executeGetPermissionsBoundaryForPermissionSet(
GetPermissionsBoundaryForPermissionSetRequest getPermissionsBoundaryForPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(getPermissionsBoundaryForPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetPermissionsBoundaryForPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getPermissionsBoundaryForPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetPermissionsBoundaryForPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetPermissionsBoundaryForPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the status of the AWS account assignment creation requests for a specified IAM Identity Center instance.
*
*
* @param listAccountAssignmentCreationStatusRequest
* @return Result of the ListAccountAssignmentCreationStatus operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListAccountAssignmentCreationStatus
* @see AWS API Documentation
*/
@Override
public ListAccountAssignmentCreationStatusResult listAccountAssignmentCreationStatus(ListAccountAssignmentCreationStatusRequest request) {
request = beforeClientExecution(request);
return executeListAccountAssignmentCreationStatus(request);
}
@SdkInternalApi
final ListAccountAssignmentCreationStatusResult executeListAccountAssignmentCreationStatus(
ListAccountAssignmentCreationStatusRequest listAccountAssignmentCreationStatusRequest) {
ExecutionContext executionContext = createExecutionContext(listAccountAssignmentCreationStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListAccountAssignmentCreationStatusRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listAccountAssignmentCreationStatusRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAccountAssignmentCreationStatus");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListAccountAssignmentCreationStatusResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the status of the AWS account assignment deletion requests for a specified IAM Identity Center instance.
*
*
* @param listAccountAssignmentDeletionStatusRequest
* @return Result of the ListAccountAssignmentDeletionStatus operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListAccountAssignmentDeletionStatus
* @see AWS API Documentation
*/
@Override
public ListAccountAssignmentDeletionStatusResult listAccountAssignmentDeletionStatus(ListAccountAssignmentDeletionStatusRequest request) {
request = beforeClientExecution(request);
return executeListAccountAssignmentDeletionStatus(request);
}
@SdkInternalApi
final ListAccountAssignmentDeletionStatusResult executeListAccountAssignmentDeletionStatus(
ListAccountAssignmentDeletionStatusRequest listAccountAssignmentDeletionStatusRequest) {
ExecutionContext executionContext = createExecutionContext(listAccountAssignmentDeletionStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListAccountAssignmentDeletionStatusRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listAccountAssignmentDeletionStatusRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAccountAssignmentDeletionStatus");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListAccountAssignmentDeletionStatusResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the assignee of the specified AWS account with the specified permission set.
*
*
* @param listAccountAssignmentsRequest
* @return Result of the ListAccountAssignments operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListAccountAssignments
* @see AWS API Documentation
*/
@Override
public ListAccountAssignmentsResult listAccountAssignments(ListAccountAssignmentsRequest request) {
request = beforeClientExecution(request);
return executeListAccountAssignments(request);
}
@SdkInternalApi
final ListAccountAssignmentsResult executeListAccountAssignments(ListAccountAssignmentsRequest listAccountAssignmentsRequest) {
ExecutionContext executionContext = createExecutionContext(listAccountAssignmentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListAccountAssignmentsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listAccountAssignmentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAccountAssignments");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListAccountAssignmentsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists all the AWS accounts where the specified permission set is provisioned.
*
*
* @param listAccountsForProvisionedPermissionSetRequest
* @return Result of the ListAccountsForProvisionedPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListAccountsForProvisionedPermissionSet
* @see AWS API Documentation
*/
@Override
public ListAccountsForProvisionedPermissionSetResult listAccountsForProvisionedPermissionSet(ListAccountsForProvisionedPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeListAccountsForProvisionedPermissionSet(request);
}
@SdkInternalApi
final ListAccountsForProvisionedPermissionSetResult executeListAccountsForProvisionedPermissionSet(
ListAccountsForProvisionedPermissionSetRequest listAccountsForProvisionedPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(listAccountsForProvisionedPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListAccountsForProvisionedPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listAccountsForProvisionedPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAccountsForProvisionedPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListAccountsForProvisionedPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists all customer managed policies attached to a specified PermissionSet.
*
*
* @param listCustomerManagedPolicyReferencesInPermissionSetRequest
* @return Result of the ListCustomerManagedPolicyReferencesInPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListCustomerManagedPolicyReferencesInPermissionSet
* @see AWS API Documentation
*/
@Override
public ListCustomerManagedPolicyReferencesInPermissionSetResult listCustomerManagedPolicyReferencesInPermissionSet(
ListCustomerManagedPolicyReferencesInPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeListCustomerManagedPolicyReferencesInPermissionSet(request);
}
@SdkInternalApi
final ListCustomerManagedPolicyReferencesInPermissionSetResult executeListCustomerManagedPolicyReferencesInPermissionSet(
ListCustomerManagedPolicyReferencesInPermissionSetRequest listCustomerManagedPolicyReferencesInPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(listCustomerManagedPolicyReferencesInPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListCustomerManagedPolicyReferencesInPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listCustomerManagedPolicyReferencesInPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListCustomerManagedPolicyReferencesInPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListCustomerManagedPolicyReferencesInPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the IAM Identity Center instances that the caller has access to.
*
*
* @param listInstancesRequest
* @return Result of the ListInstances operation returned by the service.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @sample AWSSSOAdmin.ListInstances
* @see AWS API
* Documentation
*/
@Override
public ListInstancesResult listInstances(ListInstancesRequest request) {
request = beforeClientExecution(request);
return executeListInstances(request);
}
@SdkInternalApi
final ListInstancesResult executeListInstances(ListInstancesRequest listInstancesRequest) {
ExecutionContext executionContext = createExecutionContext(listInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListInstancesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listInstancesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListInstances");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListInstancesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the AWS managed policy that is attached to a specified permission set.
*
*
* @param listManagedPoliciesInPermissionSetRequest
* @return Result of the ListManagedPoliciesInPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListManagedPoliciesInPermissionSet
* @see AWS API Documentation
*/
@Override
public ListManagedPoliciesInPermissionSetResult listManagedPoliciesInPermissionSet(ListManagedPoliciesInPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeListManagedPoliciesInPermissionSet(request);
}
@SdkInternalApi
final ListManagedPoliciesInPermissionSetResult executeListManagedPoliciesInPermissionSet(
ListManagedPoliciesInPermissionSetRequest listManagedPoliciesInPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(listManagedPoliciesInPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListManagedPoliciesInPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listManagedPoliciesInPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListManagedPoliciesInPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListManagedPoliciesInPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the status of the permission set provisioning requests for a specified IAM Identity Center instance.
*
*
* @param listPermissionSetProvisioningStatusRequest
* @return Result of the ListPermissionSetProvisioningStatus operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListPermissionSetProvisioningStatus
* @see AWS API Documentation
*/
@Override
public ListPermissionSetProvisioningStatusResult listPermissionSetProvisioningStatus(ListPermissionSetProvisioningStatusRequest request) {
request = beforeClientExecution(request);
return executeListPermissionSetProvisioningStatus(request);
}
@SdkInternalApi
final ListPermissionSetProvisioningStatusResult executeListPermissionSetProvisioningStatus(
ListPermissionSetProvisioningStatusRequest listPermissionSetProvisioningStatusRequest) {
ExecutionContext executionContext = createExecutionContext(listPermissionSetProvisioningStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListPermissionSetProvisioningStatusRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listPermissionSetProvisioningStatusRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPermissionSetProvisioningStatus");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListPermissionSetProvisioningStatusResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the PermissionSets in an IAM Identity Center instance.
*
*
* @param listPermissionSetsRequest
* @return Result of the ListPermissionSets operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListPermissionSets
* @see AWS
* API Documentation
*/
@Override
public ListPermissionSetsResult listPermissionSets(ListPermissionSetsRequest request) {
request = beforeClientExecution(request);
return executeListPermissionSets(request);
}
@SdkInternalApi
final ListPermissionSetsResult executeListPermissionSets(ListPermissionSetsRequest listPermissionSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listPermissionSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListPermissionSetsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listPermissionSetsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPermissionSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPermissionSetsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists all the permission sets that are provisioned to a specified AWS account.
*
*
* @param listPermissionSetsProvisionedToAccountRequest
* @return Result of the ListPermissionSetsProvisionedToAccount operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListPermissionSetsProvisionedToAccount
* @see AWS API Documentation
*/
@Override
public ListPermissionSetsProvisionedToAccountResult listPermissionSetsProvisionedToAccount(ListPermissionSetsProvisionedToAccountRequest request) {
request = beforeClientExecution(request);
return executeListPermissionSetsProvisionedToAccount(request);
}
@SdkInternalApi
final ListPermissionSetsProvisionedToAccountResult executeListPermissionSetsProvisionedToAccount(
ListPermissionSetsProvisionedToAccountRequest listPermissionSetsProvisionedToAccountRequest) {
ExecutionContext executionContext = createExecutionContext(listPermissionSetsProvisionedToAccountRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListPermissionSetsProvisionedToAccountRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listPermissionSetsProvisionedToAccountRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPermissionSetsProvisionedToAccount");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListPermissionSetsProvisionedToAccountResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the tags that are attached to a specified resource.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @sample AWSSSOAdmin.ListTagsForResource
* @see AWS
* API Documentation
*/
@Override
public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) {
request = beforeClientExecution(request);
return executeListTagsForResource(request);
}
@SdkInternalApi
final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) {
ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTagsForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsForResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsForResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* The process by which a specified permission set is provisioned to the specified target.
*
*
* @param provisionPermissionSetRequest
* @return Result of the ProvisionPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.ProvisionPermissionSet
* @see AWS API Documentation
*/
@Override
public ProvisionPermissionSetResult provisionPermissionSet(ProvisionPermissionSetRequest request) {
request = beforeClientExecution(request);
return executeProvisionPermissionSet(request);
}
@SdkInternalApi
final ProvisionPermissionSetResult executeProvisionPermissionSet(ProvisionPermissionSetRequest provisionPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(provisionPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ProvisionPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(provisionPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ProvisionPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ProvisionPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Attaches an inline policy to a permission set.
*
*
*
* If the permission set is already referenced by one or more account assignments, you will need to call
* ProvisionPermissionSet
after this action to apply the corresponding IAM policy updates to
* all assigned accounts.
*
*
*
* @param putInlinePolicyToPermissionSetRequest
* @return Result of the PutInlinePolicyToPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ServiceQuotaExceededException
* Indicates that the principal has crossed the permitted number of resources that can be created.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.PutInlinePolicyToPermissionSet
* @see AWS API Documentation
*/
@Override
public PutInlinePolicyToPermissionSetResult putInlinePolicyToPermissionSet(PutInlinePolicyToPermissionSetRequest request) {
request = beforeClientExecution(request);
return executePutInlinePolicyToPermissionSet(request);
}
@SdkInternalApi
final PutInlinePolicyToPermissionSetResult executePutInlinePolicyToPermissionSet(PutInlinePolicyToPermissionSetRequest putInlinePolicyToPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(putInlinePolicyToPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PutInlinePolicyToPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(putInlinePolicyToPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutInlinePolicyToPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new PutInlinePolicyToPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Attaches an AWS managed or customer managed policy to the specified PermissionSet as a permissions
* boundary.
*
*
* @param putPermissionsBoundaryToPermissionSetRequest
* @return Result of the PutPermissionsBoundaryToPermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.PutPermissionsBoundaryToPermissionSet
* @see AWS API Documentation
*/
@Override
public PutPermissionsBoundaryToPermissionSetResult putPermissionsBoundaryToPermissionSet(PutPermissionsBoundaryToPermissionSetRequest request) {
request = beforeClientExecution(request);
return executePutPermissionsBoundaryToPermissionSet(request);
}
@SdkInternalApi
final PutPermissionsBoundaryToPermissionSetResult executePutPermissionsBoundaryToPermissionSet(
PutPermissionsBoundaryToPermissionSetRequest putPermissionsBoundaryToPermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(putPermissionsBoundaryToPermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PutPermissionsBoundaryToPermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(putPermissionsBoundaryToPermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutPermissionsBoundaryToPermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new PutPermissionsBoundaryToPermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Associates a set of tags with a specified resource.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ServiceQuotaExceededException
* Indicates that the principal has crossed the permitted number of resources that can be created.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.TagResource
* @see AWS API
* Documentation
*/
@Override
public TagResourceResult tagResource(TagResourceRequest request) {
request = beforeClientExecution(request);
return executeTagResource(request);
}
@SdkInternalApi
final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) {
ExecutionContext executionContext = createExecutionContext(tagResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new TagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(tagResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TagResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TagResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Disassociates a set of tags from a specified resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.UntagResource
* @see AWS API
* Documentation
*/
@Override
public UntagResourceResult untagResource(UntagResourceRequest request) {
request = beforeClientExecution(request);
return executeUntagResource(request);
}
@SdkInternalApi
final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) {
ExecutionContext executionContext = createExecutionContext(untagResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UntagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(untagResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UntagResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UntagResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates the IAM Identity Center identity store attributes that you can use with the IAM Identity Center instance
* for attributes-based access control (ABAC). When using an external identity provider as an identity source, you
* can pass attributes through the SAML assertion as an alternative to configuring attributes from the IAM Identity
* Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center replaces the
* attribute value with the value from the IAM Identity Center identity store. For more information about ABAC, see
* Attribute-Based Access Control in the IAM Identity
* Center User Guide.
*
*
* @param updateInstanceAccessControlAttributeConfigurationRequest
* @return Result of the UpdateInstanceAccessControlAttributeConfiguration operation returned by the service.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.UpdateInstanceAccessControlAttributeConfiguration
* @see AWS API Documentation
*/
@Override
public UpdateInstanceAccessControlAttributeConfigurationResult updateInstanceAccessControlAttributeConfiguration(
UpdateInstanceAccessControlAttributeConfigurationRequest request) {
request = beforeClientExecution(request);
return executeUpdateInstanceAccessControlAttributeConfiguration(request);
}
@SdkInternalApi
final UpdateInstanceAccessControlAttributeConfigurationResult executeUpdateInstanceAccessControlAttributeConfiguration(
UpdateInstanceAccessControlAttributeConfigurationRequest updateInstanceAccessControlAttributeConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(updateInstanceAccessControlAttributeConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateInstanceAccessControlAttributeConfigurationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(updateInstanceAccessControlAttributeConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateInstanceAccessControlAttributeConfiguration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateInstanceAccessControlAttributeConfigurationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates an existing permission set.
*
*
* @param updatePermissionSetRequest
* @return Result of the UpdatePermissionSet operation returned by the service.
* @throws ResourceNotFoundException
* Indicates that a requested resource is not found.
* @throws InternalServerException
* The request processing has failed because of an unknown error, exception, or failure with an internal
* server.
* @throws ThrottlingException
* Indicates that the principal has crossed the throttling limits of the API operations.
* @throws ValidationException
* The request failed because it contains a syntax error.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ConflictException
* Occurs when a conflict with a previous successful write is detected. This generally occurs when the
* previous write did not have time to propagate to the host serving the current request. A retry (with
* appropriate backoff logic) is the recommended response to this exception.
* @sample AWSSSOAdmin.UpdatePermissionSet
* @see AWS
* API Documentation
*/
@Override
public UpdatePermissionSetResult updatePermissionSet(UpdatePermissionSetRequest request) {
request = beforeClientExecution(request);
return executeUpdatePermissionSet(request);
}
@SdkInternalApi
final UpdatePermissionSetResult executeUpdatePermissionSet(UpdatePermissionSetRequest updatePermissionSetRequest) {
ExecutionContext executionContext = createExecutionContext(updatePermissionSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdatePermissionSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updatePermissionSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "SSO Admin");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdatePermissionSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdatePermissionSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* Returns additional metadata for a previously executed successful, request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext) {
return invoke(request, responseHandler, executionContext, null, null);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) {
executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider));
return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait);
}
/**
* Invoke with no authentication. Credentials are not required and any credentials set on the client or request will
* be ignored for this operation.
**/
private Response anonymousInvoke(Request request,
HttpResponseHandler> responseHandler, ExecutionContext executionContext) {
return doInvoke(request, responseHandler, executionContext, null, null);
}
/**
* Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the
* ExecutionContext beforehand.
**/
private Response doInvoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) {
if (discoveredEndpoint != null) {
request.setEndpoint(discoveredEndpoint);
request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery");
} else if (uriFromEndpointTrait != null) {
request.setEndpoint(uriFromEndpointTrait);
} else {
request.setEndpoint(endpoint);
}
request.setTimeOffset(timeOffset);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata());
return client.execute(request, responseHandler, errorResponseHandler, executionContext);
}
@com.amazonaws.annotation.SdkInternalApi
static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() {
return protocolFactory;
}
@Override
public void shutdown() {
super.shutdown();
}
}