/**
* 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 ConnectCases
{
/**
* With Amazon Connect Cases, your agents can track and manage customer issues
* that require multiple interactions, follow-up tasks, and teams in your contact
* center. A case represents a customer issue. It records the issue, the steps and
* interactions taken to resolve the issue, and the outcome. For more information,
* see Amazon
* Connect Cases in the Amazon Connect Administrator Guide.
*/
class AWS_CONNECTCASES_API ConnectCasesClient : 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 ConnectCasesClientConfiguration ClientConfigurationType;
typedef ConnectCasesEndpointProvider 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.
*/
ConnectCasesClient(const Aws::ConnectCases::ConnectCasesClientConfiguration& clientConfiguration = Aws::ConnectCases::ConnectCasesClientConfiguration(),
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.
*/
ConnectCasesClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ConnectCases::ConnectCasesClientConfiguration& clientConfiguration = Aws::ConnectCases::ConnectCasesClientConfiguration());
/**
* 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
*/
ConnectCasesClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ConnectCases::ConnectCasesClientConfiguration& clientConfiguration = Aws::ConnectCases::ConnectCasesClientConfiguration());
/* 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.
*/
ConnectCasesClient(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.
*/
ConnectCasesClient(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
*/
ConnectCasesClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~ConnectCasesClient();
/**
* Returns the description for the list of fields in the request parameters.
*
See Also:
AWS
* API Reference
*/
virtual Model::BatchGetFieldOutcome BatchGetField(const Model::BatchGetFieldRequest& request) const;
/**
* A Callable wrapper for BatchGetField that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchGetFieldOutcomeCallable BatchGetFieldCallable(const BatchGetFieldRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::BatchGetField, request);
}
/**
* An Async wrapper for BatchGetField that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchGetFieldAsync(const BatchGetFieldRequestT& request, const BatchGetFieldResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::BatchGetField, request, handler, context);
}
/**
* Creates and updates a set of field options for a single select field in a
* Cases domain.
See Also:
AWS
* API Reference
*/
virtual Model::BatchPutFieldOptionsOutcome BatchPutFieldOptions(const Model::BatchPutFieldOptionsRequest& request) const;
/**
* A Callable wrapper for BatchPutFieldOptions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::BatchPutFieldOptionsOutcomeCallable BatchPutFieldOptionsCallable(const BatchPutFieldOptionsRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::BatchPutFieldOptions, request);
}
/**
* An Async wrapper for BatchPutFieldOptions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void BatchPutFieldOptionsAsync(const BatchPutFieldOptionsRequestT& request, const BatchPutFieldOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::BatchPutFieldOptions, request, handler, context);
}
/**
* Creates a case in the specified Cases domain. Case system and custom fields
* are taken as an array id/value pairs with a declared data types.
* The following fields are required when creating a case:
* <ul> <li> <p> <code>customer_id</code> - You must
* provide the full customer profile ARN in this format:
* <code>arn:aws:profile:your AWS Region:your AWS account ID:domains/profiles
* domain name/profiles/profile ID</code> </p> </li> <li>
* <p> <code>title</code> </p> </li> </ul>
* </note>
See Also:
AWS
* API Reference
*/
virtual Model::CreateCaseOutcome CreateCase(const Model::CreateCaseRequest& request) const;
/**
* A Callable wrapper for CreateCase that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateCaseOutcomeCallable CreateCaseCallable(const CreateCaseRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::CreateCase, request);
}
/**
* An Async wrapper for CreateCase that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateCaseAsync(const CreateCaseRequestT& request, const CreateCaseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::CreateCase, request, handler, context);
}
/**
* Creates a domain, which is a container for all case data, such as cases,
* fields, templates and layouts. Each Amazon Connect instance can be associated
* with only one Cases domain.
This will not associate your
* connect instance to Cases domain. Instead, use the Amazon Connect CreateIntegrationAssociation
* API. You need specific IAM permissions to successfully associate the Cases
* domain. For more information, see Onboard
* to Cases.
</important>
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateDomainOutcome CreateDomain(const Model::CreateDomainRequest& request) const;
/**
* A Callable wrapper for CreateDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateDomainOutcomeCallable CreateDomainCallable(const CreateDomainRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::CreateDomain, request);
}
/**
* An Async wrapper for CreateDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateDomainAsync(const CreateDomainRequestT& request, const CreateDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::CreateDomain, request, handler, context);
}
/**
* Creates a field in the Cases domain. This field is used to define the case
* object model (that is, defines what data can be captured on cases) in a Cases
* domain.
See Also:
AWS
* API Reference
*/
virtual Model::CreateFieldOutcome CreateField(const Model::CreateFieldRequest& request) const;
/**
* A Callable wrapper for CreateField that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateFieldOutcomeCallable CreateFieldCallable(const CreateFieldRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::CreateField, request);
}
/**
* An Async wrapper for CreateField that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateFieldAsync(const CreateFieldRequestT& request, const CreateFieldResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::CreateField, request, handler, context);
}
/**
* Creates a layout in the Cases domain. Layouts define the following
* configuration in the top section and More Info tab of the Cases user
* interface:
Title and Status fields cannot be
* part of layouts since they are not configurable.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateLayoutOutcome CreateLayout(const Model::CreateLayoutRequest& request) const;
/**
* A Callable wrapper for CreateLayout that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateLayoutOutcomeCallable CreateLayoutCallable(const CreateLayoutRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::CreateLayout, request);
}
/**
* An Async wrapper for CreateLayout that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateLayoutAsync(const CreateLayoutRequestT& request, const CreateLayoutResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::CreateLayout, request, handler, context);
}
/**
* Creates a related item (comments, tasks, and contacts) and associates it with
* a case.
A Related Item is a resource that is associated with a
* case. It may or may not have an external identifier linking it to an external
* resource (for example, a contactArn
). All Related Items have their
* own internal identifier, the relatedItemArn
. Examples of related
* items include comments
and contacts
.
* See Also:
AWS
* API Reference
*/
virtual Model::CreateRelatedItemOutcome CreateRelatedItem(const Model::CreateRelatedItemRequest& request) const;
/**
* A Callable wrapper for CreateRelatedItem that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateRelatedItemOutcomeCallable CreateRelatedItemCallable(const CreateRelatedItemRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::CreateRelatedItem, request);
}
/**
* An Async wrapper for CreateRelatedItem that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateRelatedItemAsync(const CreateRelatedItemRequestT& request, const CreateRelatedItemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::CreateRelatedItem, request, handler, context);
}
/**
* Creates a template in the Cases domain. This template is used to define the
* case object model (that is, to define what data can be captured on cases) in a
* Cases domain. A template must have a unique name within a domain, and it must
* reference existing field IDs and layout IDs. Additionally, multiple fields with
* same IDs are not allowed within the same Template. A template can be either
* Active or Inactive, as indicated by its status. Inactive templates cannot be
* used to create cases.
See Also:
AWS
* API Reference
*/
virtual Model::CreateTemplateOutcome CreateTemplate(const Model::CreateTemplateRequest& request) const;
/**
* A Callable wrapper for CreateTemplate that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateTemplateOutcomeCallable CreateTemplateCallable(const CreateTemplateRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::CreateTemplate, request);
}
/**
* An Async wrapper for CreateTemplate that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateTemplateAsync(const CreateTemplateRequestT& request, const CreateTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::CreateTemplate, request, handler, context);
}
/**
* Deletes a Cases domain.
<note> <p>After deleting
* your domain you must disassociate the deleted domain from your Amazon Connect
* instance with another API call before being able to use Cases again with this
* Amazon Connect instance. See <a
* href="https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteIntegrationAssociation.html">DeleteIntegrationAssociation</a>.</p>
* </note>
See Also:
AWS
* API Reference
*/
virtual Model::DeleteDomainOutcome DeleteDomain(const Model::DeleteDomainRequest& request) const;
/**
* A Callable wrapper for DeleteDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteDomainOutcomeCallable DeleteDomainCallable(const DeleteDomainRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::DeleteDomain, request);
}
/**
* An Async wrapper for DeleteDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteDomainAsync(const DeleteDomainRequestT& request, const DeleteDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::DeleteDomain, request, handler, context);
}
/**
* Returns information about a specific case if it exists.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetCaseOutcome GetCase(const Model::GetCaseRequest& request) const;
/**
* A Callable wrapper for GetCase that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetCaseOutcomeCallable GetCaseCallable(const GetCaseRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::GetCase, request);
}
/**
* An Async wrapper for GetCase that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetCaseAsync(const GetCaseRequestT& request, const GetCaseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::GetCase, request, handler, context);
}
/**
* Returns the case event publishing configuration.
See Also:
* AWS
* API Reference
*/
virtual Model::GetCaseEventConfigurationOutcome GetCaseEventConfiguration(const Model::GetCaseEventConfigurationRequest& request) const;
/**
* A Callable wrapper for GetCaseEventConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetCaseEventConfigurationOutcomeCallable GetCaseEventConfigurationCallable(const GetCaseEventConfigurationRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::GetCaseEventConfiguration, request);
}
/**
* An Async wrapper for GetCaseEventConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetCaseEventConfigurationAsync(const GetCaseEventConfigurationRequestT& request, const GetCaseEventConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::GetCaseEventConfiguration, request, handler, context);
}
/**
* Returns information about a specific domain if it exists.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetDomainOutcome GetDomain(const Model::GetDomainRequest& request) const;
/**
* A Callable wrapper for GetDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetDomainOutcomeCallable GetDomainCallable(const GetDomainRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::GetDomain, request);
}
/**
* An Async wrapper for GetDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetDomainAsync(const GetDomainRequestT& request, const GetDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::GetDomain, request, handler, context);
}
/**
* Returns the details for the requested layout.
See Also:
AWS
* API Reference
*/
virtual Model::GetLayoutOutcome GetLayout(const Model::GetLayoutRequest& request) const;
/**
* A Callable wrapper for GetLayout that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetLayoutOutcomeCallable GetLayoutCallable(const GetLayoutRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::GetLayout, request);
}
/**
* An Async wrapper for GetLayout that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetLayoutAsync(const GetLayoutRequestT& request, const GetLayoutResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::GetLayout, request, handler, context);
}
/**
* Returns the details for the requested template.
See Also:
* AWS
* API Reference
*/
virtual Model::GetTemplateOutcome GetTemplate(const Model::GetTemplateRequest& request) const;
/**
* A Callable wrapper for GetTemplate that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetTemplateOutcomeCallable GetTemplateCallable(const GetTemplateRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::GetTemplate, request);
}
/**
* An Async wrapper for GetTemplate that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetTemplateAsync(const GetTemplateRequestT& request, const GetTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::GetTemplate, request, handler, context);
}
/**
* Lists cases for a given contact.
See Also:
AWS
* API Reference
*/
virtual Model::ListCasesForContactOutcome ListCasesForContact(const Model::ListCasesForContactRequest& request) const;
/**
* A Callable wrapper for ListCasesForContact that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCasesForContactOutcomeCallable ListCasesForContactCallable(const ListCasesForContactRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::ListCasesForContact, request);
}
/**
* An Async wrapper for ListCasesForContact that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCasesForContactAsync(const ListCasesForContactRequestT& request, const ListCasesForContactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::ListCasesForContact, request, handler, context);
}
/**
* Lists all cases domains in the Amazon Web Services account. Each list item is
* a condensed summary object of the domain.
See Also:
AWS
* API Reference
*/
virtual Model::ListDomainsOutcome ListDomains(const Model::ListDomainsRequest& request) const;
/**
* A Callable wrapper for ListDomains that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListDomainsOutcomeCallable ListDomainsCallable(const ListDomainsRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::ListDomains, request);
}
/**
* An Async wrapper for ListDomains that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListDomainsAsync(const ListDomainsRequestT& request, const ListDomainsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::ListDomains, request, handler, context);
}
/**
* Lists all of the field options for a field identifier in the domain.
*
See Also:
AWS
* API Reference
*/
virtual Model::ListFieldOptionsOutcome ListFieldOptions(const Model::ListFieldOptionsRequest& request) const;
/**
* A Callable wrapper for ListFieldOptions that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFieldOptionsOutcomeCallable ListFieldOptionsCallable(const ListFieldOptionsRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::ListFieldOptions, request);
}
/**
* An Async wrapper for ListFieldOptions that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFieldOptionsAsync(const ListFieldOptionsRequestT& request, const ListFieldOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::ListFieldOptions, request, handler, context);
}
/**
* Lists all fields in a Cases domain.
See Also:
AWS
* API Reference
*/
virtual Model::ListFieldsOutcome ListFields(const Model::ListFieldsRequest& request) const;
/**
* A Callable wrapper for ListFields that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFieldsOutcomeCallable ListFieldsCallable(const ListFieldsRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::ListFields, request);
}
/**
* An Async wrapper for ListFields that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFieldsAsync(const ListFieldsRequestT& request, const ListFieldsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::ListFields, request, handler, context);
}
/**
* Lists all layouts in the given cases domain. Each list item is a condensed
* summary object of the layout.
See Also:
AWS
* API Reference
*/
virtual Model::ListLayoutsOutcome ListLayouts(const Model::ListLayoutsRequest& request) const;
/**
* A Callable wrapper for ListLayouts that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListLayoutsOutcomeCallable ListLayoutsCallable(const ListLayoutsRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::ListLayouts, request);
}
/**
* An Async wrapper for ListLayouts that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListLayoutsAsync(const ListLayoutsRequestT& request, const ListLayoutsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::ListLayouts, request, handler, context);
}
/**
* Lists tags for a resource.
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(&ConnectCasesClient::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(&ConnectCasesClient::ListTagsForResource, request, handler, context);
}
/**
* Lists all of the templates in a Cases domain. Each list item is a condensed
* summary object of the template.
See Also:
AWS
* API Reference
*/
virtual Model::ListTemplatesOutcome ListTemplates(const Model::ListTemplatesRequest& request) const;
/**
* A Callable wrapper for ListTemplates that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTemplatesOutcomeCallable ListTemplatesCallable(const ListTemplatesRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::ListTemplates, request);
}
/**
* An Async wrapper for ListTemplates that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTemplatesAsync(const ListTemplatesRequestT& request, const ListTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::ListTemplates, request, handler, context);
}
/**
* API for adding case event publishing configuration
See Also:
* AWS
* API Reference
*/
virtual Model::PutCaseEventConfigurationOutcome PutCaseEventConfiguration(const Model::PutCaseEventConfigurationRequest& request) const;
/**
* A Callable wrapper for PutCaseEventConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutCaseEventConfigurationOutcomeCallable PutCaseEventConfigurationCallable(const PutCaseEventConfigurationRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::PutCaseEventConfiguration, request);
}
/**
* An Async wrapper for PutCaseEventConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutCaseEventConfigurationAsync(const PutCaseEventConfigurationRequestT& request, const PutCaseEventConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::PutCaseEventConfiguration, request, handler, context);
}
/**
* Searches for cases within their associated Cases domain. Search results are
* returned as a paginated list of abridged case documents.
For
* customer_id
you must provide the full customer profile ARN in this
* format: arn:aws:profile:your AWS Region:your AWS account
* ID:domains/profiles domain name/profiles/profile ID
.
* See Also:
AWS
* API Reference
*/
virtual Model::SearchCasesOutcome SearchCases(const Model::SearchCasesRequest& request) const;
/**
* A Callable wrapper for SearchCases that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SearchCasesOutcomeCallable SearchCasesCallable(const SearchCasesRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::SearchCases, request);
}
/**
* An Async wrapper for SearchCases that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SearchCasesAsync(const SearchCasesRequestT& request, const SearchCasesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::SearchCases, request, handler, context);
}
/**
* Searches for related items that are associated with a case.
If
* no filters are provided, this returns all related items associated with a
* case.
See Also:
AWS
* API Reference
*/
virtual Model::SearchRelatedItemsOutcome SearchRelatedItems(const Model::SearchRelatedItemsRequest& request) const;
/**
* A Callable wrapper for SearchRelatedItems that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SearchRelatedItemsOutcomeCallable SearchRelatedItemsCallable(const SearchRelatedItemsRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::SearchRelatedItems, request);
}
/**
* An Async wrapper for SearchRelatedItems that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SearchRelatedItemsAsync(const SearchRelatedItemsRequestT& request, const SearchRelatedItemsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::SearchRelatedItems, request, handler, context);
}
/**
* Adds tags to a resource.
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(&ConnectCasesClient::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(&ConnectCasesClient::TagResource, request, handler, context);
}
/**
* Untags a 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(&ConnectCasesClient::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(&ConnectCasesClient::UntagResource, request, handler, context);
}
/**
* Updates the values of fields on a case. Fields to be updated are received as
* an array of id/value pairs identical to the CreateCase
input .
* If the action is successful, the service sends back an HTTP 200 response with
* an empty HTTP body.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateCaseOutcome UpdateCase(const Model::UpdateCaseRequest& request) const;
/**
* A Callable wrapper for UpdateCase that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateCaseOutcomeCallable UpdateCaseCallable(const UpdateCaseRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::UpdateCase, request);
}
/**
* An Async wrapper for UpdateCase that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateCaseAsync(const UpdateCaseRequestT& request, const UpdateCaseResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::UpdateCase, request, handler, context);
}
/**
* Updates the properties of an existing field.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateFieldOutcome UpdateField(const Model::UpdateFieldRequest& request) const;
/**
* A Callable wrapper for UpdateField that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFieldOutcomeCallable UpdateFieldCallable(const UpdateFieldRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::UpdateField, request);
}
/**
* An Async wrapper for UpdateField that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFieldAsync(const UpdateFieldRequestT& request, const UpdateFieldResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::UpdateField, request, handler, context);
}
/**
* Updates the attributes of an existing layout.
If the action is
* successful, the service sends back an HTTP 200 response with an empty HTTP
* body.
A ValidationException
is returned when you add
* non-existent fieldIds
to a layout.
Title and Status
* fields cannot be part of layouts because they are not configurable.
* See Also:
AWS
* API Reference
*/
virtual Model::UpdateLayoutOutcome UpdateLayout(const Model::UpdateLayoutRequest& request) const;
/**
* A Callable wrapper for UpdateLayout that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateLayoutOutcomeCallable UpdateLayoutCallable(const UpdateLayoutRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::UpdateLayout, request);
}
/**
* An Async wrapper for UpdateLayout that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateLayoutAsync(const UpdateLayoutRequestT& request, const UpdateLayoutResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::UpdateLayout, request, handler, context);
}
/**
* Updates the attributes of an existing template. The template attributes that
* can be modified include name
, description
,
* layoutConfiguration
, requiredFields
, and
* status
. At least one of these attributes must not be null. If a
* null value is provided for a given attribute, that attribute is ignored and its
* current value is preserved.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateTemplateOutcome UpdateTemplate(const Model::UpdateTemplateRequest& request) const;
/**
* A Callable wrapper for UpdateTemplate that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateTemplateOutcomeCallable UpdateTemplateCallable(const UpdateTemplateRequestT& request) const
{
return SubmitCallable(&ConnectCasesClient::UpdateTemplate, request);
}
/**
* An Async wrapper for UpdateTemplate that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateTemplateAsync(const UpdateTemplateRequestT& request, const UpdateTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ConnectCasesClient::UpdateTemplate, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const ConnectCasesClientConfiguration& clientConfiguration);
ConnectCasesClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace ConnectCases
} // namespace Aws