/** * 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 Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElasticLoadBalancingv2 { namespace Model { /** *

Request parameters to use when integrating with Amazon Cognito to * authenticate users.

See Also:

AWS * API Reference

*/ class AuthenticateCognitoActionConfig { public: AWS_ELASTICLOADBALANCINGV2_API AuthenticateCognitoActionConfig(); AWS_ELASTICLOADBALANCINGV2_API AuthenticateCognitoActionConfig(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICLOADBALANCINGV2_API AuthenticateCognitoActionConfig& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICLOADBALANCINGV2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

*/ inline const Aws::String& GetUserPoolArn() const{ return m_userPoolArn; } /** *

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

*/ inline bool UserPoolArnHasBeenSet() const { return m_userPoolArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

*/ inline void SetUserPoolArn(const Aws::String& value) { m_userPoolArnHasBeenSet = true; m_userPoolArn = value; } /** *

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

*/ inline void SetUserPoolArn(Aws::String&& value) { m_userPoolArnHasBeenSet = true; m_userPoolArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

*/ inline void SetUserPoolArn(const char* value) { m_userPoolArnHasBeenSet = true; m_userPoolArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

*/ inline AuthenticateCognitoActionConfig& WithUserPoolArn(const Aws::String& value) { SetUserPoolArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

*/ inline AuthenticateCognitoActionConfig& WithUserPoolArn(Aws::String&& value) { SetUserPoolArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

*/ inline AuthenticateCognitoActionConfig& WithUserPoolArn(const char* value) { SetUserPoolArn(value); return *this;} /** *

The ID of the Amazon Cognito user pool client.

*/ inline const Aws::String& GetUserPoolClientId() const{ return m_userPoolClientId; } /** *

The ID of the Amazon Cognito user pool client.

*/ inline bool UserPoolClientIdHasBeenSet() const { return m_userPoolClientIdHasBeenSet; } /** *

The ID of the Amazon Cognito user pool client.

*/ inline void SetUserPoolClientId(const Aws::String& value) { m_userPoolClientIdHasBeenSet = true; m_userPoolClientId = value; } /** *

The ID of the Amazon Cognito user pool client.

*/ inline void SetUserPoolClientId(Aws::String&& value) { m_userPoolClientIdHasBeenSet = true; m_userPoolClientId = std::move(value); } /** *

The ID of the Amazon Cognito user pool client.

*/ inline void SetUserPoolClientId(const char* value) { m_userPoolClientIdHasBeenSet = true; m_userPoolClientId.assign(value); } /** *

The ID of the Amazon Cognito user pool client.

*/ inline AuthenticateCognitoActionConfig& WithUserPoolClientId(const Aws::String& value) { SetUserPoolClientId(value); return *this;} /** *

The ID of the Amazon Cognito user pool client.

*/ inline AuthenticateCognitoActionConfig& WithUserPoolClientId(Aws::String&& value) { SetUserPoolClientId(std::move(value)); return *this;} /** *

The ID of the Amazon Cognito user pool client.

*/ inline AuthenticateCognitoActionConfig& WithUserPoolClientId(const char* value) { SetUserPoolClientId(value); return *this;} /** *

The domain prefix or fully-qualified domain name of the Amazon Cognito user * pool.

*/ inline const Aws::String& GetUserPoolDomain() const{ return m_userPoolDomain; } /** *

The domain prefix or fully-qualified domain name of the Amazon Cognito user * pool.

*/ inline bool UserPoolDomainHasBeenSet() const { return m_userPoolDomainHasBeenSet; } /** *

The domain prefix or fully-qualified domain name of the Amazon Cognito user * pool.

*/ inline void SetUserPoolDomain(const Aws::String& value) { m_userPoolDomainHasBeenSet = true; m_userPoolDomain = value; } /** *

The domain prefix or fully-qualified domain name of the Amazon Cognito user * pool.

*/ inline void SetUserPoolDomain(Aws::String&& value) { m_userPoolDomainHasBeenSet = true; m_userPoolDomain = std::move(value); } /** *

The domain prefix or fully-qualified domain name of the Amazon Cognito user * pool.

*/ inline void SetUserPoolDomain(const char* value) { m_userPoolDomainHasBeenSet = true; m_userPoolDomain.assign(value); } /** *

The domain prefix or fully-qualified domain name of the Amazon Cognito user * pool.

*/ inline AuthenticateCognitoActionConfig& WithUserPoolDomain(const Aws::String& value) { SetUserPoolDomain(value); return *this;} /** *

The domain prefix or fully-qualified domain name of the Amazon Cognito user * pool.

*/ inline AuthenticateCognitoActionConfig& WithUserPoolDomain(Aws::String&& value) { SetUserPoolDomain(std::move(value)); return *this;} /** *

The domain prefix or fully-qualified domain name of the Amazon Cognito user * pool.

*/ inline AuthenticateCognitoActionConfig& WithUserPoolDomain(const char* value) { SetUserPoolDomain(value); return *this;} /** *

The name of the cookie used to maintain session information. The default is * AWSELBAuthSessionCookie.

*/ inline const Aws::String& GetSessionCookieName() const{ return m_sessionCookieName; } /** *

The name of the cookie used to maintain session information. The default is * AWSELBAuthSessionCookie.

*/ inline bool SessionCookieNameHasBeenSet() const { return m_sessionCookieNameHasBeenSet; } /** *

The name of the cookie used to maintain session information. The default is * AWSELBAuthSessionCookie.

*/ inline void SetSessionCookieName(const Aws::String& value) { m_sessionCookieNameHasBeenSet = true; m_sessionCookieName = value; } /** *

The name of the cookie used to maintain session information. The default is * AWSELBAuthSessionCookie.

*/ inline void SetSessionCookieName(Aws::String&& value) { m_sessionCookieNameHasBeenSet = true; m_sessionCookieName = std::move(value); } /** *

The name of the cookie used to maintain session information. The default is * AWSELBAuthSessionCookie.

*/ inline void SetSessionCookieName(const char* value) { m_sessionCookieNameHasBeenSet = true; m_sessionCookieName.assign(value); } /** *

The name of the cookie used to maintain session information. The default is * AWSELBAuthSessionCookie.

*/ inline AuthenticateCognitoActionConfig& WithSessionCookieName(const Aws::String& value) { SetSessionCookieName(value); return *this;} /** *

The name of the cookie used to maintain session information. The default is * AWSELBAuthSessionCookie.

*/ inline AuthenticateCognitoActionConfig& WithSessionCookieName(Aws::String&& value) { SetSessionCookieName(std::move(value)); return *this;} /** *

The name of the cookie used to maintain session information. The default is * AWSELBAuthSessionCookie.

*/ inline AuthenticateCognitoActionConfig& WithSessionCookieName(const char* value) { SetSessionCookieName(value); return *this;} /** *

The set of user claims to be requested from the IdP. The default is * openid.

To verify which scope values your IdP supports and * how to separate multiple values, see the documentation for your IdP.

*/ inline const Aws::String& GetScope() const{ return m_scope; } /** *

The set of user claims to be requested from the IdP. The default is * openid.

To verify which scope values your IdP supports and * how to separate multiple values, see the documentation for your IdP.

*/ inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } /** *

The set of user claims to be requested from the IdP. The default is * openid.

To verify which scope values your IdP supports and * how to separate multiple values, see the documentation for your IdP.

*/ inline void SetScope(const Aws::String& value) { m_scopeHasBeenSet = true; m_scope = value; } /** *

The set of user claims to be requested from the IdP. The default is * openid.

To verify which scope values your IdP supports and * how to separate multiple values, see the documentation for your IdP.

*/ inline void SetScope(Aws::String&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } /** *

The set of user claims to be requested from the IdP. The default is * openid.

To verify which scope values your IdP supports and * how to separate multiple values, see the documentation for your IdP.

*/ inline void SetScope(const char* value) { m_scopeHasBeenSet = true; m_scope.assign(value); } /** *

The set of user claims to be requested from the IdP. The default is * openid.

To verify which scope values your IdP supports and * how to separate multiple values, see the documentation for your IdP.

*/ inline AuthenticateCognitoActionConfig& WithScope(const Aws::String& value) { SetScope(value); return *this;} /** *

The set of user claims to be requested from the IdP. The default is * openid.

To verify which scope values your IdP supports and * how to separate multiple values, see the documentation for your IdP.

*/ inline AuthenticateCognitoActionConfig& WithScope(Aws::String&& value) { SetScope(std::move(value)); return *this;} /** *

The set of user claims to be requested from the IdP. The default is * openid.

To verify which scope values your IdP supports and * how to separate multiple values, see the documentation for your IdP.

*/ inline AuthenticateCognitoActionConfig& WithScope(const char* value) { SetScope(value); return *this;} /** *

The maximum duration of the authentication session, in seconds. The default * is 604800 seconds (7 days).

*/ inline long long GetSessionTimeout() const{ return m_sessionTimeout; } /** *

The maximum duration of the authentication session, in seconds. The default * is 604800 seconds (7 days).

*/ inline bool SessionTimeoutHasBeenSet() const { return m_sessionTimeoutHasBeenSet; } /** *

The maximum duration of the authentication session, in seconds. The default * is 604800 seconds (7 days).

*/ inline void SetSessionTimeout(long long value) { m_sessionTimeoutHasBeenSet = true; m_sessionTimeout = value; } /** *

The maximum duration of the authentication session, in seconds. The default * is 604800 seconds (7 days).

*/ inline AuthenticateCognitoActionConfig& WithSessionTimeout(long long value) { SetSessionTimeout(value); return *this;} /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline const Aws::Map& GetAuthenticationRequestExtraParams() const{ return m_authenticationRequestExtraParams; } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline bool AuthenticationRequestExtraParamsHasBeenSet() const { return m_authenticationRequestExtraParamsHasBeenSet; } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline void SetAuthenticationRequestExtraParams(const Aws::Map& value) { m_authenticationRequestExtraParamsHasBeenSet = true; m_authenticationRequestExtraParams = value; } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline void SetAuthenticationRequestExtraParams(Aws::Map&& value) { m_authenticationRequestExtraParamsHasBeenSet = true; m_authenticationRequestExtraParams = std::move(value); } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline AuthenticateCognitoActionConfig& WithAuthenticationRequestExtraParams(const Aws::Map& value) { SetAuthenticationRequestExtraParams(value); return *this;} /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline AuthenticateCognitoActionConfig& WithAuthenticationRequestExtraParams(Aws::Map&& value) { SetAuthenticationRequestExtraParams(std::move(value)); return *this;} /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline AuthenticateCognitoActionConfig& AddAuthenticationRequestExtraParams(const Aws::String& key, const Aws::String& value) { m_authenticationRequestExtraParamsHasBeenSet = true; m_authenticationRequestExtraParams.emplace(key, value); return *this; } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline AuthenticateCognitoActionConfig& AddAuthenticationRequestExtraParams(Aws::String&& key, const Aws::String& value) { m_authenticationRequestExtraParamsHasBeenSet = true; m_authenticationRequestExtraParams.emplace(std::move(key), value); return *this; } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline AuthenticateCognitoActionConfig& AddAuthenticationRequestExtraParams(const Aws::String& key, Aws::String&& value) { m_authenticationRequestExtraParamsHasBeenSet = true; m_authenticationRequestExtraParams.emplace(key, std::move(value)); return *this; } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline AuthenticateCognitoActionConfig& AddAuthenticationRequestExtraParams(Aws::String&& key, Aws::String&& value) { m_authenticationRequestExtraParamsHasBeenSet = true; m_authenticationRequestExtraParams.emplace(std::move(key), std::move(value)); return *this; } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline AuthenticateCognitoActionConfig& AddAuthenticationRequestExtraParams(const char* key, Aws::String&& value) { m_authenticationRequestExtraParamsHasBeenSet = true; m_authenticationRequestExtraParams.emplace(key, std::move(value)); return *this; } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline AuthenticateCognitoActionConfig& AddAuthenticationRequestExtraParams(Aws::String&& key, const char* value) { m_authenticationRequestExtraParamsHasBeenSet = true; m_authenticationRequestExtraParams.emplace(std::move(key), value); return *this; } /** *

The query parameters (up to 10) to include in the redirect request to the * authorization endpoint.

*/ inline AuthenticateCognitoActionConfig& AddAuthenticationRequestExtraParams(const char* key, const char* value) { m_authenticationRequestExtraParamsHasBeenSet = true; m_authenticationRequestExtraParams.emplace(key, value); return *this; } /** *

The behavior if the user is not authenticated. The following are possible * values:

  • deny - Return an HTTP 401 Unauthorized * error.

  • allow - Allow the request to be forwarded to the * target.

  • authenticate - Redirect the request to the IdP * authorization endpoint. This is the default value.

*/ inline const AuthenticateCognitoActionConditionalBehaviorEnum& GetOnUnauthenticatedRequest() const{ return m_onUnauthenticatedRequest; } /** *

The behavior if the user is not authenticated. The following are possible * values:

  • deny - Return an HTTP 401 Unauthorized * error.

  • allow - Allow the request to be forwarded to the * target.

  • authenticate - Redirect the request to the IdP * authorization endpoint. This is the default value.

*/ inline bool OnUnauthenticatedRequestHasBeenSet() const { return m_onUnauthenticatedRequestHasBeenSet; } /** *

The behavior if the user is not authenticated. The following are possible * values:

  • deny - Return an HTTP 401 Unauthorized * error.

  • allow - Allow the request to be forwarded to the * target.

  • authenticate - Redirect the request to the IdP * authorization endpoint. This is the default value.

*/ inline void SetOnUnauthenticatedRequest(const AuthenticateCognitoActionConditionalBehaviorEnum& value) { m_onUnauthenticatedRequestHasBeenSet = true; m_onUnauthenticatedRequest = value; } /** *

The behavior if the user is not authenticated. The following are possible * values:

  • deny - Return an HTTP 401 Unauthorized * error.

  • allow - Allow the request to be forwarded to the * target.

  • authenticate - Redirect the request to the IdP * authorization endpoint. This is the default value.

*/ inline void SetOnUnauthenticatedRequest(AuthenticateCognitoActionConditionalBehaviorEnum&& value) { m_onUnauthenticatedRequestHasBeenSet = true; m_onUnauthenticatedRequest = std::move(value); } /** *

The behavior if the user is not authenticated. The following are possible * values:

  • deny - Return an HTTP 401 Unauthorized * error.

  • allow - Allow the request to be forwarded to the * target.

  • authenticate - Redirect the request to the IdP * authorization endpoint. This is the default value.

*/ inline AuthenticateCognitoActionConfig& WithOnUnauthenticatedRequest(const AuthenticateCognitoActionConditionalBehaviorEnum& value) { SetOnUnauthenticatedRequest(value); return *this;} /** *

The behavior if the user is not authenticated. The following are possible * values:

  • deny - Return an HTTP 401 Unauthorized * error.

  • allow - Allow the request to be forwarded to the * target.

  • authenticate - Redirect the request to the IdP * authorization endpoint. This is the default value.

*/ inline AuthenticateCognitoActionConfig& WithOnUnauthenticatedRequest(AuthenticateCognitoActionConditionalBehaviorEnum&& value) { SetOnUnauthenticatedRequest(std::move(value)); return *this;} private: Aws::String m_userPoolArn; bool m_userPoolArnHasBeenSet = false; Aws::String m_userPoolClientId; bool m_userPoolClientIdHasBeenSet = false; Aws::String m_userPoolDomain; bool m_userPoolDomainHasBeenSet = false; Aws::String m_sessionCookieName; bool m_sessionCookieNameHasBeenSet = false; Aws::String m_scope; bool m_scopeHasBeenSet = false; long long m_sessionTimeout; bool m_sessionTimeoutHasBeenSet = false; Aws::Map m_authenticationRequestExtraParams; bool m_authenticationRequestExtraParamsHasBeenSet = false; AuthenticateCognitoActionConditionalBehaviorEnum m_onUnauthenticatedRequest; bool m_onUnauthenticatedRequestHasBeenSet = false; }; } // namespace Model } // namespace ElasticLoadBalancingv2 } // namespace Aws