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

com.amazonaws.services.workspaces.AmazonWorkspacesClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon WorkSpaces module holds the client classes that are used for communicating with Amazon WorkSpaces Service

There is a newer version: 1.12.778
Show newest version
/*
 * Copyright 2014-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.workspaces;

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.workspaces.AmazonWorkspacesClientBuilder;

import com.amazonaws.AmazonServiceException;

import com.amazonaws.services.workspaces.model.*;
import com.amazonaws.services.workspaces.model.transform.*;

/**
 * Client for accessing Amazon WorkSpaces. All service calls made using this client are blocking, and will not return
 * until the service call completes.
 * 

* Amazon WorkSpaces Service *

* Amazon WorkSpaces enables you to provision virtual, cloud-based Microsoft Windows and Amazon Linux desktops for your * users. *

*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AmazonWorkspacesClient extends AmazonWebServiceClient implements AmazonWorkspaces { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AmazonWorkspaces.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "workspaces"; /** 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("UnsupportedWorkspaceConfigurationException").withModeledClass( com.amazonaws.services.workspaces.model.UnsupportedWorkspaceConfigurationException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("OperationNotSupportedException").withModeledClass( com.amazonaws.services.workspaces.model.OperationNotSupportedException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withModeledClass( com.amazonaws.services.workspaces.model.AccessDeniedException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceAssociatedException").withModeledClass( com.amazonaws.services.workspaces.model.ResourceAssociatedException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidResourceStateException").withModeledClass( com.amazonaws.services.workspaces.model.InvalidResourceStateException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withModeledClass( com.amazonaws.services.workspaces.model.ResourceNotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidParameterValuesException").withModeledClass( com.amazonaws.services.workspaces.model.InvalidParameterValuesException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("OperationInProgressException").withModeledClass( com.amazonaws.services.workspaces.model.OperationInProgressException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceUnavailableException").withModeledClass( com.amazonaws.services.workspaces.model.ResourceUnavailableException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceAlreadyExistsException").withModeledClass( com.amazonaws.services.workspaces.model.ResourceAlreadyExistsException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceCreationFailedException").withModeledClass( com.amazonaws.services.workspaces.model.ResourceCreationFailedException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceLimitExceededException").withModeledClass( com.amazonaws.services.workspaces.model.ResourceLimitExceededException.class)) .withBaseServiceExceptionClass(com.amazonaws.services.workspaces.model.AmazonWorkspacesException.class)); /** * Constructs a new client to invoke service methods on Amazon WorkSpaces. A credentials provider chain will be used * that searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonWorkspacesClientBuilder#defaultClient()} */ @Deprecated public AmazonWorkspacesClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon WorkSpaces. A credentials provider chain will be used * that searches for credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon WorkSpaces (ex: proxy * settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonWorkspacesClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonWorkspacesClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account * credentials. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @deprecated use {@link AmazonWorkspacesClientBuilder#withCredentials(AWSCredentialsProvider)} for example: * {@code AmazonWorkspacesClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();} */ @Deprecated public AmazonWorkspacesClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account * credentials and client configuration options. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon WorkSpaces (ex: proxy * settings, retry counts, etc.). * @deprecated use {@link AmazonWorkspacesClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonWorkspacesClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonWorkspacesClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); this.advancedConfig = AdvancedConfig.EMPTY; init(); } /** * Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account * credentials provider. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @deprecated use {@link AmazonWorkspacesClientBuilder#withCredentials(AWSCredentialsProvider)} */ @Deprecated public AmazonWorkspacesClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account * credentials provider and client configuration options. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon WorkSpaces (ex: proxy * settings, retry counts, etc.). * @deprecated use {@link AmazonWorkspacesClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonWorkspacesClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonWorkspacesClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on Amazon WorkSpaces using the specified AWS account * credentials provider, client configuration options, and request metric collector. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon WorkSpaces (ex: proxy * settings, retry counts, etc.). * @param requestMetricCollector * optional request metric collector * @deprecated use {@link AmazonWorkspacesClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonWorkspacesClientBuilder#withClientConfiguration(ClientConfiguration)} and * {@link AmazonWorkspacesClientBuilder#withMetricsCollector(RequestMetricCollector)} */ @Deprecated public AmazonWorkspacesClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; this.advancedConfig = AdvancedConfig.EMPTY; init(); } public static AmazonWorkspacesClientBuilder builder() { return AmazonWorkspacesClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on Amazon WorkSpaces 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. */ AmazonWorkspacesClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on Amazon WorkSpaces 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. */ AmazonWorkspacesClient(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("https://workspaces.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/workspaces/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/workspaces/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *

* Associates the specified IP access control group with the specified directory. *

* * @param associateIpGroupsRequest * @return Result of the AssociateIpGroups operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceNotFoundException * The resource could not be found. * @throws ResourceLimitExceededException * Your resource limits have been exceeded. * @throws InvalidResourceStateException * The state of the resource is not valid for this operation. * @throws AccessDeniedException * The user is not authorized to access a resource. * @throws OperationNotSupportedException * This operation is not supported. * @sample AmazonWorkspaces.AssociateIpGroups * @see AWS * API Documentation */ @Override public AssociateIpGroupsResult associateIpGroups(AssociateIpGroupsRequest request) { request = beforeClientExecution(request); return executeAssociateIpGroups(request); } @SdkInternalApi final AssociateIpGroupsResult executeAssociateIpGroups(AssociateIpGroupsRequest associateIpGroupsRequest) { ExecutionContext executionContext = createExecutionContext(associateIpGroupsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateIpGroupsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(associateIpGroupsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateIpGroups"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateIpGroupsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Adds one or more rules to the specified IP access control group. *

*

* This action gives users permission to access their WorkSpaces from the CIDR address ranges specified in the * rules. *

* * @param authorizeIpRulesRequest * @return Result of the AuthorizeIpRules operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceNotFoundException * The resource could not be found. * @throws ResourceLimitExceededException * Your resource limits have been exceeded. * @throws InvalidResourceStateException * The state of the resource is not valid for this operation. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.AuthorizeIpRules * @see AWS * API Documentation */ @Override public AuthorizeIpRulesResult authorizeIpRules(AuthorizeIpRulesRequest request) { request = beforeClientExecution(request); return executeAuthorizeIpRules(request); } @SdkInternalApi final AuthorizeIpRulesResult executeAuthorizeIpRules(AuthorizeIpRulesRequest authorizeIpRulesRequest) { ExecutionContext executionContext = createExecutionContext(authorizeIpRulesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AuthorizeIpRulesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(authorizeIpRulesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AuthorizeIpRules"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AuthorizeIpRulesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates an IP access control group. *

*

* An IP access control group provides you with the ability to control the IP addresses from which users are allowed * to access their WorkSpaces. To specify the CIDR address ranges, add rules to your IP access control group and * then associate the group with your directory. You can add rules when you create the group or at any time using * AuthorizeIpRules. *

*

* There is a default IP access control group associated with your directory. If you don't associate an IP access * control group with your directory, the default group is used. The default group includes a default rule that * allows users to access their WorkSpaces from anywhere. You cannot modify the default IP access control group for * your directory. *

* * @param createIpGroupRequest * @return Result of the CreateIpGroup operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceLimitExceededException * Your resource limits have been exceeded. * @throws ResourceAlreadyExistsException * The specified resource already exists. * @throws ResourceCreationFailedException * The resource could not be created. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.CreateIpGroup * @see AWS API * Documentation */ @Override public CreateIpGroupResult createIpGroup(CreateIpGroupRequest request) { request = beforeClientExecution(request); return executeCreateIpGroup(request); } @SdkInternalApi final CreateIpGroupResult executeCreateIpGroup(CreateIpGroupRequest createIpGroupRequest) { ExecutionContext executionContext = createExecutionContext(createIpGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateIpGroupRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createIpGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateIpGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateIpGroupResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates the specified tags for the specified WorkSpaces resource. *

* * @param createTagsRequest * @return Result of the CreateTags operation returned by the service. * @throws ResourceNotFoundException * The resource could not be found. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceLimitExceededException * Your resource limits have been exceeded. * @sample AmazonWorkspaces.CreateTags * @see AWS API * Documentation */ @Override public CreateTagsResult createTags(CreateTagsRequest request) { request = beforeClientExecution(request); return executeCreateTags(request); } @SdkInternalApi final CreateTagsResult executeCreateTags(CreateTagsRequest createTagsRequest) { ExecutionContext executionContext = createExecutionContext(createTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTagsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTags"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates one or more WorkSpaces. *

*

* This operation is asynchronous and returns before the WorkSpaces are created. *

* * @param createWorkspacesRequest * @return Result of the CreateWorkspaces operation returned by the service. * @throws ResourceLimitExceededException * Your resource limits have been exceeded. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @sample AmazonWorkspaces.CreateWorkspaces * @see AWS * API Documentation */ @Override public CreateWorkspacesResult createWorkspaces(CreateWorkspacesRequest request) { request = beforeClientExecution(request); return executeCreateWorkspaces(request); } @SdkInternalApi final CreateWorkspacesResult executeCreateWorkspaces(CreateWorkspacesRequest createWorkspacesRequest) { ExecutionContext executionContext = createExecutionContext(createWorkspacesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateWorkspacesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createWorkspacesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateWorkspaces"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateWorkspacesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the specified IP access control group. *

*

* You cannot delete an IP access control group that is associated with a directory. *

* * @param deleteIpGroupRequest * @return Result of the DeleteIpGroup operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceNotFoundException * The resource could not be found. * @throws ResourceAssociatedException * The resource is associated with a directory. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.DeleteIpGroup * @see AWS API * Documentation */ @Override public DeleteIpGroupResult deleteIpGroup(DeleteIpGroupRequest request) { request = beforeClientExecution(request); return executeDeleteIpGroup(request); } @SdkInternalApi final DeleteIpGroupResult executeDeleteIpGroup(DeleteIpGroupRequest deleteIpGroupRequest) { ExecutionContext executionContext = createExecutionContext(deleteIpGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteIpGroupRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteIpGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteIpGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteIpGroupResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the specified tags from the specified WorkSpaces resource. *

* * @param deleteTagsRequest * @return Result of the DeleteTags operation returned by the service. * @throws ResourceNotFoundException * The resource could not be found. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @sample AmazonWorkspaces.DeleteTags * @see AWS API * Documentation */ @Override public DeleteTagsResult deleteTags(DeleteTagsRequest request) { request = beforeClientExecution(request); return executeDeleteTags(request); } @SdkInternalApi final DeleteTagsResult executeDeleteTags(DeleteTagsRequest deleteTagsRequest) { ExecutionContext executionContext = createExecutionContext(deleteTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTagsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTags"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the specified image from your account. To delete an image, you must first delete any bundles that are * associated with the image. *

* * @param deleteWorkspaceImageRequest * @return Result of the DeleteWorkspaceImage operation returned by the service. * @throws ResourceAssociatedException * The resource is associated with a directory. * @throws InvalidResourceStateException * The state of the resource is not valid for this operation. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.DeleteWorkspaceImage * @see AWS API Documentation */ @Override public DeleteWorkspaceImageResult deleteWorkspaceImage(DeleteWorkspaceImageRequest request) { request = beforeClientExecution(request); return executeDeleteWorkspaceImage(request); } @SdkInternalApi final DeleteWorkspaceImageResult executeDeleteWorkspaceImage(DeleteWorkspaceImageRequest deleteWorkspaceImageRequest) { ExecutionContext executionContext = createExecutionContext(deleteWorkspaceImageRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteWorkspaceImageRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteWorkspaceImageRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteWorkspaceImage"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteWorkspaceImageResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a list that describes the configuration of bring your own license (BYOL) for the specified account. *

* * @param describeAccountRequest * @return Result of the DescribeAccount operation returned by the service. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.DescribeAccount * @see AWS API * Documentation */ @Override public DescribeAccountResult describeAccount(DescribeAccountRequest request) { request = beforeClientExecution(request); return executeDescribeAccount(request); } @SdkInternalApi final DescribeAccountResult executeDescribeAccount(DescribeAccountRequest describeAccountRequest) { ExecutionContext executionContext = createExecutionContext(describeAccountRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeAccountRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeAccountRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeAccount"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeAccountResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a list that describes modifications to the configuration of bring your own license (BYOL) for the * specified account. *

* * @param describeAccountModificationsRequest * @return Result of the DescribeAccountModifications operation returned by the service. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.DescribeAccountModifications * @see AWS API Documentation */ @Override public DescribeAccountModificationsResult describeAccountModifications(DescribeAccountModificationsRequest request) { request = beforeClientExecution(request); return executeDescribeAccountModifications(request); } @SdkInternalApi final DescribeAccountModificationsResult executeDescribeAccountModifications(DescribeAccountModificationsRequest describeAccountModificationsRequest) { ExecutionContext executionContext = createExecutionContext(describeAccountModificationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeAccountModificationsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeAccountModificationsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeAccountModifications"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeAccountModificationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a list that describes one or more specified Amazon WorkSpaces clients. *

* * @param describeClientPropertiesRequest * @return Result of the DescribeClientProperties operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceNotFoundException * The resource could not be found. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.DescribeClientProperties * @see AWS API Documentation */ @Override public DescribeClientPropertiesResult describeClientProperties(DescribeClientPropertiesRequest request) { request = beforeClientExecution(request); return executeDescribeClientProperties(request); } @SdkInternalApi final DescribeClientPropertiesResult executeDescribeClientProperties(DescribeClientPropertiesRequest describeClientPropertiesRequest) { ExecutionContext executionContext = createExecutionContext(describeClientPropertiesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeClientPropertiesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeClientPropertiesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeClientProperties"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeClientPropertiesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes one or more of your IP access control groups. *

* * @param describeIpGroupsRequest * @return Result of the DescribeIpGroups operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.DescribeIpGroups * @see AWS * API Documentation */ @Override public DescribeIpGroupsResult describeIpGroups(DescribeIpGroupsRequest request) { request = beforeClientExecution(request); return executeDescribeIpGroups(request); } @SdkInternalApi final DescribeIpGroupsResult executeDescribeIpGroups(DescribeIpGroupsRequest describeIpGroupsRequest) { ExecutionContext executionContext = createExecutionContext(describeIpGroupsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeIpGroupsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeIpGroupsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeIpGroups"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeIpGroupsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the specified tags for the specified WorkSpaces resource. *

* * @param describeTagsRequest * @return Result of the DescribeTags operation returned by the service. * @throws ResourceNotFoundException * The resource could not be found. * @sample AmazonWorkspaces.DescribeTags * @see AWS API * Documentation */ @Override public DescribeTagsResult describeTags(DescribeTagsRequest request) { request = beforeClientExecution(request); return executeDescribeTags(request); } @SdkInternalApi final DescribeTagsResult executeDescribeTags(DescribeTagsRequest describeTagsRequest) { ExecutionContext executionContext = createExecutionContext(describeTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTagsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeTags"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a list that describes the available WorkSpace bundles. *

*

* You can filter the results using either bundle ID or owner, but not both. *

* * @param describeWorkspaceBundlesRequest * @return Result of the DescribeWorkspaceBundles operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @sample AmazonWorkspaces.DescribeWorkspaceBundles * @see AWS API Documentation */ @Override public DescribeWorkspaceBundlesResult describeWorkspaceBundles(DescribeWorkspaceBundlesRequest request) { request = beforeClientExecution(request); return executeDescribeWorkspaceBundles(request); } @SdkInternalApi final DescribeWorkspaceBundlesResult executeDescribeWorkspaceBundles(DescribeWorkspaceBundlesRequest describeWorkspaceBundlesRequest) { ExecutionContext executionContext = createExecutionContext(describeWorkspaceBundlesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeWorkspaceBundlesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeWorkspaceBundlesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeWorkspaceBundles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeWorkspaceBundlesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public DescribeWorkspaceBundlesResult describeWorkspaceBundles() { return describeWorkspaceBundles(new DescribeWorkspaceBundlesRequest()); } /** *

* Describes the available AWS Directory Service directories that are registered with Amazon WorkSpaces. *

* * @param describeWorkspaceDirectoriesRequest * @return Result of the DescribeWorkspaceDirectories operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @sample AmazonWorkspaces.DescribeWorkspaceDirectories * @see AWS API Documentation */ @Override public DescribeWorkspaceDirectoriesResult describeWorkspaceDirectories(DescribeWorkspaceDirectoriesRequest request) { request = beforeClientExecution(request); return executeDescribeWorkspaceDirectories(request); } @SdkInternalApi final DescribeWorkspaceDirectoriesResult executeDescribeWorkspaceDirectories(DescribeWorkspaceDirectoriesRequest describeWorkspaceDirectoriesRequest) { ExecutionContext executionContext = createExecutionContext(describeWorkspaceDirectoriesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeWorkspaceDirectoriesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeWorkspaceDirectoriesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeWorkspaceDirectories"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeWorkspaceDirectoriesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public DescribeWorkspaceDirectoriesResult describeWorkspaceDirectories() { return describeWorkspaceDirectories(new DescribeWorkspaceDirectoriesRequest()); } /** *

* Retrieves a list that describes one or more specified images, if the image identifiers are provided. Otherwise, * all images in the account are described. *

* * @param describeWorkspaceImagesRequest * @return Result of the DescribeWorkspaceImages operation returned by the service. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.DescribeWorkspaceImages * @see AWS API Documentation */ @Override public DescribeWorkspaceImagesResult describeWorkspaceImages(DescribeWorkspaceImagesRequest request) { request = beforeClientExecution(request); return executeDescribeWorkspaceImages(request); } @SdkInternalApi final DescribeWorkspaceImagesResult executeDescribeWorkspaceImages(DescribeWorkspaceImagesRequest describeWorkspaceImagesRequest) { ExecutionContext executionContext = createExecutionContext(describeWorkspaceImagesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeWorkspaceImagesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeWorkspaceImagesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeWorkspaceImages"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeWorkspaceImagesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the specified WorkSpaces. *

*

* You can filter the results by using the bundle identifier, directory identifier, or owner, but you can specify * only one filter at a time. *

* * @param describeWorkspacesRequest * @return Result of the DescribeWorkspaces operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceUnavailableException * The specified resource is not available. * @sample AmazonWorkspaces.DescribeWorkspaces * @see AWS * API Documentation */ @Override public DescribeWorkspacesResult describeWorkspaces(DescribeWorkspacesRequest request) { request = beforeClientExecution(request); return executeDescribeWorkspaces(request); } @SdkInternalApi final DescribeWorkspacesResult executeDescribeWorkspaces(DescribeWorkspacesRequest describeWorkspacesRequest) { ExecutionContext executionContext = createExecutionContext(describeWorkspacesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeWorkspacesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeWorkspacesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeWorkspaces"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeWorkspacesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public DescribeWorkspacesResult describeWorkspaces() { return describeWorkspaces(new DescribeWorkspacesRequest()); } /** *

* Describes the connection status of the specified WorkSpaces. *

* * @param describeWorkspacesConnectionStatusRequest * @return Result of the DescribeWorkspacesConnectionStatus operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @sample AmazonWorkspaces.DescribeWorkspacesConnectionStatus * @see AWS API Documentation */ @Override public DescribeWorkspacesConnectionStatusResult describeWorkspacesConnectionStatus(DescribeWorkspacesConnectionStatusRequest request) { request = beforeClientExecution(request); return executeDescribeWorkspacesConnectionStatus(request); } @SdkInternalApi final DescribeWorkspacesConnectionStatusResult executeDescribeWorkspacesConnectionStatus( DescribeWorkspacesConnectionStatusRequest describeWorkspacesConnectionStatusRequest) { ExecutionContext executionContext = createExecutionContext(describeWorkspacesConnectionStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeWorkspacesConnectionStatusRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeWorkspacesConnectionStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeWorkspacesConnectionStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeWorkspacesConnectionStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Disassociates the specified IP access control group from the specified directory. *

* * @param disassociateIpGroupsRequest * @return Result of the DisassociateIpGroups operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceNotFoundException * The resource could not be found. * @throws InvalidResourceStateException * The state of the resource is not valid for this operation. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.DisassociateIpGroups * @see AWS API Documentation */ @Override public DisassociateIpGroupsResult disassociateIpGroups(DisassociateIpGroupsRequest request) { request = beforeClientExecution(request); return executeDisassociateIpGroups(request); } @SdkInternalApi final DisassociateIpGroupsResult executeDisassociateIpGroups(DisassociateIpGroupsRequest disassociateIpGroupsRequest) { ExecutionContext executionContext = createExecutionContext(disassociateIpGroupsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateIpGroupsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disassociateIpGroupsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateIpGroups"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateIpGroupsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Imports the specified Windows 7 or Windows 10 bring your own license (BYOL) image into Amazon WorkSpaces. The * image must be an already licensed EC2 image that is in your AWS account, and you must own the image. *

* * @param importWorkspaceImageRequest * @return Result of the ImportWorkspaceImage operation returned by the service. * @throws ResourceLimitExceededException * Your resource limits have been exceeded. * @throws ResourceAlreadyExistsException * The specified resource already exists. * @throws ResourceNotFoundException * The resource could not be found. * @throws OperationNotSupportedException * This operation is not supported. * @throws AccessDeniedException * The user is not authorized to access a resource. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @sample AmazonWorkspaces.ImportWorkspaceImage * @see AWS API Documentation */ @Override public ImportWorkspaceImageResult importWorkspaceImage(ImportWorkspaceImageRequest request) { request = beforeClientExecution(request); return executeImportWorkspaceImage(request); } @SdkInternalApi final ImportWorkspaceImageResult executeImportWorkspaceImage(ImportWorkspaceImageRequest importWorkspaceImageRequest) { ExecutionContext executionContext = createExecutionContext(importWorkspaceImageRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ImportWorkspaceImageRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(importWorkspaceImageRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ImportWorkspaceImage"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ImportWorkspaceImageResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that you can use for the network management * interface when you enable bring your own license (BYOL). *

*

* The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for * interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to * manage the WorkSpace. *

* * @param listAvailableManagementCidrRangesRequest * @return Result of the ListAvailableManagementCidrRanges operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.ListAvailableManagementCidrRanges * @see AWS API Documentation */ @Override public ListAvailableManagementCidrRangesResult listAvailableManagementCidrRanges(ListAvailableManagementCidrRangesRequest request) { request = beforeClientExecution(request); return executeListAvailableManagementCidrRanges(request); } @SdkInternalApi final ListAvailableManagementCidrRangesResult executeListAvailableManagementCidrRanges( ListAvailableManagementCidrRangesRequest listAvailableManagementCidrRangesRequest) { ExecutionContext executionContext = createExecutionContext(listAvailableManagementCidrRangesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListAvailableManagementCidrRangesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listAvailableManagementCidrRangesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAvailableManagementCidrRanges"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListAvailableManagementCidrRangesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Modifies the configuration of bring your own license (BYOL) for the specified account. *

* * @param modifyAccountRequest * @return Result of the ModifyAccount operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws AccessDeniedException * The user is not authorized to access a resource. * @throws InvalidResourceStateException * The state of the resource is not valid for this operation. * @throws ResourceUnavailableException * The specified resource is not available. * @throws ResourceNotFoundException * The resource could not be found. * @sample AmazonWorkspaces.ModifyAccount * @see AWS API * Documentation */ @Override public ModifyAccountResult modifyAccount(ModifyAccountRequest request) { request = beforeClientExecution(request); return executeModifyAccount(request); } @SdkInternalApi final ModifyAccountResult executeModifyAccount(ModifyAccountRequest modifyAccountRequest) { ExecutionContext executionContext = createExecutionContext(modifyAccountRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ModifyAccountRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(modifyAccountRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ModifyAccount"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ModifyAccountResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Modifies the properties of the specified Amazon WorkSpaces clients. *

* * @param modifyClientPropertiesRequest * @return Result of the ModifyClientProperties operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceNotFoundException * The resource could not be found. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.ModifyClientProperties * @see AWS API Documentation */ @Override public ModifyClientPropertiesResult modifyClientProperties(ModifyClientPropertiesRequest request) { request = beforeClientExecution(request); return executeModifyClientProperties(request); } @SdkInternalApi final ModifyClientPropertiesResult executeModifyClientProperties(ModifyClientPropertiesRequest modifyClientPropertiesRequest) { ExecutionContext executionContext = createExecutionContext(modifyClientPropertiesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ModifyClientPropertiesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(modifyClientPropertiesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ModifyClientProperties"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ModifyClientPropertiesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Modifies the specified WorkSpace properties. *

* * @param modifyWorkspacePropertiesRequest * @return Result of the ModifyWorkspaceProperties operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws InvalidResourceStateException * The state of the resource is not valid for this operation. * @throws OperationInProgressException * The properties of this WorkSpace are currently being modified. Try again in a moment. * @throws UnsupportedWorkspaceConfigurationException * The configuration of this WorkSpace is not supported for this operation. For more information, see the Amazon WorkSpaces Administration * Guide. * @throws ResourceNotFoundException * The resource could not be found. * @throws AccessDeniedException * The user is not authorized to access a resource. * @throws ResourceUnavailableException * The specified resource is not available. * @sample AmazonWorkspaces.ModifyWorkspaceProperties * @see AWS API Documentation */ @Override public ModifyWorkspacePropertiesResult modifyWorkspaceProperties(ModifyWorkspacePropertiesRequest request) { request = beforeClientExecution(request); return executeModifyWorkspaceProperties(request); } @SdkInternalApi final ModifyWorkspacePropertiesResult executeModifyWorkspaceProperties(ModifyWorkspacePropertiesRequest modifyWorkspacePropertiesRequest) { ExecutionContext executionContext = createExecutionContext(modifyWorkspacePropertiesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ModifyWorkspacePropertiesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(modifyWorkspacePropertiesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ModifyWorkspaceProperties"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ModifyWorkspacePropertiesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Sets the state of the specified WorkSpace. *

*

* To maintain a WorkSpace without being interrupted, set the WorkSpace state to ADMIN_MAINTENANCE. * WorkSpaces in this state do not respond to requests to reboot, stop, start, or rebuild. An AutoStop WorkSpace in * this state is not stopped. Users can log into a WorkSpace in the ADMIN_MAINTENANCE state. *

* * @param modifyWorkspaceStateRequest * @return Result of the ModifyWorkspaceState operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws InvalidResourceStateException * The state of the resource is not valid for this operation. * @throws ResourceNotFoundException * The resource could not be found. * @sample AmazonWorkspaces.ModifyWorkspaceState * @see AWS API Documentation */ @Override public ModifyWorkspaceStateResult modifyWorkspaceState(ModifyWorkspaceStateRequest request) { request = beforeClientExecution(request); return executeModifyWorkspaceState(request); } @SdkInternalApi final ModifyWorkspaceStateResult executeModifyWorkspaceState(ModifyWorkspaceStateRequest modifyWorkspaceStateRequest) { ExecutionContext executionContext = createExecutionContext(modifyWorkspaceStateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ModifyWorkspaceStateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(modifyWorkspaceStateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ModifyWorkspaceState"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ModifyWorkspaceStateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Reboots the specified WorkSpaces. *

*

* You cannot reboot a WorkSpace unless its state is AVAILABLE or UNHEALTHY. *

*

* This operation is asynchronous and returns before the WorkSpaces have rebooted. *

* * @param rebootWorkspacesRequest * @return Result of the RebootWorkspaces operation returned by the service. * @sample AmazonWorkspaces.RebootWorkspaces * @see AWS * API Documentation */ @Override public RebootWorkspacesResult rebootWorkspaces(RebootWorkspacesRequest request) { request = beforeClientExecution(request); return executeRebootWorkspaces(request); } @SdkInternalApi final RebootWorkspacesResult executeRebootWorkspaces(RebootWorkspacesRequest rebootWorkspacesRequest) { ExecutionContext executionContext = createExecutionContext(rebootWorkspacesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RebootWorkspacesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(rebootWorkspacesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RebootWorkspaces"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RebootWorkspacesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Rebuilds the specified WorkSpace. *

*

* You cannot rebuild a WorkSpace unless its state is AVAILABLE, ERROR, or * UNHEALTHY. *

*

* Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. For more * information, see Rebuild * a WorkSpace. *

*

* This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt. *

* * @param rebuildWorkspacesRequest * @return Result of the RebuildWorkspaces operation returned by the service. * @sample AmazonWorkspaces.RebuildWorkspaces * @see AWS * API Documentation */ @Override public RebuildWorkspacesResult rebuildWorkspaces(RebuildWorkspacesRequest request) { request = beforeClientExecution(request); return executeRebuildWorkspaces(request); } @SdkInternalApi final RebuildWorkspacesResult executeRebuildWorkspaces(RebuildWorkspacesRequest rebuildWorkspacesRequest) { ExecutionContext executionContext = createExecutionContext(rebuildWorkspacesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RebuildWorkspacesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(rebuildWorkspacesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RebuildWorkspaces"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RebuildWorkspacesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Removes one or more rules from the specified IP access control group. *

* * @param revokeIpRulesRequest * @return Result of the RevokeIpRules operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceNotFoundException * The resource could not be found. * @throws InvalidResourceStateException * The state of the resource is not valid for this operation. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.RevokeIpRules * @see AWS API * Documentation */ @Override public RevokeIpRulesResult revokeIpRules(RevokeIpRulesRequest request) { request = beforeClientExecution(request); return executeRevokeIpRules(request); } @SdkInternalApi final RevokeIpRulesResult executeRevokeIpRules(RevokeIpRulesRequest revokeIpRulesRequest) { ExecutionContext executionContext = createExecutionContext(revokeIpRulesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RevokeIpRulesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(revokeIpRulesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RevokeIpRules"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RevokeIpRulesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Starts the specified WorkSpaces. *

*

* You cannot start a WorkSpace unless it has a running mode of AutoStop and a state of * STOPPED. *

* * @param startWorkspacesRequest * @return Result of the StartWorkspaces operation returned by the service. * @sample AmazonWorkspaces.StartWorkspaces * @see AWS API * Documentation */ @Override public StartWorkspacesResult startWorkspaces(StartWorkspacesRequest request) { request = beforeClientExecution(request); return executeStartWorkspaces(request); } @SdkInternalApi final StartWorkspacesResult executeStartWorkspaces(StartWorkspacesRequest startWorkspacesRequest) { ExecutionContext executionContext = createExecutionContext(startWorkspacesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartWorkspacesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startWorkspacesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartWorkspaces"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartWorkspacesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Stops the specified WorkSpaces. *

*

* You cannot stop a WorkSpace unless it has a running mode of AutoStop and a state of * AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR. *

* * @param stopWorkspacesRequest * @return Result of the StopWorkspaces operation returned by the service. * @sample AmazonWorkspaces.StopWorkspaces * @see AWS API * Documentation */ @Override public StopWorkspacesResult stopWorkspaces(StopWorkspacesRequest request) { request = beforeClientExecution(request); return executeStopWorkspaces(request); } @SdkInternalApi final StopWorkspacesResult executeStopWorkspaces(StopWorkspacesRequest stopWorkspacesRequest) { ExecutionContext executionContext = createExecutionContext(stopWorkspacesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StopWorkspacesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(stopWorkspacesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StopWorkspaces"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StopWorkspacesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Terminates the specified WorkSpaces. *

*

* Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is destroyed. If you need to * archive any user data, contact Amazon Web Services before terminating the WorkSpace. *

*

* You can terminate a WorkSpace that is in any state except SUSPENDED. *

*

* This operation is asynchronous and returns before the WorkSpaces have been completely terminated. *

* * @param terminateWorkspacesRequest * @return Result of the TerminateWorkspaces operation returned by the service. * @sample AmazonWorkspaces.TerminateWorkspaces * @see AWS * API Documentation */ @Override public TerminateWorkspacesResult terminateWorkspaces(TerminateWorkspacesRequest request) { request = beforeClientExecution(request); return executeTerminateWorkspaces(request); } @SdkInternalApi final TerminateWorkspacesResult executeTerminateWorkspaces(TerminateWorkspacesRequest terminateWorkspacesRequest) { ExecutionContext executionContext = createExecutionContext(terminateWorkspacesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TerminateWorkspacesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(terminateWorkspacesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TerminateWorkspaces"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TerminateWorkspacesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Replaces the current rules of the specified IP access control group with the specified rules. *

* * @param updateRulesOfIpGroupRequest * @return Result of the UpdateRulesOfIpGroup operation returned by the service. * @throws InvalidParameterValuesException * One or more parameter values are not valid. * @throws ResourceNotFoundException * The resource could not be found. * @throws ResourceLimitExceededException * Your resource limits have been exceeded. * @throws InvalidResourceStateException * The state of the resource is not valid for this operation. * @throws AccessDeniedException * The user is not authorized to access a resource. * @sample AmazonWorkspaces.UpdateRulesOfIpGroup * @see AWS API Documentation */ @Override public UpdateRulesOfIpGroupResult updateRulesOfIpGroup(UpdateRulesOfIpGroupRequest request) { request = beforeClientExecution(request); return executeUpdateRulesOfIpGroup(request); } @SdkInternalApi final UpdateRulesOfIpGroupResult executeUpdateRulesOfIpGroup(UpdateRulesOfIpGroupRequest updateRulesOfIpGroupRequest) { ExecutionContext executionContext = createExecutionContext(updateRulesOfIpGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateRulesOfIpGroupRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateRulesOfIpGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WorkSpaces"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateRulesOfIpGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateRulesOfIpGroupResultJsonUnmarshaller()); 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; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy