/* * 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(); } }