/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ssmcontacts; 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.ssmcontacts.AWSSSMContactsClientBuilder; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.ssmcontacts.model.*; import com.amazonaws.services.ssmcontacts.model.transform.*; /** * Client for accessing SSM Contacts. All service calls made using this client are blocking, and will not return until * the service call completes. *
*
* Systems Manager Incident Manager is an incident management console designed to help users mitigate and recover from * incidents affecting their Amazon Web Services-hosted applications. An incident is any unplanned interruption or * reduction in quality of services. *
** Incident Manager increases incident resolution by notifying responders of impact, highlighting relevant * troubleshooting data, and providing collaboration tools to get services back up and running. To achieve the primary * goal of reducing the time-to-resolution of critical incidents, Incident Manager automates response plans and enables * responder team escalation. *
*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AWSSSMContactsClient extends AmazonWebServiceClient implements AWSSSMContacts { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSSSMContacts.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "ssm-contacts"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withSupportsIon(false) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ThrottlingException").withExceptionUnmarshaller( com.amazonaws.services.ssmcontacts.model.transform.ThrottlingExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ServiceQuotaExceededException").withExceptionUnmarshaller( com.amazonaws.services.ssmcontacts.model.transform.ServiceQuotaExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InternalServerException").withExceptionUnmarshaller( com.amazonaws.services.ssmcontacts.model.transform.InternalServerExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withExceptionUnmarshaller( com.amazonaws.services.ssmcontacts.model.transform.AccessDeniedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ConflictException").withExceptionUnmarshaller( com.amazonaws.services.ssmcontacts.model.transform.ConflictExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.ssmcontacts.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ValidationException").withExceptionUnmarshaller( com.amazonaws.services.ssmcontacts.model.transform.ValidationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("DataEncryptionException").withExceptionUnmarshaller( com.amazonaws.services.ssmcontacts.model.transform.DataEncryptionExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.ssmcontacts.model.AWSSSMContactsException.class)); public static AWSSSMContactsClientBuilder builder() { return AWSSSMContactsClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on SSM Contacts 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. */ AWSSSMContactsClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on SSM Contacts 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. */ AWSSSMContactsClient(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("ssm-contacts.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/ssmcontacts/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/ssmcontacts/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *
* Used to acknowledge an engagement to a contact channel during an incident. *
* * @param acceptPageRequest * @return Result of the AcceptPage operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.AcceptPage * @see AWS API * Documentation */ @Override public AcceptPageResult acceptPage(AcceptPageRequest request) { request = beforeClientExecution(request); return executeAcceptPage(request); } @SdkInternalApi final AcceptPageResult executeAcceptPage(AcceptPageRequest acceptPageRequest) { ExecutionContext executionContext = createExecutionContext(acceptPageRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Activates a contact's contact channel. Incident Manager can't engage a contact until the contact channel has been * activated. *
* * @param activateContactChannelRequest * @return Result of the ActivateContactChannel operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ActivateContactChannel * @see AWS API Documentation */ @Override public ActivateContactChannelResult activateContactChannel(ActivateContactChannelRequest request) { request = beforeClientExecution(request); return executeActivateContactChannel(request); } @SdkInternalApi final ActivateContactChannelResult executeActivateContactChannel(ActivateContactChannelRequest activateContactChannelRequest) { ExecutionContext executionContext = createExecutionContext(activateContactChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Contacts are either the contacts that Incident Manager engages during an incident or the escalation plans that * Incident Manager uses to engage contacts in phases during an incident. *
* * @param createContactRequest * @return Result of the CreateContact operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ConflictException * Updating or deleting a resource causes an inconsistent state. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ServiceQuotaExceededException * Request would cause a service quota to be exceeded. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @sample AWSSSMContacts.CreateContact * @see AWS API * Documentation */ @Override public CreateContactResult createContact(CreateContactRequest request) { request = beforeClientExecution(request); return executeCreateContact(request); } @SdkInternalApi final CreateContactResult executeCreateContact(CreateContactRequest createContactRequest) { ExecutionContext executionContext = createExecutionContext(createContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* A contact channel is the method that Incident Manager uses to engage your contact. *
* * @param createContactChannelRequest * @return Result of the CreateContactChannel operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ConflictException * Updating or deleting a resource causes an inconsistent state. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.CreateContactChannel * @see AWS API Documentation */ @Override public CreateContactChannelResult createContactChannel(CreateContactChannelRequest request) { request = beforeClientExecution(request); return executeCreateContactChannel(request); } @SdkInternalApi final CreateContactChannelResult executeCreateContactChannel(CreateContactChannelRequest createContactChannelRequest) { ExecutionContext executionContext = createExecutionContext(createContactChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Creates a rotation in an on-call schedule. *
* * @param createRotationRequest * @return Result of the CreateRotation operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ServiceQuotaExceededException * Request would cause a service quota to be exceeded. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.CreateRotation * @see AWS * API Documentation */ @Override public CreateRotationResult createRotation(CreateRotationRequest request) { request = beforeClientExecution(request); return executeCreateRotation(request); } @SdkInternalApi final CreateRotationResult executeCreateRotation(CreateRotationRequest createRotationRequest) { ExecutionContext executionContext = createExecutionContext(createRotationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Creates an override for a rotation in an on-call schedule. *
* * @param createRotationOverrideRequest * @return Result of the CreateRotationOverride operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ServiceQuotaExceededException * Request would cause a service quota to be exceeded. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.CreateRotationOverride * @see AWS API Documentation */ @Override public CreateRotationOverrideResult createRotationOverride(CreateRotationOverrideRequest request) { request = beforeClientExecution(request); return executeCreateRotationOverride(request); } @SdkInternalApi final CreateRotationOverrideResult executeCreateRotationOverride(CreateRotationOverrideRequest createRotationOverrideRequest) { ExecutionContext executionContext = createExecutionContext(createRotationOverrideRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* To no longer receive Incident Manager engagements to a contact channel, you can deactivate the channel. *
* * @param deactivateContactChannelRequest * @return Result of the DeactivateContactChannel operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.DeactivateContactChannel * @see AWS API Documentation */ @Override public DeactivateContactChannelResult deactivateContactChannel(DeactivateContactChannelRequest request) { request = beforeClientExecution(request); return executeDeactivateContactChannel(request); } @SdkInternalApi final DeactivateContactChannelResult executeDeactivateContactChannel(DeactivateContactChannelRequest deactivateContactChannelRequest) { ExecutionContext executionContext = createExecutionContext(deactivateContactChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* To remove a contact from Incident Manager, you can delete the contact. Deleting a contact removes them from all * escalation plans and related response plans. Deleting an escalation plan removes it from all related response * plans. You will have to recreate the contact and its contact channels before you can use it again. *
* * @param deleteContactRequest * @return Result of the DeleteContact operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ConflictException * Updating or deleting a resource causes an inconsistent state. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.DeleteContact * @see AWS API * Documentation */ @Override public DeleteContactResult deleteContact(DeleteContactRequest request) { request = beforeClientExecution(request); return executeDeleteContact(request); } @SdkInternalApi final DeleteContactResult executeDeleteContact(DeleteContactRequest deleteContactRequest) { ExecutionContext executionContext = createExecutionContext(deleteContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* To no longer receive engagements on a contact channel, you can delete the channel from a contact. Deleting the * contact channel removes it from the contact's engagement plan. If you delete the only contact channel for a * contact, you won't be able to engage that contact during an incident. *
* * @param deleteContactChannelRequest * @return Result of the DeleteContactChannel operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.DeleteContactChannel * @see AWS API Documentation */ @Override public DeleteContactChannelResult deleteContactChannel(DeleteContactChannelRequest request) { request = beforeClientExecution(request); return executeDeleteContactChannel(request); } @SdkInternalApi final DeleteContactChannelResult executeDeleteContactChannel(DeleteContactChannelRequest deleteContactChannelRequest) { ExecutionContext executionContext = createExecutionContext(deleteContactChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes a rotation from the system. If a rotation belongs to more than one on-call schedule, this operation * deletes it from all of them. *
* * @param deleteRotationRequest * @return Result of the DeleteRotation operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ConflictException * Updating or deleting a resource causes an inconsistent state. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.DeleteRotation * @see AWS * API Documentation */ @Override public DeleteRotationResult deleteRotation(DeleteRotationRequest request) { request = beforeClientExecution(request); return executeDeleteRotation(request); } @SdkInternalApi final DeleteRotationResult executeDeleteRotation(DeleteRotationRequest deleteRotationRequest) { ExecutionContext executionContext = createExecutionContext(deleteRotationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Deletes an existing override for an on-call rotation. *
* * @param deleteRotationOverrideRequest * @return Result of the DeleteRotationOverride operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.DeleteRotationOverride * @see AWS API Documentation */ @Override public DeleteRotationOverrideResult deleteRotationOverride(DeleteRotationOverrideRequest request) { request = beforeClientExecution(request); return executeDeleteRotationOverride(request); } @SdkInternalApi final DeleteRotationOverrideResult executeDeleteRotationOverride(DeleteRotationOverrideRequest deleteRotationOverrideRequest) { ExecutionContext executionContext = createExecutionContext(deleteRotationOverrideRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Incident Manager uses engagements to engage contacts and escalation plans during an incident. Use this command to * describe the engagement that occurred during an incident. *
* * @param describeEngagementRequest * @return Result of the DescribeEngagement operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.DescribeEngagement * @see AWS API Documentation */ @Override public DescribeEngagementResult describeEngagement(DescribeEngagementRequest request) { request = beforeClientExecution(request); return executeDescribeEngagement(request); } @SdkInternalApi final DescribeEngagementResult executeDescribeEngagement(DescribeEngagementRequest describeEngagementRequest) { ExecutionContext executionContext = createExecutionContext(describeEngagementRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Lists details of the engagement to a contact channel. *
* * @param describePageRequest * @return Result of the DescribePage operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.DescribePage * @see AWS API * Documentation */ @Override public DescribePageResult describePage(DescribePageRequest request) { request = beforeClientExecution(request); return executeDescribePage(request); } @SdkInternalApi final DescribePageResult executeDescribePage(DescribePageRequest describePageRequest) { ExecutionContext executionContext = createExecutionContext(describePageRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Retrieves information about the specified contact or escalation plan. *
* * @param getContactRequest * @return Result of the GetContact operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @sample AWSSSMContacts.GetContact * @see AWS API * Documentation */ @Override public GetContactResult getContact(GetContactRequest request) { request = beforeClientExecution(request); return executeGetContact(request); } @SdkInternalApi final GetContactResult executeGetContact(GetContactRequest getContactRequest) { ExecutionContext executionContext = createExecutionContext(getContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* List details about a specific contact channel. *
* * @param getContactChannelRequest * @return Result of the GetContactChannel operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.GetContactChannel * @see AWS * API Documentation */ @Override public GetContactChannelResult getContactChannel(GetContactChannelRequest request) { request = beforeClientExecution(request); return executeGetContactChannel(request); } @SdkInternalApi final GetContactChannelResult executeGetContactChannel(GetContactChannelRequest getContactChannelRequest) { ExecutionContext executionContext = createExecutionContext(getContactChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Retrieves the resource policies attached to the specified contact or escalation plan. *
* * @param getContactPolicyRequest * @return Result of the GetContactPolicy operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.GetContactPolicy * @see AWS * API Documentation */ @Override public GetContactPolicyResult getContactPolicy(GetContactPolicyRequest request) { request = beforeClientExecution(request); return executeGetContactPolicy(request); } @SdkInternalApi final GetContactPolicyResult executeGetContactPolicy(GetContactPolicyRequest getContactPolicyRequest) { ExecutionContext executionContext = createExecutionContext(getContactPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Retrieves information about an on-call rotation. *
* * @param getRotationRequest * @return Result of the GetRotation operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.GetRotation * @see AWS API * Documentation */ @Override public GetRotationResult getRotation(GetRotationRequest request) { request = beforeClientExecution(request); return executeGetRotation(request); } @SdkInternalApi final GetRotationResult executeGetRotation(GetRotationRequest getRotationRequest) { ExecutionContext executionContext = createExecutionContext(getRotationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Retrieves information about an override to an on-call rotation. *
* * @param getRotationOverrideRequest * @return Result of the GetRotationOverride operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.GetRotationOverride * @see AWS API Documentation */ @Override public GetRotationOverrideResult getRotationOverride(GetRotationOverrideRequest request) { request = beforeClientExecution(request); return executeGetRotationOverride(request); } @SdkInternalApi final GetRotationOverrideResult executeGetRotationOverride(GetRotationOverrideRequest getRotationOverrideRequest) { ExecutionContext executionContext = createExecutionContext(getRotationOverrideRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Lists all contact channels for the specified contact. *
* * @param listContactChannelsRequest * @return Result of the ListContactChannels operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListContactChannels * @see AWS API Documentation */ @Override public ListContactChannelsResult listContactChannels(ListContactChannelsRequest request) { request = beforeClientExecution(request); return executeListContactChannels(request); } @SdkInternalApi final ListContactChannelsResult executeListContactChannels(ListContactChannelsRequest listContactChannelsRequest) { ExecutionContext executionContext = createExecutionContext(listContactChannelsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Lists all contacts and escalation plans in Incident Manager. *
* * @param listContactsRequest * @return Result of the ListContacts operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListContacts * @see AWS API * Documentation */ @Override public ListContactsResult listContacts(ListContactsRequest request) { request = beforeClientExecution(request); return executeListContacts(request); } @SdkInternalApi final ListContactsResult executeListContacts(ListContactsRequest listContactsRequest) { ExecutionContext executionContext = createExecutionContext(listContactsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Lists all engagements that have happened in an incident. *
* * @param listEngagementsRequest * @return Result of the ListEngagements operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListEngagements * @see AWS * API Documentation */ @Override public ListEngagementsResult listEngagements(ListEngagementsRequest request) { request = beforeClientExecution(request); return executeListEngagements(request); } @SdkInternalApi final ListEngagementsResult executeListEngagements(ListEngagementsRequest listEngagementsRequest) { ExecutionContext executionContext = createExecutionContext(listEngagementsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Lists all of the engagements to contact channels that have been acknowledged. *
* * @param listPageReceiptsRequest * @return Result of the ListPageReceipts operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListPageReceipts * @see AWS * API Documentation */ @Override public ListPageReceiptsResult listPageReceipts(ListPageReceiptsRequest request) { request = beforeClientExecution(request); return executeListPageReceipts(request); } @SdkInternalApi final ListPageReceiptsResult executeListPageReceipts(ListPageReceiptsRequest listPageReceiptsRequest) { ExecutionContext executionContext = createExecutionContext(listPageReceiptsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns the resolution path of an engagement. For example, the escalation plan engaged in an incident might * target an on-call schedule that includes several contacts in a rotation, but just one contact on-call when the * incident starts. The resolution path indicates the hierarchy of escalation plan > on-call schedule > * contact. *
* * @param listPageResolutionsRequest * @return Result of the ListPageResolutions operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListPageResolutions * @see AWS API Documentation */ @Override public ListPageResolutionsResult listPageResolutions(ListPageResolutionsRequest request) { request = beforeClientExecution(request); return executeListPageResolutions(request); } @SdkInternalApi final ListPageResolutionsResult executeListPageResolutions(ListPageResolutionsRequest listPageResolutionsRequest) { ExecutionContext executionContext = createExecutionContext(listPageResolutionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Lists the engagements to a contact's contact channels. *
* * @param listPagesByContactRequest * @return Result of the ListPagesByContact operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListPagesByContact * @see AWS API Documentation */ @Override public ListPagesByContactResult listPagesByContact(ListPagesByContactRequest request) { request = beforeClientExecution(request); return executeListPagesByContact(request); } @SdkInternalApi final ListPagesByContactResult executeListPagesByContact(ListPagesByContactRequest listPagesByContactRequest) { ExecutionContext executionContext = createExecutionContext(listPagesByContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Lists the engagements to contact channels that occurred by engaging a contact. *
* * @param listPagesByEngagementRequest * @return Result of the ListPagesByEngagement operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListPagesByEngagement * @see AWS API Documentation */ @Override public ListPagesByEngagementResult listPagesByEngagement(ListPagesByEngagementRequest request) { request = beforeClientExecution(request); return executeListPagesByEngagement(request); } @SdkInternalApi final ListPagesByEngagementResult executeListPagesByEngagement(ListPagesByEngagementRequest listPagesByEngagementRequest) { ExecutionContext executionContext = createExecutionContext(listPagesByEngagementRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns a list of shifts based on rotation configuration parameters. *
** The Incident Manager primarily uses this operation to populate the Preview calendar. It is not typically * run by end users. *
** Retrieves a list of overrides currently specified for an on-call rotation. *
* * @param listRotationOverridesRequest * @return Result of the ListRotationOverrides operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListRotationOverrides * @see AWS API Documentation */ @Override public ListRotationOverridesResult listRotationOverrides(ListRotationOverridesRequest request) { request = beforeClientExecution(request); return executeListRotationOverrides(request); } @SdkInternalApi final ListRotationOverridesResult executeListRotationOverrides(ListRotationOverridesRequest listRotationOverridesRequest) { ExecutionContext executionContext = createExecutionContext(listRotationOverridesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Returns a list of shifts generated by an existing rotation in the system. *
* * @param listRotationShiftsRequest * @return Result of the ListRotationShifts operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ConflictException * Updating or deleting a resource causes an inconsistent state. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListRotationShifts * @see AWS API Documentation */ @Override public ListRotationShiftsResult listRotationShifts(ListRotationShiftsRequest request) { request = beforeClientExecution(request); return executeListRotationShifts(request); } @SdkInternalApi final ListRotationShiftsResult executeListRotationShifts(ListRotationShiftsRequest listRotationShiftsRequest) { ExecutionContext executionContext = createExecutionContext(listRotationShiftsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Retrieves a list of on-call rotations. *
* * @param listRotationsRequest * @return Result of the ListRotations operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.ListRotations * @see AWS API * Documentation */ @Override public ListRotationsResult listRotations(ListRotationsRequest request) { request = beforeClientExecution(request); return executeListRotations(request); } @SdkInternalApi final ListRotationsResult executeListRotations(ListRotationsRequest listRotationsRequest) { ExecutionContext executionContext = createExecutionContext(listRotationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Lists the tags of an escalation plan or contact. *
* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @throws InternalServerException * Unexpected error occurred while processing the request. * @sample AWSSSMContacts.ListTagsForResource * @see AWS API Documentation */ @Override public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) { request = beforeClientExecution(request); return executeListTagsForResource(request); } @SdkInternalApi final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) { ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Adds a resource policy to the specified contact or escalation plan. The resource policy is used to share the * contact or escalation plan using Resource Access Manager (RAM). For more information about cross-account sharing, * see Setting up cross-account * functionality. *
* * @param putContactPolicyRequest * @return Result of the PutContactPolicy operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ConflictException * Updating or deleting a resource causes an inconsistent state. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws InternalServerException * Unexpected error occurred while processing the request. * @sample AWSSSMContacts.PutContactPolicy * @see AWS * API Documentation */ @Override public PutContactPolicyResult putContactPolicy(PutContactPolicyRequest request) { request = beforeClientExecution(request); return executePutContactPolicy(request); } @SdkInternalApi final PutContactPolicyResult executePutContactPolicy(PutContactPolicyRequest putContactPolicyRequest) { ExecutionContext executionContext = createExecutionContext(putContactPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* Sends an activation code to a contact channel. The contact can use this code to activate the contact channel in
* the console or with the ActivateChannel
operation. Incident Manager can't engage a contact channel
* until it has been activated.
*
* Starts an engagement to a contact or escalation plan. The engagement engages each contact specified in the * incident. *
* * @param startEngagementRequest * @return Result of the StartEngagement operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.StartEngagement * @see AWS * API Documentation */ @Override public StartEngagementResult startEngagement(StartEngagementRequest request) { request = beforeClientExecution(request); return executeStartEngagement(request); } @SdkInternalApi final StartEngagementResult executeStartEngagement(StartEngagementRequest startEngagementRequest) { ExecutionContext executionContext = createExecutionContext(startEngagementRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Stops an engagement before it finishes the final stage of the escalation plan or engagement plan. Further * contacts aren't engaged. *
* * @param stopEngagementRequest * @return Result of the StopEngagement operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws InternalServerException * Unexpected error occurred while processing the request. * @sample AWSSSMContacts.StopEngagement * @see AWS * API Documentation */ @Override public StopEngagementResult stopEngagement(StopEngagementRequest request) { request = beforeClientExecution(request); return executeStopEngagement(request); } @SdkInternalApi final StopEngagementResult executeStopEngagement(StopEngagementRequest stopEngagementRequest) { ExecutionContext executionContext = createExecutionContext(stopEngagementRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Tags a contact or escalation plan. You can tag only contacts and escalation plans in the first region of your * replication set. *
* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ServiceQuotaExceededException * Request would cause a service quota to be exceeded. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.TagResource * @see AWS API * Documentation */ @Override public TagResourceResult tagResource(TagResourceRequest request) { request = beforeClientExecution(request); return executeTagResource(request); } @SdkInternalApi final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) { ExecutionContext executionContext = createExecutionContext(tagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Removes tags from the specified resource. *
* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @throws InternalServerException * Unexpected error occurred while processing the request. * @sample AWSSSMContacts.UntagResource * @see AWS API * Documentation */ @Override public UntagResourceResult untagResource(UntagResourceRequest request) { request = beforeClientExecution(request); return executeUntagResource(request); } @SdkInternalApi final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) { ExecutionContext executionContext = createExecutionContext(untagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Updates the contact or escalation plan specified. *
* * @param updateContactRequest * @return Result of the UpdateContact operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ServiceQuotaExceededException * Request would cause a service quota to be exceeded. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @sample AWSSSMContacts.UpdateContact * @see AWS API * Documentation */ @Override public UpdateContactResult updateContact(UpdateContactRequest request) { request = beforeClientExecution(request); return executeUpdateContact(request); } @SdkInternalApi final UpdateContactResult executeUpdateContact(UpdateContactRequest updateContactRequest) { ExecutionContext executionContext = createExecutionContext(updateContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Updates a contact's contact channel. *
* * @param updateContactChannelRequest * @return Result of the UpdateContactChannel operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ConflictException * Updating or deleting a resource causes an inconsistent state. * @throws DataEncryptionException * The operation failed to due an encryption key error. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.UpdateContactChannel * @see AWS API Documentation */ @Override public UpdateContactChannelResult updateContactChannel(UpdateContactChannelRequest request) { request = beforeClientExecution(request); return executeUpdateContactChannel(request); } @SdkInternalApi final UpdateContactChannelResult executeUpdateContactChannel(UpdateContactChannelRequest updateContactChannelRequest) { ExecutionContext executionContext = createExecutionContext(updateContactChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* Updates the information specified for an on-call rotation. *
* * @param updateRotationRequest * @return Result of the UpdateRotation operation returned by the service. * @throws AccessDeniedException * You don't have sufficient access to perform this operation. * @throws ConflictException * Updating or deleting a resource causes an inconsistent state. * @throws InternalServerException * Unexpected error occurred while processing the request. * @throws ResourceNotFoundException * Request references a resource that doesn't exist. * @throws ThrottlingException * The request was denied due to request throttling. * @throws ValidationException * The input fails to satisfy the constraints specified by an Amazon Web Services service. * @sample AWSSSMContacts.UpdateRotation * @see AWS * API Documentation */ @Override public UpdateRotationResult updateRotation(UpdateRotationRequest request) { request = beforeClientExecution(request); return executeUpdateRotation(request); } @SdkInternalApi final UpdateRotationResult executeUpdateRotation(UpdateRotationRequest updateRotationRequest) { ExecutionContext executionContext = createExecutionContext(updateRotationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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