/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace SSMContacts { /** *

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.

*/ class AWS_SSMCONTACTS_API SSMContactsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef SSMContactsClientConfiguration ClientConfigurationType; typedef SSMContactsEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SSMContactsClient(const Aws::SSMContacts::SSMContactsClientConfiguration& clientConfiguration = Aws::SSMContacts::SSMContactsClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SSMContactsClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::SSMContacts::SSMContactsClientConfiguration& clientConfiguration = Aws::SSMContacts::SSMContactsClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ SSMContactsClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::SSMContacts::SSMContactsClientConfiguration& clientConfiguration = Aws::SSMContacts::SSMContactsClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SSMContactsClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SSMContactsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ SSMContactsClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~SSMContactsClient(); /** *

Used to acknowledge an engagement to a contact channel during an * incident.

See Also:

AWS * API Reference

*/ virtual Model::AcceptPageOutcome AcceptPage(const Model::AcceptPageRequest& request) const; /** * A Callable wrapper for AcceptPage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AcceptPageOutcomeCallable AcceptPageCallable(const AcceptPageRequestT& request) const { return SubmitCallable(&SSMContactsClient::AcceptPage, request); } /** * An Async wrapper for AcceptPage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AcceptPageAsync(const AcceptPageRequestT& request, const AcceptPageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::AcceptPage, request, handler, context); } /** *

Activates a contact's contact channel. Incident Manager can't engage a * contact until the contact channel has been activated.

See Also:

* AWS * API Reference

*/ virtual Model::ActivateContactChannelOutcome ActivateContactChannel(const Model::ActivateContactChannelRequest& request) const; /** * A Callable wrapper for ActivateContactChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ActivateContactChannelOutcomeCallable ActivateContactChannelCallable(const ActivateContactChannelRequestT& request) const { return SubmitCallable(&SSMContactsClient::ActivateContactChannel, request); } /** * An Async wrapper for ActivateContactChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ActivateContactChannelAsync(const ActivateContactChannelRequestT& request, const ActivateContactChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ActivateContactChannel, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::CreateContactOutcome CreateContact(const Model::CreateContactRequest& request) const; /** * A Callable wrapper for CreateContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateContactOutcomeCallable CreateContactCallable(const CreateContactRequestT& request) const { return SubmitCallable(&SSMContactsClient::CreateContact, request); } /** * An Async wrapper for CreateContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateContactAsync(const CreateContactRequestT& request, const CreateContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::CreateContact, request, handler, context); } /** *

A contact channel is the method that Incident Manager uses to engage your * contact.

See Also:

AWS * API Reference

*/ virtual Model::CreateContactChannelOutcome CreateContactChannel(const Model::CreateContactChannelRequest& request) const; /** * A Callable wrapper for CreateContactChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateContactChannelOutcomeCallable CreateContactChannelCallable(const CreateContactChannelRequestT& request) const { return SubmitCallable(&SSMContactsClient::CreateContactChannel, request); } /** * An Async wrapper for CreateContactChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateContactChannelAsync(const CreateContactChannelRequestT& request, const CreateContactChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::CreateContactChannel, request, handler, context); } /** *

Creates a rotation in an on-call schedule.

See Also:

AWS * API Reference

*/ virtual Model::CreateRotationOutcome CreateRotation(const Model::CreateRotationRequest& request) const; /** * A Callable wrapper for CreateRotation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateRotationOutcomeCallable CreateRotationCallable(const CreateRotationRequestT& request) const { return SubmitCallable(&SSMContactsClient::CreateRotation, request); } /** * An Async wrapper for CreateRotation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateRotationAsync(const CreateRotationRequestT& request, const CreateRotationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::CreateRotation, request, handler, context); } /** *

Creates an override for a rotation in an on-call schedule.

See * Also:

AWS * API Reference

*/ virtual Model::CreateRotationOverrideOutcome CreateRotationOverride(const Model::CreateRotationOverrideRequest& request) const; /** * A Callable wrapper for CreateRotationOverride that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateRotationOverrideOutcomeCallable CreateRotationOverrideCallable(const CreateRotationOverrideRequestT& request) const { return SubmitCallable(&SSMContactsClient::CreateRotationOverride, request); } /** * An Async wrapper for CreateRotationOverride that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateRotationOverrideAsync(const CreateRotationOverrideRequestT& request, const CreateRotationOverrideResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::CreateRotationOverride, request, handler, context); } /** *

To no longer receive Incident Manager engagements to a contact channel, you * can deactivate the channel.

See Also:

AWS * API Reference

*/ virtual Model::DeactivateContactChannelOutcome DeactivateContactChannel(const Model::DeactivateContactChannelRequest& request) const; /** * A Callable wrapper for DeactivateContactChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeactivateContactChannelOutcomeCallable DeactivateContactChannelCallable(const DeactivateContactChannelRequestT& request) const { return SubmitCallable(&SSMContactsClient::DeactivateContactChannel, request); } /** * An Async wrapper for DeactivateContactChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeactivateContactChannelAsync(const DeactivateContactChannelRequestT& request, const DeactivateContactChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::DeactivateContactChannel, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DeleteContactOutcome DeleteContact(const Model::DeleteContactRequest& request) const; /** * A Callable wrapper for DeleteContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteContactOutcomeCallable DeleteContactCallable(const DeleteContactRequestT& request) const { return SubmitCallable(&SSMContactsClient::DeleteContact, request); } /** * An Async wrapper for DeleteContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteContactAsync(const DeleteContactRequestT& request, const DeleteContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::DeleteContact, request, handler, context); } /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteContactChannelOutcome DeleteContactChannel(const Model::DeleteContactChannelRequest& request) const; /** * A Callable wrapper for DeleteContactChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteContactChannelOutcomeCallable DeleteContactChannelCallable(const DeleteContactChannelRequestT& request) const { return SubmitCallable(&SSMContactsClient::DeleteContactChannel, request); } /** * An Async wrapper for DeleteContactChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteContactChannelAsync(const DeleteContactChannelRequestT& request, const DeleteContactChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::DeleteContactChannel, request, handler, context); } /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteRotationOutcome DeleteRotation(const Model::DeleteRotationRequest& request) const; /** * A Callable wrapper for DeleteRotation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteRotationOutcomeCallable DeleteRotationCallable(const DeleteRotationRequestT& request) const { return SubmitCallable(&SSMContactsClient::DeleteRotation, request); } /** * An Async wrapper for DeleteRotation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteRotationAsync(const DeleteRotationRequestT& request, const DeleteRotationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::DeleteRotation, request, handler, context); } /** *

Deletes an existing override for an on-call rotation.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteRotationOverrideOutcome DeleteRotationOverride(const Model::DeleteRotationOverrideRequest& request) const; /** * A Callable wrapper for DeleteRotationOverride that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteRotationOverrideOutcomeCallable DeleteRotationOverrideCallable(const DeleteRotationOverrideRequestT& request) const { return SubmitCallable(&SSMContactsClient::DeleteRotationOverride, request); } /** * An Async wrapper for DeleteRotationOverride that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteRotationOverrideAsync(const DeleteRotationOverrideRequestT& request, const DeleteRotationOverrideResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::DeleteRotationOverride, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeEngagementOutcome DescribeEngagement(const Model::DescribeEngagementRequest& request) const; /** * A Callable wrapper for DescribeEngagement that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeEngagementOutcomeCallable DescribeEngagementCallable(const DescribeEngagementRequestT& request) const { return SubmitCallable(&SSMContactsClient::DescribeEngagement, request); } /** * An Async wrapper for DescribeEngagement that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeEngagementAsync(const DescribeEngagementRequestT& request, const DescribeEngagementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::DescribeEngagement, request, handler, context); } /** *

Lists details of the engagement to a contact channel.

See * Also:

AWS * API Reference

*/ virtual Model::DescribePageOutcome DescribePage(const Model::DescribePageRequest& request) const; /** * A Callable wrapper for DescribePage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribePageOutcomeCallable DescribePageCallable(const DescribePageRequestT& request) const { return SubmitCallable(&SSMContactsClient::DescribePage, request); } /** * An Async wrapper for DescribePage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribePageAsync(const DescribePageRequestT& request, const DescribePageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::DescribePage, request, handler, context); } /** *

Retrieves information about the specified contact or escalation * plan.

See Also:

AWS * API Reference

*/ virtual Model::GetContactOutcome GetContact(const Model::GetContactRequest& request) const; /** * A Callable wrapper for GetContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetContactOutcomeCallable GetContactCallable(const GetContactRequestT& request) const { return SubmitCallable(&SSMContactsClient::GetContact, request); } /** * An Async wrapper for GetContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetContactAsync(const GetContactRequestT& request, const GetContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::GetContact, request, handler, context); } /** *

List details about a specific contact channel.

See Also:

AWS * API Reference

*/ virtual Model::GetContactChannelOutcome GetContactChannel(const Model::GetContactChannelRequest& request) const; /** * A Callable wrapper for GetContactChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetContactChannelOutcomeCallable GetContactChannelCallable(const GetContactChannelRequestT& request) const { return SubmitCallable(&SSMContactsClient::GetContactChannel, request); } /** * An Async wrapper for GetContactChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetContactChannelAsync(const GetContactChannelRequestT& request, const GetContactChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::GetContactChannel, request, handler, context); } /** *

Retrieves the resource policies attached to the specified contact or * escalation plan.

See Also:

AWS * API Reference

*/ virtual Model::GetContactPolicyOutcome GetContactPolicy(const Model::GetContactPolicyRequest& request) const; /** * A Callable wrapper for GetContactPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetContactPolicyOutcomeCallable GetContactPolicyCallable(const GetContactPolicyRequestT& request) const { return SubmitCallable(&SSMContactsClient::GetContactPolicy, request); } /** * An Async wrapper for GetContactPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetContactPolicyAsync(const GetContactPolicyRequestT& request, const GetContactPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::GetContactPolicy, request, handler, context); } /** *

Retrieves information about an on-call rotation.

See Also:

* AWS * API Reference

*/ virtual Model::GetRotationOutcome GetRotation(const Model::GetRotationRequest& request) const; /** * A Callable wrapper for GetRotation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetRotationOutcomeCallable GetRotationCallable(const GetRotationRequestT& request) const { return SubmitCallable(&SSMContactsClient::GetRotation, request); } /** * An Async wrapper for GetRotation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetRotationAsync(const GetRotationRequestT& request, const GetRotationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::GetRotation, request, handler, context); } /** *

Retrieves information about an override to an on-call rotation.

See * Also:

AWS * API Reference

*/ virtual Model::GetRotationOverrideOutcome GetRotationOverride(const Model::GetRotationOverrideRequest& request) const; /** * A Callable wrapper for GetRotationOverride that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetRotationOverrideOutcomeCallable GetRotationOverrideCallable(const GetRotationOverrideRequestT& request) const { return SubmitCallable(&SSMContactsClient::GetRotationOverride, request); } /** * An Async wrapper for GetRotationOverride that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetRotationOverrideAsync(const GetRotationOverrideRequestT& request, const GetRotationOverrideResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::GetRotationOverride, request, handler, context); } /** *

Lists all contact channels for the specified contact.

See * Also:

AWS * API Reference

*/ virtual Model::ListContactChannelsOutcome ListContactChannels(const Model::ListContactChannelsRequest& request) const; /** * A Callable wrapper for ListContactChannels that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListContactChannelsOutcomeCallable ListContactChannelsCallable(const ListContactChannelsRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListContactChannels, request); } /** * An Async wrapper for ListContactChannels that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListContactChannelsAsync(const ListContactChannelsRequestT& request, const ListContactChannelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListContactChannels, request, handler, context); } /** *

Lists all contacts and escalation plans in Incident Manager.

See * Also:

AWS * API Reference

*/ virtual Model::ListContactsOutcome ListContacts(const Model::ListContactsRequest& request) const; /** * A Callable wrapper for ListContacts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListContactsOutcomeCallable ListContactsCallable(const ListContactsRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListContacts, request); } /** * An Async wrapper for ListContacts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListContactsAsync(const ListContactsRequestT& request, const ListContactsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListContacts, request, handler, context); } /** *

Lists all engagements that have happened in an incident.

See * Also:

AWS * API Reference

*/ virtual Model::ListEngagementsOutcome ListEngagements(const Model::ListEngagementsRequest& request) const; /** * A Callable wrapper for ListEngagements that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListEngagementsOutcomeCallable ListEngagementsCallable(const ListEngagementsRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListEngagements, request); } /** * An Async wrapper for ListEngagements that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListEngagementsAsync(const ListEngagementsRequestT& request, const ListEngagementsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListEngagements, request, handler, context); } /** *

Lists all of the engagements to contact channels that have been * acknowledged.

See Also:

AWS * API Reference

*/ virtual Model::ListPageReceiptsOutcome ListPageReceipts(const Model::ListPageReceiptsRequest& request) const; /** * A Callable wrapper for ListPageReceipts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPageReceiptsOutcomeCallable ListPageReceiptsCallable(const ListPageReceiptsRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListPageReceipts, request); } /** * An Async wrapper for ListPageReceipts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPageReceiptsAsync(const ListPageReceiptsRequestT& request, const ListPageReceiptsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListPageReceipts, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::ListPageResolutionsOutcome ListPageResolutions(const Model::ListPageResolutionsRequest& request) const; /** * A Callable wrapper for ListPageResolutions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPageResolutionsOutcomeCallable ListPageResolutionsCallable(const ListPageResolutionsRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListPageResolutions, request); } /** * An Async wrapper for ListPageResolutions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPageResolutionsAsync(const ListPageResolutionsRequestT& request, const ListPageResolutionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListPageResolutions, request, handler, context); } /** *

Lists the engagements to a contact's contact channels.

See * Also:

AWS * API Reference

*/ virtual Model::ListPagesByContactOutcome ListPagesByContact(const Model::ListPagesByContactRequest& request) const; /** * A Callable wrapper for ListPagesByContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPagesByContactOutcomeCallable ListPagesByContactCallable(const ListPagesByContactRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListPagesByContact, request); } /** * An Async wrapper for ListPagesByContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPagesByContactAsync(const ListPagesByContactRequestT& request, const ListPagesByContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListPagesByContact, request, handler, context); } /** *

Lists the engagements to contact channels that occurred by engaging a * contact.

See Also:

AWS * API Reference

*/ virtual Model::ListPagesByEngagementOutcome ListPagesByEngagement(const Model::ListPagesByEngagementRequest& request) const; /** * A Callable wrapper for ListPagesByEngagement that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPagesByEngagementOutcomeCallable ListPagesByEngagementCallable(const ListPagesByEngagementRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListPagesByEngagement, request); } /** * An Async wrapper for ListPagesByEngagement that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPagesByEngagementAsync(const ListPagesByEngagementRequestT& request, const ListPagesByEngagementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListPagesByEngagement, request, handler, context); } /** *

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.

*

See Also:

AWS * API Reference

*/ virtual Model::ListPreviewRotationShiftsOutcome ListPreviewRotationShifts(const Model::ListPreviewRotationShiftsRequest& request) const; /** * A Callable wrapper for ListPreviewRotationShifts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListPreviewRotationShiftsOutcomeCallable ListPreviewRotationShiftsCallable(const ListPreviewRotationShiftsRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListPreviewRotationShifts, request); } /** * An Async wrapper for ListPreviewRotationShifts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListPreviewRotationShiftsAsync(const ListPreviewRotationShiftsRequestT& request, const ListPreviewRotationShiftsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListPreviewRotationShifts, request, handler, context); } /** *

Retrieves a list of overrides currently specified for an on-call * rotation.

See Also:

AWS * API Reference

*/ virtual Model::ListRotationOverridesOutcome ListRotationOverrides(const Model::ListRotationOverridesRequest& request) const; /** * A Callable wrapper for ListRotationOverrides that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListRotationOverridesOutcomeCallable ListRotationOverridesCallable(const ListRotationOverridesRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListRotationOverrides, request); } /** * An Async wrapper for ListRotationOverrides that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListRotationOverridesAsync(const ListRotationOverridesRequestT& request, const ListRotationOverridesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListRotationOverrides, request, handler, context); } /** *

Returns a list of shifts generated by an existing rotation in the * system.

See Also:

AWS * API Reference

*/ virtual Model::ListRotationShiftsOutcome ListRotationShifts(const Model::ListRotationShiftsRequest& request) const; /** * A Callable wrapper for ListRotationShifts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListRotationShiftsOutcomeCallable ListRotationShiftsCallable(const ListRotationShiftsRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListRotationShifts, request); } /** * An Async wrapper for ListRotationShifts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListRotationShiftsAsync(const ListRotationShiftsRequestT& request, const ListRotationShiftsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListRotationShifts, request, handler, context); } /** *

Retrieves a list of on-call rotations.

See Also:

AWS * API Reference

*/ virtual Model::ListRotationsOutcome ListRotations(const Model::ListRotationsRequest& request) const; /** * A Callable wrapper for ListRotations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListRotationsOutcomeCallable ListRotationsCallable(const ListRotationsRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListRotations, request); } /** * An Async wrapper for ListRotations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListRotationsAsync(const ListRotationsRequestT& request, const ListRotationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListRotations, request, handler, context); } /** *

Lists the tags of an escalation plan or contact.

See Also:

* AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&SSMContactsClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::ListTagsForResource, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::PutContactPolicyOutcome PutContactPolicy(const Model::PutContactPolicyRequest& request) const; /** * A Callable wrapper for PutContactPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutContactPolicyOutcomeCallable PutContactPolicyCallable(const PutContactPolicyRequestT& request) const { return SubmitCallable(&SSMContactsClient::PutContactPolicy, request); } /** * An Async wrapper for PutContactPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutContactPolicyAsync(const PutContactPolicyRequestT& request, const PutContactPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::PutContactPolicy, request, handler, context); } /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::SendActivationCodeOutcome SendActivationCode(const Model::SendActivationCodeRequest& request) const; /** * A Callable wrapper for SendActivationCode that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SendActivationCodeOutcomeCallable SendActivationCodeCallable(const SendActivationCodeRequestT& request) const { return SubmitCallable(&SSMContactsClient::SendActivationCode, request); } /** * An Async wrapper for SendActivationCode that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SendActivationCodeAsync(const SendActivationCodeRequestT& request, const SendActivationCodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::SendActivationCode, request, handler, context); } /** *

Starts an engagement to a contact or escalation plan. The engagement engages * each contact specified in the incident.

See Also:

AWS * API Reference

*/ virtual Model::StartEngagementOutcome StartEngagement(const Model::StartEngagementRequest& request) const; /** * A Callable wrapper for StartEngagement that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartEngagementOutcomeCallable StartEngagementCallable(const StartEngagementRequestT& request) const { return SubmitCallable(&SSMContactsClient::StartEngagement, request); } /** * An Async wrapper for StartEngagement that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartEngagementAsync(const StartEngagementRequestT& request, const StartEngagementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::StartEngagement, request, handler, context); } /** *

Stops an engagement before it finishes the final stage of the escalation plan * or engagement plan. Further contacts aren't engaged.

See Also:

* AWS * API Reference

*/ virtual Model::StopEngagementOutcome StopEngagement(const Model::StopEngagementRequest& request) const; /** * A Callable wrapper for StopEngagement that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopEngagementOutcomeCallable StopEngagementCallable(const StopEngagementRequestT& request) const { return SubmitCallable(&SSMContactsClient::StopEngagement, request); } /** * An Async wrapper for StopEngagement that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopEngagementAsync(const StopEngagementRequestT& request, const StopEngagementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::StopEngagement, request, handler, context); } /** *

Tags a contact or escalation plan. You can tag only contacts and escalation * plans in the first region of your replication set.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&SSMContactsClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::TagResource, request, handler, context); } /** *

Removes tags from the specified resource.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&SSMContactsClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::UntagResource, request, handler, context); } /** *

Updates the contact or escalation plan specified.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateContactOutcome UpdateContact(const Model::UpdateContactRequest& request) const; /** * A Callable wrapper for UpdateContact that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateContactOutcomeCallable UpdateContactCallable(const UpdateContactRequestT& request) const { return SubmitCallable(&SSMContactsClient::UpdateContact, request); } /** * An Async wrapper for UpdateContact that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateContactAsync(const UpdateContactRequestT& request, const UpdateContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::UpdateContact, request, handler, context); } /** *

Updates a contact's contact channel.

See Also:

AWS * API Reference

*/ virtual Model::UpdateContactChannelOutcome UpdateContactChannel(const Model::UpdateContactChannelRequest& request) const; /** * A Callable wrapper for UpdateContactChannel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateContactChannelOutcomeCallable UpdateContactChannelCallable(const UpdateContactChannelRequestT& request) const { return SubmitCallable(&SSMContactsClient::UpdateContactChannel, request); } /** * An Async wrapper for UpdateContactChannel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateContactChannelAsync(const UpdateContactChannelRequestT& request, const UpdateContactChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::UpdateContactChannel, request, handler, context); } /** *

Updates the information specified for an on-call rotation.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateRotationOutcome UpdateRotation(const Model::UpdateRotationRequest& request) const; /** * A Callable wrapper for UpdateRotation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateRotationOutcomeCallable UpdateRotationCallable(const UpdateRotationRequestT& request) const { return SubmitCallable(&SSMContactsClient::UpdateRotation, request); } /** * An Async wrapper for UpdateRotation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateRotationAsync(const UpdateRotationRequestT& request, const UpdateRotationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SSMContactsClient::UpdateRotation, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const SSMContactsClientConfiguration& clientConfiguration); SSMContactsClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace SSMContacts } // namespace Aws