/**
* 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 CognitoIdentity
{
/**
* Amazon Cognito Federated Identities Amazon Cognito
* Federated Identities is a web service that delivers scoped temporary credentials
* to mobile devices and other untrusted environments. It uniquely identifies a
* device and supplies the user with a consistent identity over the lifetime of an
* application.
Using Amazon Cognito Federated Identities, you can enable
* authentication with one or more third-party identity providers (Facebook,
* Google, or Login with Amazon) or an Amazon Cognito user pool, and you can also
* choose to support unauthenticated access from your app. Cognito delivers a
* unique identifier for each user and acts as an OpenID token provider trusted by
* AWS Security Token Service (STS) to access temporary, limited-privilege AWS
* credentials.
For a description of the authentication flow from the Amazon
* Cognito Developer Guide see Authentication
* Flow.
For more information see Amazon
* Cognito Federated Identities.
*/
class AWS_COGNITOIDENTITY_API CognitoIdentityClient : 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 CognitoIdentityClientConfiguration ClientConfigurationType;
typedef CognitoIdentityEndpointProvider 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.
*/
CognitoIdentityClient(const Aws::CognitoIdentity::CognitoIdentityClientConfiguration& clientConfiguration = Aws::CognitoIdentity::CognitoIdentityClientConfiguration(),
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.
*/
CognitoIdentityClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::CognitoIdentity::CognitoIdentityClientConfiguration& clientConfiguration = Aws::CognitoIdentity::CognitoIdentityClientConfiguration());
/**
* 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
*/
CognitoIdentityClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::CognitoIdentity::CognitoIdentityClientConfiguration& clientConfiguration = Aws::CognitoIdentity::CognitoIdentityClientConfiguration());
/* 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.
*/
CognitoIdentityClient(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.
*/
CognitoIdentityClient(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
*/
CognitoIdentityClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~CognitoIdentityClient();
/**
* Creates a new identity pool. The identity pool is a store of user identity
* information that is specific to your AWS account. The keys for
* SupportedLoginProviders
are as follows:
-
Facebook:
* graph.facebook.com
-
Google:
* accounts.google.com
-
Amazon:
* www.amazon.com
-
Twitter:
* api.twitter.com
-
Digits:
* www.digits.com
You must use AWS Developer
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::CreateIdentityPoolOutcome CreateIdentityPool(const Model::CreateIdentityPoolRequest& request) const;
/**
* A Callable wrapper for CreateIdentityPool that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateIdentityPoolOutcomeCallable CreateIdentityPoolCallable(const CreateIdentityPoolRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::CreateIdentityPool, request);
}
/**
* An Async wrapper for CreateIdentityPool that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateIdentityPoolAsync(const CreateIdentityPoolRequestT& request, const CreateIdentityPoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::CreateIdentityPool, request, handler, context);
}
/**
* Deletes identities from an identity pool. You can specify a list of 1-60
* identities that you want to delete.
You must use AWS Developer
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteIdentitiesOutcome DeleteIdentities(const Model::DeleteIdentitiesRequest& request) const;
/**
* A Callable wrapper for DeleteIdentities that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteIdentitiesOutcomeCallable DeleteIdentitiesCallable(const DeleteIdentitiesRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::DeleteIdentities, request);
}
/**
* An Async wrapper for DeleteIdentities that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteIdentitiesAsync(const DeleteIdentitiesRequestT& request, const DeleteIdentitiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::DeleteIdentities, request, handler, context);
}
/**
* Deletes an identity pool. Once a pool is deleted, users will not be able to
* authenticate with the pool.
You must use AWS Developer credentials to
* call this API.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteIdentityPoolOutcome DeleteIdentityPool(const Model::DeleteIdentityPoolRequest& request) const;
/**
* A Callable wrapper for DeleteIdentityPool that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteIdentityPoolOutcomeCallable DeleteIdentityPoolCallable(const DeleteIdentityPoolRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::DeleteIdentityPool, request);
}
/**
* An Async wrapper for DeleteIdentityPool that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteIdentityPoolAsync(const DeleteIdentityPoolRequestT& request, const DeleteIdentityPoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::DeleteIdentityPool, request, handler, context);
}
/**
* Returns metadata related to the given identity, including when the identity
* was created and any associated linked logins.
You must use AWS Developer
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeIdentityOutcome DescribeIdentity(const Model::DescribeIdentityRequest& request) const;
/**
* A Callable wrapper for DescribeIdentity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeIdentityOutcomeCallable DescribeIdentityCallable(const DescribeIdentityRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::DescribeIdentity, request);
}
/**
* An Async wrapper for DescribeIdentity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeIdentityAsync(const DescribeIdentityRequestT& request, const DescribeIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::DescribeIdentity, request, handler, context);
}
/**
* Gets details about a particular identity pool, including the pool name, ID
* description, creation date, and current number of users.
You must use AWS
* Developer credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeIdentityPoolOutcome DescribeIdentityPool(const Model::DescribeIdentityPoolRequest& request) const;
/**
* A Callable wrapper for DescribeIdentityPool that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeIdentityPoolOutcomeCallable DescribeIdentityPoolCallable(const DescribeIdentityPoolRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::DescribeIdentityPool, request);
}
/**
* An Async wrapper for DescribeIdentityPool that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeIdentityPoolAsync(const DescribeIdentityPoolRequestT& request, const DescribeIdentityPoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::DescribeIdentityPool, request, handler, context);
}
/**
* Returns credentials for the provided identity ID. Any provided logins will be
* validated against supported login providers. If the token is for
* cognito-identity.amazonaws.com, it will be passed through to AWS Security Token
* Service with the appropriate role for the token.
This is a public API.
* You do not need any credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::GetCredentialsForIdentityOutcome GetCredentialsForIdentity(const Model::GetCredentialsForIdentityRequest& request) const;
/**
* A Callable wrapper for GetCredentialsForIdentity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetCredentialsForIdentityOutcomeCallable GetCredentialsForIdentityCallable(const GetCredentialsForIdentityRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::GetCredentialsForIdentity, request);
}
/**
* An Async wrapper for GetCredentialsForIdentity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetCredentialsForIdentityAsync(const GetCredentialsForIdentityRequestT& request, const GetCredentialsForIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::GetCredentialsForIdentity, request, handler, context);
}
/**
* Generates (or retrieves) a Cognito ID. Supplying multiple logins will create
* an implicit linked account.
This is a public API. You do not need any
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::GetIdOutcome GetId(const Model::GetIdRequest& request) const;
/**
* A Callable wrapper for GetId that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetIdOutcomeCallable GetIdCallable(const GetIdRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::GetId, request);
}
/**
* An Async wrapper for GetId that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetIdAsync(const GetIdRequestT& request, const GetIdResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::GetId, request, handler, context);
}
/**
* Gets the roles for an identity pool.
You must use AWS Developer
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::GetIdentityPoolRolesOutcome GetIdentityPoolRoles(const Model::GetIdentityPoolRolesRequest& request) const;
/**
* A Callable wrapper for GetIdentityPoolRoles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetIdentityPoolRolesOutcomeCallable GetIdentityPoolRolesCallable(const GetIdentityPoolRolesRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::GetIdentityPoolRoles, request);
}
/**
* An Async wrapper for GetIdentityPoolRoles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetIdentityPoolRolesAsync(const GetIdentityPoolRolesRequestT& request, const GetIdentityPoolRolesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::GetIdentityPoolRoles, request, handler, context);
}
/**
* Gets an OpenID token, using a known Cognito ID. This known Cognito ID is
* returned by GetId. You can optionally add additional logins for the
* identity. Supplying multiple logins creates an implicit link.
The OpenID
* token is valid for 10 minutes.
This is a public API. You do not need any
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::GetOpenIdTokenOutcome GetOpenIdToken(const Model::GetOpenIdTokenRequest& request) const;
/**
* A Callable wrapper for GetOpenIdToken that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetOpenIdTokenOutcomeCallable GetOpenIdTokenCallable(const GetOpenIdTokenRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::GetOpenIdToken, request);
}
/**
* An Async wrapper for GetOpenIdToken that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetOpenIdTokenAsync(const GetOpenIdTokenRequestT& request, const GetOpenIdTokenResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::GetOpenIdToken, request, handler, context);
}
/**
* Registers (or retrieves) a Cognito IdentityId
and an OpenID
* Connect token for a user authenticated by your backend authentication process.
* Supplying multiple logins will create an implicit linked account. You can only
* specify one developer provider as part of the Logins
map, which is
* linked to the identity pool. The developer provider is the "domain" by which
* Cognito will refer to your users.
You can use
* GetOpenIdTokenForDeveloperIdentity
to create a new identity and to
* link new logins (that is, user credentials issued by a public provider or
* developer provider) to an existing identity. When you want to create a new
* identity, the IdentityId
should be null. When you want to associate
* a new login with an existing authenticated/unauthenticated identity, you can do
* so by providing the existing IdentityId
. This API will create the
* identity in the specified IdentityPoolId
.
You must use AWS
* Developer credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::GetOpenIdTokenForDeveloperIdentityOutcome GetOpenIdTokenForDeveloperIdentity(const Model::GetOpenIdTokenForDeveloperIdentityRequest& request) const;
/**
* A Callable wrapper for GetOpenIdTokenForDeveloperIdentity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetOpenIdTokenForDeveloperIdentityOutcomeCallable GetOpenIdTokenForDeveloperIdentityCallable(const GetOpenIdTokenForDeveloperIdentityRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::GetOpenIdTokenForDeveloperIdentity, request);
}
/**
* An Async wrapper for GetOpenIdTokenForDeveloperIdentity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetOpenIdTokenForDeveloperIdentityAsync(const GetOpenIdTokenForDeveloperIdentityRequestT& request, const GetOpenIdTokenForDeveloperIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::GetOpenIdTokenForDeveloperIdentity, request, handler, context);
}
/**
* Use GetPrincipalTagAttributeMap
to list all mappings between
* PrincipalTags
and user attributes.
See Also:
AWS
* API Reference
*/
virtual Model::GetPrincipalTagAttributeMapOutcome GetPrincipalTagAttributeMap(const Model::GetPrincipalTagAttributeMapRequest& request) const;
/**
* A Callable wrapper for GetPrincipalTagAttributeMap that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetPrincipalTagAttributeMapOutcomeCallable GetPrincipalTagAttributeMapCallable(const GetPrincipalTagAttributeMapRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::GetPrincipalTagAttributeMap, request);
}
/**
* An Async wrapper for GetPrincipalTagAttributeMap that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetPrincipalTagAttributeMapAsync(const GetPrincipalTagAttributeMapRequestT& request, const GetPrincipalTagAttributeMapResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::GetPrincipalTagAttributeMap, request, handler, context);
}
/**
* Lists the identities in an identity pool.
You must use AWS Developer
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::ListIdentitiesOutcome ListIdentities(const Model::ListIdentitiesRequest& request) const;
/**
* A Callable wrapper for ListIdentities that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListIdentitiesOutcomeCallable ListIdentitiesCallable(const ListIdentitiesRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::ListIdentities, request);
}
/**
* An Async wrapper for ListIdentities that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListIdentitiesAsync(const ListIdentitiesRequestT& request, const ListIdentitiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::ListIdentities, request, handler, context);
}
/**
* Lists all of the Cognito identity pools registered for your account.
* You must use AWS Developer credentials to call this API.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListIdentityPoolsOutcome ListIdentityPools(const Model::ListIdentityPoolsRequest& request) const;
/**
* A Callable wrapper for ListIdentityPools that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListIdentityPoolsOutcomeCallable ListIdentityPoolsCallable(const ListIdentityPoolsRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::ListIdentityPools, request);
}
/**
* An Async wrapper for ListIdentityPools that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListIdentityPoolsAsync(const ListIdentityPoolsRequestT& request, const ListIdentityPoolsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::ListIdentityPools, request, handler, context);
}
/**
* Lists the tags that are assigned to an Amazon Cognito identity pool.
A
* tag is a label that you can apply to identity pools to categorize and manage
* them in different ways, such as by purpose, owner, environment, or other
* criteria.
You can use this action up to 10 times per second, per
* account.
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(&CognitoIdentityClient::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(&CognitoIdentityClient::ListTagsForResource, request, handler, context);
}
/**
* Retrieves the IdentityID
associated with a
* DeveloperUserIdentifier
or the list of
* DeveloperUserIdentifier
values associated with an
* IdentityId
for an existing identity. Either IdentityID
* or DeveloperUserIdentifier
must not be null. If you supply only one
* of these values, the other value will be searched in the database and returned
* as a part of the response. If you supply both,
* DeveloperUserIdentifier
will be matched against
* IdentityID
. If the values are verified against the database, the
* response returns both values and is the same as the request. Otherwise a
* ResourceConflictException
is thrown.
* LookupDeveloperIdentity
is intended for low-throughput control
* plane operations: for example, to enable customer service to locate an identity
* ID by username. If you are using it for higher-volume operations such as user
* authentication, your requests are likely to be throttled.
* GetOpenIdTokenForDeveloperIdentity is a better option for higher-volume
* operations for user authentication.
You must use AWS Developer
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::LookupDeveloperIdentityOutcome LookupDeveloperIdentity(const Model::LookupDeveloperIdentityRequest& request) const;
/**
* A Callable wrapper for LookupDeveloperIdentity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::LookupDeveloperIdentityOutcomeCallable LookupDeveloperIdentityCallable(const LookupDeveloperIdentityRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::LookupDeveloperIdentity, request);
}
/**
* An Async wrapper for LookupDeveloperIdentity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void LookupDeveloperIdentityAsync(const LookupDeveloperIdentityRequestT& request, const LookupDeveloperIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::LookupDeveloperIdentity, request, handler, context);
}
/**
* Merges two users having different IdentityId
s, existing in the
* same identity pool, and identified by the same developer provider. You can use
* this action to request that discrete users be merged and identified as a single
* user in the Cognito environment. Cognito associates the given source user
* (SourceUserIdentifier
) with the IdentityId
of the
* DestinationUserIdentifier
. Only developer-authenticated users can
* be merged. If the users to be merged are associated with the same public
* provider, but as two different users, an exception will be thrown.
The
* number of linked logins is limited to 20. So, the number of linked logins for
* the source user, SourceUserIdentifier
, and the destination user,
* DestinationUserIdentifier
, together should not be larger than 20.
* Otherwise, an exception will be thrown.
You must use AWS Developer
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::MergeDeveloperIdentitiesOutcome MergeDeveloperIdentities(const Model::MergeDeveloperIdentitiesRequest& request) const;
/**
* A Callable wrapper for MergeDeveloperIdentities that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::MergeDeveloperIdentitiesOutcomeCallable MergeDeveloperIdentitiesCallable(const MergeDeveloperIdentitiesRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::MergeDeveloperIdentities, request);
}
/**
* An Async wrapper for MergeDeveloperIdentities that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void MergeDeveloperIdentitiesAsync(const MergeDeveloperIdentitiesRequestT& request, const MergeDeveloperIdentitiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::MergeDeveloperIdentities, request, handler, context);
}
/**
* Sets the roles for an identity pool. These roles are used when making calls
* to GetCredentialsForIdentity action.
You must use AWS Developer
* credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::SetIdentityPoolRolesOutcome SetIdentityPoolRoles(const Model::SetIdentityPoolRolesRequest& request) const;
/**
* A Callable wrapper for SetIdentityPoolRoles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SetIdentityPoolRolesOutcomeCallable SetIdentityPoolRolesCallable(const SetIdentityPoolRolesRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::SetIdentityPoolRoles, request);
}
/**
* An Async wrapper for SetIdentityPoolRoles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SetIdentityPoolRolesAsync(const SetIdentityPoolRolesRequestT& request, const SetIdentityPoolRolesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::SetIdentityPoolRoles, request, handler, context);
}
/**
* You can use this operation to use default (username and clientID) attribute
* or custom attribute mappings.
See Also:
AWS
* API Reference
*/
virtual Model::SetPrincipalTagAttributeMapOutcome SetPrincipalTagAttributeMap(const Model::SetPrincipalTagAttributeMapRequest& request) const;
/**
* A Callable wrapper for SetPrincipalTagAttributeMap that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SetPrincipalTagAttributeMapOutcomeCallable SetPrincipalTagAttributeMapCallable(const SetPrincipalTagAttributeMapRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::SetPrincipalTagAttributeMap, request);
}
/**
* An Async wrapper for SetPrincipalTagAttributeMap that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SetPrincipalTagAttributeMapAsync(const SetPrincipalTagAttributeMapRequestT& request, const SetPrincipalTagAttributeMapResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::SetPrincipalTagAttributeMap, request, handler, context);
}
/**
* Assigns a set of tags to the specified Amazon Cognito identity pool. A tag is
* a label that you can use to categorize and manage identity pools in different
* ways, such as by purpose, owner, environment, or other criteria.
Each tag
* consists of a key and value, both of which you define. A key is a general
* category for more specific values. For example, if you have two versions of an
* identity pool, one for testing and another for production, you might assign an
* Environment
tag key to both identity pools. The value of this key
* might be Test
for one identity pool and Production
for
* the other.
Tags are useful for cost tracking and access control. You can
* activate your tags so that they appear on the Billing and Cost Management
* console, where you can track the costs associated with your identity pools. In
* an IAM policy, you can constrain permissions for identity pools based on
* specific tags or tag values.
You can use this action up to 5 times per
* second, per account. An identity pool can have as many as 50 tags.
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(&CognitoIdentityClient::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(&CognitoIdentityClient::TagResource, request, handler, context);
}
/**
* Unlinks a DeveloperUserIdentifier
from an existing identity.
* Unlinked developer users will be considered new identities next time they are
* seen. If, for a given Cognito identity, you remove all federated identities as
* well as the developer user identifier, the Cognito identity becomes
* inaccessible.
You must use AWS Developer credentials to call this
* API.
See Also:
AWS
* API Reference
*/
virtual Model::UnlinkDeveloperIdentityOutcome UnlinkDeveloperIdentity(const Model::UnlinkDeveloperIdentityRequest& request) const;
/**
* A Callable wrapper for UnlinkDeveloperIdentity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UnlinkDeveloperIdentityOutcomeCallable UnlinkDeveloperIdentityCallable(const UnlinkDeveloperIdentityRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::UnlinkDeveloperIdentity, request);
}
/**
* An Async wrapper for UnlinkDeveloperIdentity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UnlinkDeveloperIdentityAsync(const UnlinkDeveloperIdentityRequestT& request, const UnlinkDeveloperIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::UnlinkDeveloperIdentity, request, handler, context);
}
/**
* Unlinks a federated identity from an existing account. Unlinked logins will
* be considered new identities next time they are seen. Removing the last linked
* login will make this identity inaccessible.
This is a public API. You do
* not need any credentials to call this API.
See Also:
AWS
* API Reference
*/
virtual Model::UnlinkIdentityOutcome UnlinkIdentity(const Model::UnlinkIdentityRequest& request) const;
/**
* A Callable wrapper for UnlinkIdentity that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UnlinkIdentityOutcomeCallable UnlinkIdentityCallable(const UnlinkIdentityRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::UnlinkIdentity, request);
}
/**
* An Async wrapper for UnlinkIdentity that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UnlinkIdentityAsync(const UnlinkIdentityRequestT& request, const UnlinkIdentityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::UnlinkIdentity, request, handler, context);
}
/**
* Removes the specified tags from the specified Amazon Cognito identity pool.
* You can use this action up to 5 times per second, per account
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(&CognitoIdentityClient::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(&CognitoIdentityClient::UntagResource, request, handler, context);
}
/**
* Updates an identity pool.
You must use AWS Developer credentials to
* call this API.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateIdentityPoolOutcome UpdateIdentityPool(const Model::UpdateIdentityPoolRequest& request) const;
/**
* A Callable wrapper for UpdateIdentityPool that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateIdentityPoolOutcomeCallable UpdateIdentityPoolCallable(const UpdateIdentityPoolRequestT& request) const
{
return SubmitCallable(&CognitoIdentityClient::UpdateIdentityPool, request);
}
/**
* An Async wrapper for UpdateIdentityPool that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateIdentityPoolAsync(const UpdateIdentityPoolRequestT& request, const UpdateIdentityPoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&CognitoIdentityClient::UpdateIdentityPool, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const CognitoIdentityClientConfiguration& clientConfiguration);
CognitoIdentityClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace CognitoIdentity
} // namespace Aws