/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ApiGatewayV2 { namespace Model { /** *

Represents the configuration of a JWT authorizer. Required for the JWT * authorizer type. Supported only for HTTP APIs.

See Also:

AWS * API Reference

*/ class JWTConfiguration { public: AWS_APIGATEWAYV2_API JWTConfiguration(); AWS_APIGATEWAYV2_API JWTConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_APIGATEWAYV2_API JWTConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_APIGATEWAYV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A list of the intended recipients of the JWT. A valid JWT must provide an aud * that matches at least one entry in this list. See RFC 7519. Supported * only for HTTP APIs.

*/ inline const Aws::Vector& GetAudience() const{ return m_audience; } /** *

A list of the intended recipients of the JWT. A valid JWT must provide an aud * that matches at least one entry in this list. See RFC 7519. Supported * only for HTTP APIs.

*/ inline bool AudienceHasBeenSet() const { return m_audienceHasBeenSet; } /** *

A list of the intended recipients of the JWT. A valid JWT must provide an aud * that matches at least one entry in this list. See RFC 7519. Supported * only for HTTP APIs.

*/ inline void SetAudience(const Aws::Vector& value) { m_audienceHasBeenSet = true; m_audience = value; } /** *

A list of the intended recipients of the JWT. A valid JWT must provide an aud * that matches at least one entry in this list. See RFC 7519. Supported * only for HTTP APIs.

*/ inline void SetAudience(Aws::Vector&& value) { m_audienceHasBeenSet = true; m_audience = std::move(value); } /** *

A list of the intended recipients of the JWT. A valid JWT must provide an aud * that matches at least one entry in this list. See RFC 7519. Supported * only for HTTP APIs.

*/ inline JWTConfiguration& WithAudience(const Aws::Vector& value) { SetAudience(value); return *this;} /** *

A list of the intended recipients of the JWT. A valid JWT must provide an aud * that matches at least one entry in this list. See RFC 7519. Supported * only for HTTP APIs.

*/ inline JWTConfiguration& WithAudience(Aws::Vector&& value) { SetAudience(std::move(value)); return *this;} /** *

A list of the intended recipients of the JWT. A valid JWT must provide an aud * that matches at least one entry in this list. See RFC 7519. Supported * only for HTTP APIs.

*/ inline JWTConfiguration& AddAudience(const Aws::String& value) { m_audienceHasBeenSet = true; m_audience.push_back(value); return *this; } /** *

A list of the intended recipients of the JWT. A valid JWT must provide an aud * that matches at least one entry in this list. See RFC 7519. Supported * only for HTTP APIs.

*/ inline JWTConfiguration& AddAudience(Aws::String&& value) { m_audienceHasBeenSet = true; m_audience.push_back(std::move(value)); return *this; } /** *

A list of the intended recipients of the JWT. A valid JWT must provide an aud * that matches at least one entry in this list. See RFC 7519. Supported * only for HTTP APIs.

*/ inline JWTConfiguration& AddAudience(const char* value) { m_audienceHasBeenSet = true; m_audience.push_back(value); return *this; } /** *

The base domain of the identity provider that issues JSON Web Tokens. For * example, an Amazon Cognito user pool has the following format: * https://cognito-idp.{region}.amazonaws.com/{userPoolId} * . Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ inline const Aws::String& GetIssuer() const{ return m_issuer; } /** *

The base domain of the identity provider that issues JSON Web Tokens. For * example, an Amazon Cognito user pool has the following format: * https://cognito-idp.{region}.amazonaws.com/{userPoolId} * . Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ inline bool IssuerHasBeenSet() const { return m_issuerHasBeenSet; } /** *

The base domain of the identity provider that issues JSON Web Tokens. For * example, an Amazon Cognito user pool has the following format: * https://cognito-idp.{region}.amazonaws.com/{userPoolId} * . Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ inline void SetIssuer(const Aws::String& value) { m_issuerHasBeenSet = true; m_issuer = value; } /** *

The base domain of the identity provider that issues JSON Web Tokens. For * example, an Amazon Cognito user pool has the following format: * https://cognito-idp.{region}.amazonaws.com/{userPoolId} * . Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ inline void SetIssuer(Aws::String&& value) { m_issuerHasBeenSet = true; m_issuer = std::move(value); } /** *

The base domain of the identity provider that issues JSON Web Tokens. For * example, an Amazon Cognito user pool has the following format: * https://cognito-idp.{region}.amazonaws.com/{userPoolId} * . Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ inline void SetIssuer(const char* value) { m_issuerHasBeenSet = true; m_issuer.assign(value); } /** *

The base domain of the identity provider that issues JSON Web Tokens. For * example, an Amazon Cognito user pool has the following format: * https://cognito-idp.{region}.amazonaws.com/{userPoolId} * . Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ inline JWTConfiguration& WithIssuer(const Aws::String& value) { SetIssuer(value); return *this;} /** *

The base domain of the identity provider that issues JSON Web Tokens. For * example, an Amazon Cognito user pool has the following format: * https://cognito-idp.{region}.amazonaws.com/{userPoolId} * . Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ inline JWTConfiguration& WithIssuer(Aws::String&& value) { SetIssuer(std::move(value)); return *this;} /** *

The base domain of the identity provider that issues JSON Web Tokens. For * example, an Amazon Cognito user pool has the following format: * https://cognito-idp.{region}.amazonaws.com/{userPoolId} * . Required for the JWT authorizer type. Supported only for HTTP APIs.

*/ inline JWTConfiguration& WithIssuer(const char* value) { SetIssuer(value); return *this;} private: Aws::Vector m_audience; bool m_audienceHasBeenSet = false; Aws::String m_issuer; bool m_issuerHasBeenSet = false; }; } // namespace Model } // namespace ApiGatewayV2 } // namespace Aws