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

Input to the CreateIdentityPool action.

See Also:

AWS * API Reference

*/ class CreateIdentityPoolRequest : public CognitoIdentityRequest { public: AWS_COGNITOIDENTITY_API CreateIdentityPoolRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateIdentityPool"; } AWS_COGNITOIDENTITY_API Aws::String SerializePayload() const override; AWS_COGNITOIDENTITY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A string that you provide.

*/ inline const Aws::String& GetIdentityPoolName() const{ return m_identityPoolName; } /** *

A string that you provide.

*/ inline bool IdentityPoolNameHasBeenSet() const { return m_identityPoolNameHasBeenSet; } /** *

A string that you provide.

*/ inline void SetIdentityPoolName(const Aws::String& value) { m_identityPoolNameHasBeenSet = true; m_identityPoolName = value; } /** *

A string that you provide.

*/ inline void SetIdentityPoolName(Aws::String&& value) { m_identityPoolNameHasBeenSet = true; m_identityPoolName = std::move(value); } /** *

A string that you provide.

*/ inline void SetIdentityPoolName(const char* value) { m_identityPoolNameHasBeenSet = true; m_identityPoolName.assign(value); } /** *

A string that you provide.

*/ inline CreateIdentityPoolRequest& WithIdentityPoolName(const Aws::String& value) { SetIdentityPoolName(value); return *this;} /** *

A string that you provide.

*/ inline CreateIdentityPoolRequest& WithIdentityPoolName(Aws::String&& value) { SetIdentityPoolName(std::move(value)); return *this;} /** *

A string that you provide.

*/ inline CreateIdentityPoolRequest& WithIdentityPoolName(const char* value) { SetIdentityPoolName(value); return *this;} /** *

TRUE if the identity pool supports unauthenticated logins.

*/ inline bool GetAllowUnauthenticatedIdentities() const{ return m_allowUnauthenticatedIdentities; } /** *

TRUE if the identity pool supports unauthenticated logins.

*/ inline bool AllowUnauthenticatedIdentitiesHasBeenSet() const { return m_allowUnauthenticatedIdentitiesHasBeenSet; } /** *

TRUE if the identity pool supports unauthenticated logins.

*/ inline void SetAllowUnauthenticatedIdentities(bool value) { m_allowUnauthenticatedIdentitiesHasBeenSet = true; m_allowUnauthenticatedIdentities = value; } /** *

TRUE if the identity pool supports unauthenticated logins.

*/ inline CreateIdentityPoolRequest& WithAllowUnauthenticatedIdentities(bool value) { SetAllowUnauthenticatedIdentities(value); return *this;} /** *

Enables or disables the Basic (Classic) authentication flow. For more * information, see Identity * Pools (Federated Identities) Authentication Flow in the Amazon Cognito * Developer Guide.

*/ inline bool GetAllowClassicFlow() const{ return m_allowClassicFlow; } /** *

Enables or disables the Basic (Classic) authentication flow. For more * information, see Identity * Pools (Federated Identities) Authentication Flow in the Amazon Cognito * Developer Guide.

*/ inline bool AllowClassicFlowHasBeenSet() const { return m_allowClassicFlowHasBeenSet; } /** *

Enables or disables the Basic (Classic) authentication flow. For more * information, see Identity * Pools (Federated Identities) Authentication Flow in the Amazon Cognito * Developer Guide.

*/ inline void SetAllowClassicFlow(bool value) { m_allowClassicFlowHasBeenSet = true; m_allowClassicFlow = value; } /** *

Enables or disables the Basic (Classic) authentication flow. For more * information, see Identity * Pools (Federated Identities) Authentication Flow in the Amazon Cognito * Developer Guide.

*/ inline CreateIdentityPoolRequest& WithAllowClassicFlow(bool value) { SetAllowClassicFlow(value); return *this;} /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline const Aws::Map& GetSupportedLoginProviders() const{ return m_supportedLoginProviders; } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline bool SupportedLoginProvidersHasBeenSet() const { return m_supportedLoginProvidersHasBeenSet; } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline void SetSupportedLoginProviders(const Aws::Map& value) { m_supportedLoginProvidersHasBeenSet = true; m_supportedLoginProviders = value; } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline void SetSupportedLoginProviders(Aws::Map&& value) { m_supportedLoginProvidersHasBeenSet = true; m_supportedLoginProviders = std::move(value); } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline CreateIdentityPoolRequest& WithSupportedLoginProviders(const Aws::Map& value) { SetSupportedLoginProviders(value); return *this;} /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline CreateIdentityPoolRequest& WithSupportedLoginProviders(Aws::Map&& value) { SetSupportedLoginProviders(std::move(value)); return *this;} /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline CreateIdentityPoolRequest& AddSupportedLoginProviders(const Aws::String& key, const Aws::String& value) { m_supportedLoginProvidersHasBeenSet = true; m_supportedLoginProviders.emplace(key, value); return *this; } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline CreateIdentityPoolRequest& AddSupportedLoginProviders(Aws::String&& key, const Aws::String& value) { m_supportedLoginProvidersHasBeenSet = true; m_supportedLoginProviders.emplace(std::move(key), value); return *this; } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline CreateIdentityPoolRequest& AddSupportedLoginProviders(const Aws::String& key, Aws::String&& value) { m_supportedLoginProvidersHasBeenSet = true; m_supportedLoginProviders.emplace(key, std::move(value)); return *this; } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline CreateIdentityPoolRequest& AddSupportedLoginProviders(Aws::String&& key, Aws::String&& value) { m_supportedLoginProvidersHasBeenSet = true; m_supportedLoginProviders.emplace(std::move(key), std::move(value)); return *this; } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline CreateIdentityPoolRequest& AddSupportedLoginProviders(const char* key, Aws::String&& value) { m_supportedLoginProvidersHasBeenSet = true; m_supportedLoginProviders.emplace(key, std::move(value)); return *this; } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline CreateIdentityPoolRequest& AddSupportedLoginProviders(Aws::String&& key, const char* value) { m_supportedLoginProvidersHasBeenSet = true; m_supportedLoginProviders.emplace(std::move(key), value); return *this; } /** *

Optional key:value pairs mapping provider names to provider app IDs.

*/ inline CreateIdentityPoolRequest& AddSupportedLoginProviders(const char* key, const char* value) { m_supportedLoginProvidersHasBeenSet = true; m_supportedLoginProviders.emplace(key, value); return *this; } /** *

The "domain" by which Cognito will refer to your users. This name acts as a * placeholder that allows your backend and the Cognito service to communicate * about the developer provider. For the DeveloperProviderName, you * can use letters as well as period (.), underscore (_), * and dash (-).

Once you have set a developer provider name, * you cannot change it. Please take care in setting this parameter.

*/ inline const Aws::String& GetDeveloperProviderName() const{ return m_developerProviderName; } /** *

The "domain" by which Cognito will refer to your users. This name acts as a * placeholder that allows your backend and the Cognito service to communicate * about the developer provider. For the DeveloperProviderName, you * can use letters as well as period (.), underscore (_), * and dash (-).

Once you have set a developer provider name, * you cannot change it. Please take care in setting this parameter.

*/ inline bool DeveloperProviderNameHasBeenSet() const { return m_developerProviderNameHasBeenSet; } /** *

The "domain" by which Cognito will refer to your users. This name acts as a * placeholder that allows your backend and the Cognito service to communicate * about the developer provider. For the DeveloperProviderName, you * can use letters as well as period (.), underscore (_), * and dash (-).

Once you have set a developer provider name, * you cannot change it. Please take care in setting this parameter.

*/ inline void SetDeveloperProviderName(const Aws::String& value) { m_developerProviderNameHasBeenSet = true; m_developerProviderName = value; } /** *

The "domain" by which Cognito will refer to your users. This name acts as a * placeholder that allows your backend and the Cognito service to communicate * about the developer provider. For the DeveloperProviderName, you * can use letters as well as period (.), underscore (_), * and dash (-).

Once you have set a developer provider name, * you cannot change it. Please take care in setting this parameter.

*/ inline void SetDeveloperProviderName(Aws::String&& value) { m_developerProviderNameHasBeenSet = true; m_developerProviderName = std::move(value); } /** *

The "domain" by which Cognito will refer to your users. This name acts as a * placeholder that allows your backend and the Cognito service to communicate * about the developer provider. For the DeveloperProviderName, you * can use letters as well as period (.), underscore (_), * and dash (-).

Once you have set a developer provider name, * you cannot change it. Please take care in setting this parameter.

*/ inline void SetDeveloperProviderName(const char* value) { m_developerProviderNameHasBeenSet = true; m_developerProviderName.assign(value); } /** *

The "domain" by which Cognito will refer to your users. This name acts as a * placeholder that allows your backend and the Cognito service to communicate * about the developer provider. For the DeveloperProviderName, you * can use letters as well as period (.), underscore (_), * and dash (-).

Once you have set a developer provider name, * you cannot change it. Please take care in setting this parameter.

*/ inline CreateIdentityPoolRequest& WithDeveloperProviderName(const Aws::String& value) { SetDeveloperProviderName(value); return *this;} /** *

The "domain" by which Cognito will refer to your users. This name acts as a * placeholder that allows your backend and the Cognito service to communicate * about the developer provider. For the DeveloperProviderName, you * can use letters as well as period (.), underscore (_), * and dash (-).

Once you have set a developer provider name, * you cannot change it. Please take care in setting this parameter.

*/ inline CreateIdentityPoolRequest& WithDeveloperProviderName(Aws::String&& value) { SetDeveloperProviderName(std::move(value)); return *this;} /** *

The "domain" by which Cognito will refer to your users. This name acts as a * placeholder that allows your backend and the Cognito service to communicate * about the developer provider. For the DeveloperProviderName, you * can use letters as well as period (.), underscore (_), * and dash (-).

Once you have set a developer provider name, * you cannot change it. Please take care in setting this parameter.

*/ inline CreateIdentityPoolRequest& WithDeveloperProviderName(const char* value) { SetDeveloperProviderName(value); return *this;} /** *

The Amazon Resource Names (ARN) of the OpenID Connect providers.

*/ inline const Aws::Vector& GetOpenIdConnectProviderARNs() const{ return m_openIdConnectProviderARNs; } /** *

The Amazon Resource Names (ARN) of the OpenID Connect providers.

*/ inline bool OpenIdConnectProviderARNsHasBeenSet() const { return m_openIdConnectProviderARNsHasBeenSet; } /** *

The Amazon Resource Names (ARN) of the OpenID Connect providers.

*/ inline void SetOpenIdConnectProviderARNs(const Aws::Vector& value) { m_openIdConnectProviderARNsHasBeenSet = true; m_openIdConnectProviderARNs = value; } /** *

The Amazon Resource Names (ARN) of the OpenID Connect providers.

*/ inline void SetOpenIdConnectProviderARNs(Aws::Vector&& value) { m_openIdConnectProviderARNsHasBeenSet = true; m_openIdConnectProviderARNs = std::move(value); } /** *

The Amazon Resource Names (ARN) of the OpenID Connect providers.

*/ inline CreateIdentityPoolRequest& WithOpenIdConnectProviderARNs(const Aws::Vector& value) { SetOpenIdConnectProviderARNs(value); return *this;} /** *

The Amazon Resource Names (ARN) of the OpenID Connect providers.

*/ inline CreateIdentityPoolRequest& WithOpenIdConnectProviderARNs(Aws::Vector&& value) { SetOpenIdConnectProviderARNs(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARN) of the OpenID Connect providers.

*/ inline CreateIdentityPoolRequest& AddOpenIdConnectProviderARNs(const Aws::String& value) { m_openIdConnectProviderARNsHasBeenSet = true; m_openIdConnectProviderARNs.push_back(value); return *this; } /** *

The Amazon Resource Names (ARN) of the OpenID Connect providers.

*/ inline CreateIdentityPoolRequest& AddOpenIdConnectProviderARNs(Aws::String&& value) { m_openIdConnectProviderARNsHasBeenSet = true; m_openIdConnectProviderARNs.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARN) of the OpenID Connect providers.

*/ inline CreateIdentityPoolRequest& AddOpenIdConnectProviderARNs(const char* value) { m_openIdConnectProviderARNsHasBeenSet = true; m_openIdConnectProviderARNs.push_back(value); return *this; } /** *

An array of Amazon Cognito user pools and their client IDs.

*/ inline const Aws::Vector& GetCognitoIdentityProviders() const{ return m_cognitoIdentityProviders; } /** *

An array of Amazon Cognito user pools and their client IDs.

*/ inline bool CognitoIdentityProvidersHasBeenSet() const { return m_cognitoIdentityProvidersHasBeenSet; } /** *

An array of Amazon Cognito user pools and their client IDs.

*/ inline void SetCognitoIdentityProviders(const Aws::Vector& value) { m_cognitoIdentityProvidersHasBeenSet = true; m_cognitoIdentityProviders = value; } /** *

An array of Amazon Cognito user pools and their client IDs.

*/ inline void SetCognitoIdentityProviders(Aws::Vector&& value) { m_cognitoIdentityProvidersHasBeenSet = true; m_cognitoIdentityProviders = std::move(value); } /** *

An array of Amazon Cognito user pools and their client IDs.

*/ inline CreateIdentityPoolRequest& WithCognitoIdentityProviders(const Aws::Vector& value) { SetCognitoIdentityProviders(value); return *this;} /** *

An array of Amazon Cognito user pools and their client IDs.

*/ inline CreateIdentityPoolRequest& WithCognitoIdentityProviders(Aws::Vector&& value) { SetCognitoIdentityProviders(std::move(value)); return *this;} /** *

An array of Amazon Cognito user pools and their client IDs.

*/ inline CreateIdentityPoolRequest& AddCognitoIdentityProviders(const CognitoIdentityProvider& value) { m_cognitoIdentityProvidersHasBeenSet = true; m_cognitoIdentityProviders.push_back(value); return *this; } /** *

An array of Amazon Cognito user pools and their client IDs.

*/ inline CreateIdentityPoolRequest& AddCognitoIdentityProviders(CognitoIdentityProvider&& value) { m_cognitoIdentityProvidersHasBeenSet = true; m_cognitoIdentityProviders.push_back(std::move(value)); return *this; } /** *

An array of Amazon Resource Names (ARNs) of the SAML provider for your * identity pool.

*/ inline const Aws::Vector& GetSamlProviderARNs() const{ return m_samlProviderARNs; } /** *

An array of Amazon Resource Names (ARNs) of the SAML provider for your * identity pool.

*/ inline bool SamlProviderARNsHasBeenSet() const { return m_samlProviderARNsHasBeenSet; } /** *

An array of Amazon Resource Names (ARNs) of the SAML provider for your * identity pool.

*/ inline void SetSamlProviderARNs(const Aws::Vector& value) { m_samlProviderARNsHasBeenSet = true; m_samlProviderARNs = value; } /** *

An array of Amazon Resource Names (ARNs) of the SAML provider for your * identity pool.

*/ inline void SetSamlProviderARNs(Aws::Vector&& value) { m_samlProviderARNsHasBeenSet = true; m_samlProviderARNs = std::move(value); } /** *

An array of Amazon Resource Names (ARNs) of the SAML provider for your * identity pool.

*/ inline CreateIdentityPoolRequest& WithSamlProviderARNs(const Aws::Vector& value) { SetSamlProviderARNs(value); return *this;} /** *

An array of Amazon Resource Names (ARNs) of the SAML provider for your * identity pool.

*/ inline CreateIdentityPoolRequest& WithSamlProviderARNs(Aws::Vector&& value) { SetSamlProviderARNs(std::move(value)); return *this;} /** *

An array of Amazon Resource Names (ARNs) of the SAML provider for your * identity pool.

*/ inline CreateIdentityPoolRequest& AddSamlProviderARNs(const Aws::String& value) { m_samlProviderARNsHasBeenSet = true; m_samlProviderARNs.push_back(value); return *this; } /** *

An array of Amazon Resource Names (ARNs) of the SAML provider for your * identity pool.

*/ inline CreateIdentityPoolRequest& AddSamlProviderARNs(Aws::String&& value) { m_samlProviderARNsHasBeenSet = true; m_samlProviderARNs.push_back(std::move(value)); return *this; } /** *

An array of Amazon Resource Names (ARNs) of the SAML provider for your * identity pool.

*/ inline CreateIdentityPoolRequest& AddSamlProviderARNs(const char* value) { m_samlProviderARNsHasBeenSet = true; m_samlProviderARNs.push_back(value); return *this; } /** *

Tags to assign to the 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.

*/ inline const Aws::Map& GetIdentityPoolTags() const{ return m_identityPoolTags; } /** *

Tags to assign to the 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.

*/ inline bool IdentityPoolTagsHasBeenSet() const { return m_identityPoolTagsHasBeenSet; } /** *

Tags to assign to the 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.

*/ inline void SetIdentityPoolTags(const Aws::Map& value) { m_identityPoolTagsHasBeenSet = true; m_identityPoolTags = value; } /** *

Tags to assign to the 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.

*/ inline void SetIdentityPoolTags(Aws::Map&& value) { m_identityPoolTagsHasBeenSet = true; m_identityPoolTags = std::move(value); } /** *

Tags to assign to the 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.

*/ inline CreateIdentityPoolRequest& WithIdentityPoolTags(const Aws::Map& value) { SetIdentityPoolTags(value); return *this;} /** *

Tags to assign to the 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.

*/ inline CreateIdentityPoolRequest& WithIdentityPoolTags(Aws::Map&& value) { SetIdentityPoolTags(std::move(value)); return *this;} /** *

Tags to assign to the 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.

*/ inline CreateIdentityPoolRequest& AddIdentityPoolTags(const Aws::String& key, const Aws::String& value) { m_identityPoolTagsHasBeenSet = true; m_identityPoolTags.emplace(key, value); return *this; } /** *

Tags to assign to the 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.

*/ inline CreateIdentityPoolRequest& AddIdentityPoolTags(Aws::String&& key, const Aws::String& value) { m_identityPoolTagsHasBeenSet = true; m_identityPoolTags.emplace(std::move(key), value); return *this; } /** *

Tags to assign to the 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.

*/ inline CreateIdentityPoolRequest& AddIdentityPoolTags(const Aws::String& key, Aws::String&& value) { m_identityPoolTagsHasBeenSet = true; m_identityPoolTags.emplace(key, std::move(value)); return *this; } /** *

Tags to assign to the 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.

*/ inline CreateIdentityPoolRequest& AddIdentityPoolTags(Aws::String&& key, Aws::String&& value) { m_identityPoolTagsHasBeenSet = true; m_identityPoolTags.emplace(std::move(key), std::move(value)); return *this; } /** *

Tags to assign to the 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.

*/ inline CreateIdentityPoolRequest& AddIdentityPoolTags(const char* key, Aws::String&& value) { m_identityPoolTagsHasBeenSet = true; m_identityPoolTags.emplace(key, std::move(value)); return *this; } /** *

Tags to assign to the 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.

*/ inline CreateIdentityPoolRequest& AddIdentityPoolTags(Aws::String&& key, const char* value) { m_identityPoolTagsHasBeenSet = true; m_identityPoolTags.emplace(std::move(key), value); return *this; } /** *

Tags to assign to the 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.

*/ inline CreateIdentityPoolRequest& AddIdentityPoolTags(const char* key, const char* value) { m_identityPoolTagsHasBeenSet = true; m_identityPoolTags.emplace(key, value); return *this; } private: Aws::String m_identityPoolName; bool m_identityPoolNameHasBeenSet = false; bool m_allowUnauthenticatedIdentities; bool m_allowUnauthenticatedIdentitiesHasBeenSet = false; bool m_allowClassicFlow; bool m_allowClassicFlowHasBeenSet = false; Aws::Map m_supportedLoginProviders; bool m_supportedLoginProvidersHasBeenSet = false; Aws::String m_developerProviderName; bool m_developerProviderNameHasBeenSet = false; Aws::Vector m_openIdConnectProviderARNs; bool m_openIdConnectProviderARNsHasBeenSet = false; Aws::Vector m_cognitoIdentityProviders; bool m_cognitoIdentityProvidersHasBeenSet = false; Aws::Vector m_samlProviderARNs; bool m_samlProviderARNsHasBeenSet = false; Aws::Map m_identityPoolTags; bool m_identityPoolTagsHasBeenSet = false; }; } // namespace Model } // namespace CognitoIdentity } // namespace Aws