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

com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementAsyncClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Simple Systems Management Service holds the client classes that are used for communicating with the AWS Simple Systems Management Service

There is a newer version: 1.9.23
Show newest version
/*
 * Copyright 2011-2016 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.simplesystemsmanagement;

import com.amazonaws.services.simplesystemsmanagement.model.*;
import com.amazonaws.client.AwsAsyncClientParams;
import com.amazonaws.annotation.ThreadSafe;

/**
 * Interface for accessing Amazon SSM asynchronously. Each asynchronous method will return a Java Future object
 * representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive
 * notification when an asynchronous operation completes.
 * 

*

* Amazon EC2 Simple Systems Manager (SSM) enables you to remotely manage the configuration of your Amazon EC2 * instances, virtual machines (VMs), or servers in your on-premises environment or in an environment provided by other * cloud providers using scripts, commands, or the Amazon EC2 console. SSM includes an on-demand solution called * Amazon EC2 Run Command and a lightweight instance configuration solution called SSM Config. *

*

* This references is intended to be used with the EC2 Run Command User Guide for Linux or Windows. *

* *

* You must register your on-premises servers and VMs through an activation process before you can configure them using * Run Command. Registered servers and VMs are called managed instances. For more information, see Setting Up Run Command On Managed * Instances (On-Premises Servers and VMs) on Linux or Setting Up Run Command On Managed * Instances (On-Premises Servers and VMs) on Windows. *

*
*

* Run Command *

*

* Run Command provides an on-demand experience for executing commands. You can use pre-defined SSM documents to perform * the actions listed later in this section, or you can create your own documents. With these documents, you can * remotely configure your instances by sending commands using the Commands page in the Amazon EC2 console, AWS * Tools for Windows PowerShell, the AWS * CLI, or AWS SDKs. *

*

* Run Command reports the status of the command execution for each instance targeted by a command. You can also audit * the command execution to understand who executed commands, when, and what changes were made. By switching between * different SSM documents, you can quickly configure your instances with different types of commands. To get started * with Run Command, verify that your environment meets the prerequisites for remotely running commands on EC2 instances * (Linux or Windows). *

*

*

* SSM Config *

*

* SSM Config is a lightweight instance configuration solution. SSM Config is currently only available for Windows * instances. With SSM Config, you can specify a setup configuration for your instances. SSM Config is similar to EC2 * User Data, which is another way of running one-time scripts or applying settings during instance launch. SSM Config * is an extension of this capability. Using SSM documents, you can specify which actions the system should perform on * your instances, including which applications to install, which AWS Directory Service directory to join, which * Microsoft PowerShell modules to install, etc. If an instance is missing one or more of these configurations, the * system makes those changes. By default, the system checks every five minutes to see if there is a new configuration * to apply as defined in a new SSM document. If so, the system updates the instances accordingly. In this way, you can * remotely maintain a consistent configuration baseline on your instances. SSM Config is available using the AWS CLI or * the AWS Tools for Windows PowerShell. For more information, see Managing Windows Instance * Configuration. *

*

* SSM Config and Run Command include the following pre-defined documents. *

*

* Linux *

*
    *
  • *

    * AWS-RunShellScript to run shell scripts *

    *
  • *
  • *

    * AWS-UpdateSSMAgent to update the Amazon SSM agent *

    *
  • *
*

*

* Windows *

*
    *
  • *

    * AWS-JoinDirectoryServiceDomain to join an AWS Directory *

    *
  • *
  • *

    * AWS-RunPowerShellScript to run PowerShell commands or scripts *

    *
  • *
  • *

    * AWS-UpdateEC2Config to update the EC2Config service *

    *
  • *
  • *

    * AWS-ConfigureWindowsUpdate to configure Windows Update settings *

    *
  • *
  • *

    * AWS-InstallApplication to install, repair, or uninstall software using an MSI package *

    *
  • *
  • *

    * AWS-InstallPowerShellModule to install PowerShell modules *

    *
  • *
  • *

    * AWS-ConfigureCloudWatch to configure Amazon CloudWatch Logs to monitor applications and systems *

    *
  • *
  • *

    * AWS-ListWindowsInventory to collect information about an EC2 instance running in Windows. *

    *
  • *
  • *

    * AWS-FindWindowsUpdates to scan an instance and determines which updates are missing. *

    *
  • *
  • *

    * AWS-InstallMissingWindowsUpdates to install missing updates on your EC2 instance. *

    *
  • *
  • *

    * AWS-InstallSpecificWindowsUpdates to install one or more specific updates. *

    *
  • *
* *

* The commands or scripts specified in SSM documents run with administrative privilege on your instances because the * Amazon SSM agent runs as root on Linux and the EC2Config service runs in the Local System account on Windows. If a * user has permission to execute any of the pre-defined SSM documents (any document that begins with AWS-*) then that * user also has administrator access to the instance. Delegate access to Run Command and SSM Config judiciously. This * becomes extremely important if you create your own SSM documents. Amazon Web Services does not provide guidance about * how to create secure SSM documents. You create SSM documents and delegate access to Run Command at your own risk. As * a security best practice, we recommend that you assign access to "AWS-*" documents, especially the AWS-RunShellScript * document on Linux and the AWS-RunPowerShellScript document on Windows, to trusted administrators only. You can create * SSM documents for specific tasks and delegate access to non-administrators. *

*
*

* For information about creating and sharing SSM documents, see the following topics in the SSM User Guide: *

* */ @ThreadSafe public class AWSSimpleSystemsManagementAsyncClient extends AWSSimpleSystemsManagementClient implements AWSSimpleSystemsManagementAsync { private static final int DEFAULT_THREAD_POOL_SIZE = 50; private final java.util.concurrent.ExecutorService executorService; /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM. 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
  • *
  • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
*

* Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default * maximum number of concurrent connections to the service). * * @see com.amazonaws.auth.DefaultAWSCredentialsProviderChain * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSimpleSystemsManagementAsyncClient() { this(com.amazonaws.auth.DefaultAWSCredentialsProviderChain.getInstance()); } /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM. 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
  • *
  • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
*

* Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the * maximum number of concurrent connections configured via {@code ClientConfiguration.getMaxConnections()}. * * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon SSM (ex: proxy settings, * retry counts, etc). * * @see com.amazonaws.auth.DefaultAWSCredentialsProviderChain * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSimpleSystemsManagementAsyncClient(com.amazonaws.ClientConfiguration clientConfiguration) { this(com.amazonaws.auth.DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration, java.util.concurrent.Executors .newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM using the specified AWS account * credentials. *

* Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default * maximum number of concurrent connections to the service). * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSimpleSystemsManagementAsyncClient(com.amazonaws.auth.AWSCredentials awsCredentials) { this(awsCredentials, java.util.concurrent.Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM using the specified AWS account * credentials and executor service. Default client settings will be used. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param executorService * The executor service by which all asynchronous requests will be executed. */ public AWSSimpleSystemsManagementAsyncClient(com.amazonaws.auth.AWSCredentials awsCredentials, java.util.concurrent.ExecutorService executorService) { this(awsCredentials, configFactory.getConfig(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM using the specified AWS account * credentials, executor service, and client configuration options. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy settings, etc). * @param executorService * The executor service by which all asynchronous requests will be executed. */ public AWSSimpleSystemsManagementAsyncClient(com.amazonaws.auth.AWSCredentials awsCredentials, com.amazonaws.ClientConfiguration clientConfiguration, java.util.concurrent.ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM using the specified AWS account * credentials provider. Default client settings will be used. *

* Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default * maximum number of concurrent connections to the service). * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSimpleSystemsManagementAsyncClient(com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, java.util.concurrent.Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM using the provided AWS account * credentials provider and client configuration options. *

* Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the * maximum number of concurrent connections configured via {@code ClientConfiguration.getMaxConnections()}. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy settings, etc). * * @see com.amazonaws.auth.DefaultAWSCredentialsProviderChain * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSimpleSystemsManagementAsyncClient(com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider, com.amazonaws.ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, java.util.concurrent.Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM using the specified AWS account * credentials provider and executor service. Default client settings will be used. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param executorService * The executor service by which all asynchronous requests will be executed. */ public AWSSimpleSystemsManagementAsyncClient(com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider, java.util.concurrent.ExecutorService executorService) { this(awsCredentialsProvider, configFactory.getConfig(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM using the specified AWS account * credentials provider, executor service, and client configuration options. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy settings, etc). * @param executorService * The executor service by which all asynchronous requests will be executed. */ public AWSSimpleSystemsManagementAsyncClient(com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider, com.amazonaws.ClientConfiguration clientConfiguration, java.util.concurrent.ExecutorService executorService) { super(awsCredentialsProvider, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on Amazon SSM using the specified parameters. * * @param asyncClientParams * Object providing client parameters. */ AWSSimpleSystemsManagementAsyncClient(AwsAsyncClientParams asyncClientParams) { super(asyncClientParams); this.executorService = asyncClientParams.getExecutor(); } /** * Returns the executor service used by this client to execute async requests. * * @return The executor service used by this client to execute async requests. */ public java.util.concurrent.ExecutorService getExecutorService() { return executorService; } @Override public java.util.concurrent.Future addTagsToResourceAsync(AddTagsToResourceRequest request) { return addTagsToResourceAsync(request, null); } @Override public java.util.concurrent.Future addTagsToResourceAsync(final AddTagsToResourceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public AddTagsToResourceResult call() throws Exception { AddTagsToResourceResult result; try { result = addTagsToResource(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future cancelCommandAsync(CancelCommandRequest request) { return cancelCommandAsync(request, null); } @Override public java.util.concurrent.Future cancelCommandAsync(final CancelCommandRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public CancelCommandResult call() throws Exception { CancelCommandResult result; try { result = cancelCommand(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future createActivationAsync(CreateActivationRequest request) { return createActivationAsync(request, null); } @Override public java.util.concurrent.Future createActivationAsync(final CreateActivationRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateActivationResult call() throws Exception { CreateActivationResult result; try { result = createActivation(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future createAssociationAsync(CreateAssociationRequest request) { return createAssociationAsync(request, null); } @Override public java.util.concurrent.Future createAssociationAsync(final CreateAssociationRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateAssociationResult call() throws Exception { CreateAssociationResult result; try { result = createAssociation(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future createAssociationBatchAsync(CreateAssociationBatchRequest request) { return createAssociationBatchAsync(request, null); } @Override public java.util.concurrent.Future createAssociationBatchAsync(final CreateAssociationBatchRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateAssociationBatchResult call() throws Exception { CreateAssociationBatchResult result; try { result = createAssociationBatch(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future createDocumentAsync(CreateDocumentRequest request) { return createDocumentAsync(request, null); } @Override public java.util.concurrent.Future createDocumentAsync(final CreateDocumentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateDocumentResult call() throws Exception { CreateDocumentResult result; try { result = createDocument(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future deleteActivationAsync(DeleteActivationRequest request) { return deleteActivationAsync(request, null); } @Override public java.util.concurrent.Future deleteActivationAsync(final DeleteActivationRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public DeleteActivationResult call() throws Exception { DeleteActivationResult result; try { result = deleteActivation(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future deleteAssociationAsync(DeleteAssociationRequest request) { return deleteAssociationAsync(request, null); } @Override public java.util.concurrent.Future deleteAssociationAsync(final DeleteAssociationRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public DeleteAssociationResult call() throws Exception { DeleteAssociationResult result; try { result = deleteAssociation(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future deleteDocumentAsync(DeleteDocumentRequest request) { return deleteDocumentAsync(request, null); } @Override public java.util.concurrent.Future deleteDocumentAsync(final DeleteDocumentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public DeleteDocumentResult call() throws Exception { DeleteDocumentResult result; try { result = deleteDocument(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future deregisterManagedInstanceAsync(DeregisterManagedInstanceRequest request) { return deregisterManagedInstanceAsync(request, null); } @Override public java.util.concurrent.Future deregisterManagedInstanceAsync(final DeregisterManagedInstanceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public DeregisterManagedInstanceResult call() throws Exception { DeregisterManagedInstanceResult result; try { result = deregisterManagedInstance(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeActivationsAsync(DescribeActivationsRequest request) { return describeActivationsAsync(request, null); } @Override public java.util.concurrent.Future describeActivationsAsync(final DescribeActivationsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public DescribeActivationsResult call() throws Exception { DescribeActivationsResult result; try { result = describeActivations(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeAssociationAsync(DescribeAssociationRequest request) { return describeAssociationAsync(request, null); } @Override public java.util.concurrent.Future describeAssociationAsync(final DescribeAssociationRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public DescribeAssociationResult call() throws Exception { DescribeAssociationResult result; try { result = describeAssociation(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeDocumentAsync(DescribeDocumentRequest request) { return describeDocumentAsync(request, null); } @Override public java.util.concurrent.Future describeDocumentAsync(final DescribeDocumentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public DescribeDocumentResult call() throws Exception { DescribeDocumentResult result; try { result = describeDocument(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeDocumentPermissionAsync(DescribeDocumentPermissionRequest request) { return describeDocumentPermissionAsync(request, null); } @Override public java.util.concurrent.Future describeDocumentPermissionAsync(final DescribeDocumentPermissionRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public DescribeDocumentPermissionResult call() throws Exception { DescribeDocumentPermissionResult result; try { result = describeDocumentPermission(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeInstanceInformationAsync(DescribeInstanceInformationRequest request) { return describeInstanceInformationAsync(request, null); } @Override public java.util.concurrent.Future describeInstanceInformationAsync(final DescribeInstanceInformationRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public DescribeInstanceInformationResult call() throws Exception { DescribeInstanceInformationResult result; try { result = describeInstanceInformation(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future getDocumentAsync(GetDocumentRequest request) { return getDocumentAsync(request, null); } @Override public java.util.concurrent.Future getDocumentAsync(final GetDocumentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public GetDocumentResult call() throws Exception { GetDocumentResult result; try { result = getDocument(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future listAssociationsAsync(ListAssociationsRequest request) { return listAssociationsAsync(request, null); } @Override public java.util.concurrent.Future listAssociationsAsync(final ListAssociationsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public ListAssociationsResult call() throws Exception { ListAssociationsResult result; try { result = listAssociations(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future listCommandInvocationsAsync(ListCommandInvocationsRequest request) { return listCommandInvocationsAsync(request, null); } @Override public java.util.concurrent.Future listCommandInvocationsAsync(final ListCommandInvocationsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public ListCommandInvocationsResult call() throws Exception { ListCommandInvocationsResult result; try { result = listCommandInvocations(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future listCommandsAsync(ListCommandsRequest request) { return listCommandsAsync(request, null); } @Override public java.util.concurrent.Future listCommandsAsync(final ListCommandsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public ListCommandsResult call() throws Exception { ListCommandsResult result; try { result = listCommands(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future listDocumentsAsync(ListDocumentsRequest request) { return listDocumentsAsync(request, null); } @Override public java.util.concurrent.Future listDocumentsAsync(final ListDocumentsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public ListDocumentsResult call() throws Exception { ListDocumentsResult result; try { result = listDocuments(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } /** * Simplified method form for invoking the ListDocuments operation. * * @see #listDocumentsAsync(ListDocumentsRequest) */ @Override public java.util.concurrent.Future listDocumentsAsync() { return listDocumentsAsync(new ListDocumentsRequest()); } /** * Simplified method form for invoking the ListDocuments operation with an AsyncHandler. * * @see #listDocumentsAsync(ListDocumentsRequest, com.amazonaws.handlers.AsyncHandler) */ public java.util.concurrent.Future listDocumentsAsync( com.amazonaws.handlers.AsyncHandler asyncHandler) { return listDocumentsAsync(new ListDocumentsRequest(), asyncHandler); } @Override public java.util.concurrent.Future listTagsForResourceAsync(ListTagsForResourceRequest request) { return listTagsForResourceAsync(request, null); } @Override public java.util.concurrent.Future listTagsForResourceAsync(final ListTagsForResourceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public ListTagsForResourceResult call() throws Exception { ListTagsForResourceResult result; try { result = listTagsForResource(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future modifyDocumentPermissionAsync(ModifyDocumentPermissionRequest request) { return modifyDocumentPermissionAsync(request, null); } @Override public java.util.concurrent.Future modifyDocumentPermissionAsync(final ModifyDocumentPermissionRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public ModifyDocumentPermissionResult call() throws Exception { ModifyDocumentPermissionResult result; try { result = modifyDocumentPermission(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future removeTagsFromResourceAsync(RemoveTagsFromResourceRequest request) { return removeTagsFromResourceAsync(request, null); } @Override public java.util.concurrent.Future removeTagsFromResourceAsync(final RemoveTagsFromResourceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public RemoveTagsFromResourceResult call() throws Exception { RemoveTagsFromResourceResult result; try { result = removeTagsFromResource(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future sendCommandAsync(SendCommandRequest request) { return sendCommandAsync(request, null); } @Override public java.util.concurrent.Future sendCommandAsync(final SendCommandRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public SendCommandResult call() throws Exception { SendCommandResult result; try { result = sendCommand(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future updateAssociationStatusAsync(UpdateAssociationStatusRequest request) { return updateAssociationStatusAsync(request, null); } @Override public java.util.concurrent.Future updateAssociationStatusAsync(final UpdateAssociationStatusRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public UpdateAssociationStatusResult call() throws Exception { UpdateAssociationStatusResult result; try { result = updateAssociationStatus(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future updateManagedInstanceRoleAsync(UpdateManagedInstanceRoleRequest request) { return updateManagedInstanceRoleAsync(request, null); } @Override public java.util.concurrent.Future updateManagedInstanceRoleAsync(final UpdateManagedInstanceRoleRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService.submit(new java.util.concurrent.Callable() { @Override public UpdateManagedInstanceRoleResult call() throws Exception { UpdateManagedInstanceRoleResult result; try { result = updateManagedInstanceRole(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } /** * Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending * asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should * call {@code getExecutorService().shutdown()} followed by {@code getExecutorService().awaitTermination()} prior to * calling this method. */ @Override public void shutdown() { super.shutdown(); executorService.shutdownNow(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy