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

Input to the GetCredentialsForIdentity action.

See * Also:

AWS * API Reference

*/ class GetCredentialsForIdentityRequest : public CognitoIdentityRequest { public: AWS_COGNITOIDENTITY_API GetCredentialsForIdentityRequest(); // 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 "GetCredentialsForIdentity"; } AWS_COGNITOIDENTITY_API Aws::String SerializePayload() const override; AWS_COGNITOIDENTITY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A unique identifier in the format REGION:GUID.

*/ inline const Aws::String& GetIdentityId() const{ return m_identityId; } /** *

A unique identifier in the format REGION:GUID.

*/ inline bool IdentityIdHasBeenSet() const { return m_identityIdHasBeenSet; } /** *

A unique identifier in the format REGION:GUID.

*/ inline void SetIdentityId(const Aws::String& value) { m_identityIdHasBeenSet = true; m_identityId = value; } /** *

A unique identifier in the format REGION:GUID.

*/ inline void SetIdentityId(Aws::String&& value) { m_identityIdHasBeenSet = true; m_identityId = std::move(value); } /** *

A unique identifier in the format REGION:GUID.

*/ inline void SetIdentityId(const char* value) { m_identityIdHasBeenSet = true; m_identityId.assign(value); } /** *

A unique identifier in the format REGION:GUID.

*/ inline GetCredentialsForIdentityRequest& WithIdentityId(const Aws::String& value) { SetIdentityId(value); return *this;} /** *

A unique identifier in the format REGION:GUID.

*/ inline GetCredentialsForIdentityRequest& WithIdentityId(Aws::String&& value) { SetIdentityId(std::move(value)); return *this;} /** *

A unique identifier in the format REGION:GUID.

*/ inline GetCredentialsForIdentityRequest& WithIdentityId(const char* value) { SetIdentityId(value); return *this;} /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline const Aws::Map& GetLogins() const{ return m_logins; } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline bool LoginsHasBeenSet() const { return m_loginsHasBeenSet; } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline void SetLogins(const Aws::Map& value) { m_loginsHasBeenSet = true; m_logins = value; } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline void SetLogins(Aws::Map&& value) { m_loginsHasBeenSet = true; m_logins = std::move(value); } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline GetCredentialsForIdentityRequest& WithLogins(const Aws::Map& value) { SetLogins(value); return *this;} /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline GetCredentialsForIdentityRequest& WithLogins(Aws::Map&& value) { SetLogins(std::move(value)); return *this;} /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline GetCredentialsForIdentityRequest& AddLogins(const Aws::String& key, const Aws::String& value) { m_loginsHasBeenSet = true; m_logins.emplace(key, value); return *this; } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline GetCredentialsForIdentityRequest& AddLogins(Aws::String&& key, const Aws::String& value) { m_loginsHasBeenSet = true; m_logins.emplace(std::move(key), value); return *this; } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline GetCredentialsForIdentityRequest& AddLogins(const Aws::String& key, Aws::String&& value) { m_loginsHasBeenSet = true; m_logins.emplace(key, std::move(value)); return *this; } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline GetCredentialsForIdentityRequest& AddLogins(Aws::String&& key, Aws::String&& value) { m_loginsHasBeenSet = true; m_logins.emplace(std::move(key), std::move(value)); return *this; } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline GetCredentialsForIdentityRequest& AddLogins(const char* key, Aws::String&& value) { m_loginsHasBeenSet = true; m_logins.emplace(key, std::move(value)); return *this; } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline GetCredentialsForIdentityRequest& AddLogins(Aws::String&& key, const char* value) { m_loginsHasBeenSet = true; m_logins.emplace(std::move(key), value); return *this; } /** *

A set of optional name-value pairs that map provider names to provider * tokens. The name-value pair will follow the syntax "provider_name": * "provider_user_identifier".

Logins should not be specified when trying to * get credentials for an unauthenticated identity.

The Logins parameter is * required when using identities associated with external identity providers such * as Facebook. For examples of Logins maps, see the code examples in * the External * Identity Providers section of the Amazon Cognito Developer Guide.

*/ inline GetCredentialsForIdentityRequest& AddLogins(const char* key, const char* value) { m_loginsHasBeenSet = true; m_logins.emplace(key, value); return *this; } /** *

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles * were received in the token from the identity provider. For example, a SAML-based * identity provider. This parameter is optional for identity providers that do not * support role customization.

*/ inline const Aws::String& GetCustomRoleArn() const{ return m_customRoleArn; } /** *

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles * were received in the token from the identity provider. For example, a SAML-based * identity provider. This parameter is optional for identity providers that do not * support role customization.

*/ inline bool CustomRoleArnHasBeenSet() const { return m_customRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles * were received in the token from the identity provider. For example, a SAML-based * identity provider. This parameter is optional for identity providers that do not * support role customization.

*/ inline void SetCustomRoleArn(const Aws::String& value) { m_customRoleArnHasBeenSet = true; m_customRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles * were received in the token from the identity provider. For example, a SAML-based * identity provider. This parameter is optional for identity providers that do not * support role customization.

*/ inline void SetCustomRoleArn(Aws::String&& value) { m_customRoleArnHasBeenSet = true; m_customRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles * were received in the token from the identity provider. For example, a SAML-based * identity provider. This parameter is optional for identity providers that do not * support role customization.

*/ inline void SetCustomRoleArn(const char* value) { m_customRoleArnHasBeenSet = true; m_customRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles * were received in the token from the identity provider. For example, a SAML-based * identity provider. This parameter is optional for identity providers that do not * support role customization.

*/ inline GetCredentialsForIdentityRequest& WithCustomRoleArn(const Aws::String& value) { SetCustomRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles * were received in the token from the identity provider. For example, a SAML-based * identity provider. This parameter is optional for identity providers that do not * support role customization.

*/ inline GetCredentialsForIdentityRequest& WithCustomRoleArn(Aws::String&& value) { SetCustomRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles * were received in the token from the identity provider. For example, a SAML-based * identity provider. This parameter is optional for identity providers that do not * support role customization.

*/ inline GetCredentialsForIdentityRequest& WithCustomRoleArn(const char* value) { SetCustomRoleArn(value); return *this;} private: Aws::String m_identityId; bool m_identityIdHasBeenSet = false; Aws::Map m_logins; bool m_loginsHasBeenSet = false; Aws::String m_customRoleArn; bool m_customRoleArnHasBeenSet = false; }; } // namespace Model } // namespace CognitoIdentity } // namespace Aws