/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace APIGateway { namespace Model { /** *

Represents an authorization layer for methods. If enabled on a method, API * Gateway will activate the authorizer when a client calls the * method.

See Also:

AWS * API Reference

*/ class CreateAuthorizerResult { public: AWS_APIGATEWAY_API CreateAuthorizerResult(); AWS_APIGATEWAY_API CreateAuthorizerResult(const Aws::AmazonWebServiceResult& result); AWS_APIGATEWAY_API CreateAuthorizerResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The identifier for the authorizer resource.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The identifier for the authorizer resource.

*/ inline void SetId(const Aws::String& value) { m_id = value; } /** *

The identifier for the authorizer resource.

*/ inline void SetId(Aws::String&& value) { m_id = std::move(value); } /** *

The identifier for the authorizer resource.

*/ inline void SetId(const char* value) { m_id.assign(value); } /** *

The identifier for the authorizer resource.

*/ inline CreateAuthorizerResult& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The identifier for the authorizer resource.

*/ inline CreateAuthorizerResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The identifier for the authorizer resource.

*/ inline CreateAuthorizerResult& WithId(const char* value) { SetId(value); return *this;} /** *

The name of the authorizer.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the authorizer.

*/ inline void SetName(const Aws::String& value) { m_name = value; } /** *

The name of the authorizer.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

The name of the authorizer.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The name of the authorizer.

*/ inline CreateAuthorizerResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the authorizer.

*/ inline CreateAuthorizerResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the authorizer.

*/ inline CreateAuthorizerResult& WithName(const char* value) { SetName(value); return *this;} /** *

The authorizer type. Valid values are TOKEN for a Lambda * function using a single authorization token submitted in a custom header, * REQUEST for a Lambda function using incoming request parameters, * and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

*/ inline const AuthorizerType& GetType() const{ return m_type; } /** *

The authorizer type. Valid values are TOKEN for a Lambda * function using a single authorization token submitted in a custom header, * REQUEST for a Lambda function using incoming request parameters, * and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

*/ inline void SetType(const AuthorizerType& value) { m_type = value; } /** *

The authorizer type. Valid values are TOKEN for a Lambda * function using a single authorization token submitted in a custom header, * REQUEST for a Lambda function using incoming request parameters, * and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

*/ inline void SetType(AuthorizerType&& value) { m_type = std::move(value); } /** *

The authorizer type. Valid values are TOKEN for a Lambda * function using a single authorization token submitted in a custom header, * REQUEST for a Lambda function using incoming request parameters, * and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

*/ inline CreateAuthorizerResult& WithType(const AuthorizerType& value) { SetType(value); return *this;} /** *

The authorizer type. Valid values are TOKEN for a Lambda * function using a single authorization token submitted in a custom header, * REQUEST for a Lambda function using incoming request parameters, * and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

*/ inline CreateAuthorizerResult& WithType(AuthorizerType&& value) { SetType(std::move(value)); return *this;} /** *

A list of the Amazon Cognito user pool ARNs for the * COGNITO_USER_POOLS authorizer. Each element is of this format: * arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. * For a TOKEN or REQUEST authorizer, this is not * defined.

*/ inline const Aws::Vector& GetProviderARNs() const{ return m_providerARNs; } /** *

A list of the Amazon Cognito user pool ARNs for the * COGNITO_USER_POOLS authorizer. Each element is of this format: * arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. * For a TOKEN or REQUEST authorizer, this is not * defined.

*/ inline void SetProviderARNs(const Aws::Vector& value) { m_providerARNs = value; } /** *

A list of the Amazon Cognito user pool ARNs for the * COGNITO_USER_POOLS authorizer. Each element is of this format: * arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. * For a TOKEN or REQUEST authorizer, this is not * defined.

*/ inline void SetProviderARNs(Aws::Vector&& value) { m_providerARNs = std::move(value); } /** *

A list of the Amazon Cognito user pool ARNs for the * COGNITO_USER_POOLS authorizer. Each element is of this format: * arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. * For a TOKEN or REQUEST authorizer, this is not * defined.

*/ inline CreateAuthorizerResult& WithProviderARNs(const Aws::Vector& value) { SetProviderARNs(value); return *this;} /** *

A list of the Amazon Cognito user pool ARNs for the * COGNITO_USER_POOLS authorizer. Each element is of this format: * arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. * For a TOKEN or REQUEST authorizer, this is not * defined.

*/ inline CreateAuthorizerResult& WithProviderARNs(Aws::Vector&& value) { SetProviderARNs(std::move(value)); return *this;} /** *

A list of the Amazon Cognito user pool ARNs for the * COGNITO_USER_POOLS authorizer. Each element is of this format: * arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. * For a TOKEN or REQUEST authorizer, this is not * defined.

*/ inline CreateAuthorizerResult& AddProviderARNs(const Aws::String& value) { m_providerARNs.push_back(value); return *this; } /** *

A list of the Amazon Cognito user pool ARNs for the * COGNITO_USER_POOLS authorizer. Each element is of this format: * arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. * For a TOKEN or REQUEST authorizer, this is not * defined.

*/ inline CreateAuthorizerResult& AddProviderARNs(Aws::String&& value) { m_providerARNs.push_back(std::move(value)); return *this; } /** *

A list of the Amazon Cognito user pool ARNs for the * COGNITO_USER_POOLS authorizer. Each element is of this format: * arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. * For a TOKEN or REQUEST authorizer, this is not * defined.

*/ inline CreateAuthorizerResult& AddProviderARNs(const char* value) { m_providerARNs.push_back(value); return *this; } /** *

Optional customer-defined field, used in OpenAPI imports and exports without * functional impact.

*/ inline const Aws::String& GetAuthType() const{ return m_authType; } /** *

Optional customer-defined field, used in OpenAPI imports and exports without * functional impact.

*/ inline void SetAuthType(const Aws::String& value) { m_authType = value; } /** *

Optional customer-defined field, used in OpenAPI imports and exports without * functional impact.

*/ inline void SetAuthType(Aws::String&& value) { m_authType = std::move(value); } /** *

Optional customer-defined field, used in OpenAPI imports and exports without * functional impact.

*/ inline void SetAuthType(const char* value) { m_authType.assign(value); } /** *

Optional customer-defined field, used in OpenAPI imports and exports without * functional impact.

*/ inline CreateAuthorizerResult& WithAuthType(const Aws::String& value) { SetAuthType(value); return *this;} /** *

Optional customer-defined field, used in OpenAPI imports and exports without * functional impact.

*/ inline CreateAuthorizerResult& WithAuthType(Aws::String&& value) { SetAuthType(std::move(value)); return *this;} /** *

Optional customer-defined field, used in OpenAPI imports and exports without * functional impact.

*/ inline CreateAuthorizerResult& WithAuthType(const char* value) { SetAuthType(value); return *this;} /** *

Specifies the authorizer's Uniform Resource Identifier (URI). For * TOKEN or REQUEST authorizers, this must be a * well-formed Lambda function URI, for example, * arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. * In general, the URI has this form * arn:aws:apigateway:{region}:lambda:path/{service_api}, where * {region} is the same as the region hosting the Lambda function, * path indicates that the remaining substring in the URI should be * treated as the path to the resource, including the initial /. For * Lambda functions, this is usually of the form * /2015-03-31/functions/[FunctionARN]/invocations.

*/ inline const Aws::String& GetAuthorizerUri() const{ return m_authorizerUri; } /** *

Specifies the authorizer's Uniform Resource Identifier (URI). For * TOKEN or REQUEST authorizers, this must be a * well-formed Lambda function URI, for example, * arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. * In general, the URI has this form * arn:aws:apigateway:{region}:lambda:path/{service_api}, where * {region} is the same as the region hosting the Lambda function, * path indicates that the remaining substring in the URI should be * treated as the path to the resource, including the initial /. For * Lambda functions, this is usually of the form * /2015-03-31/functions/[FunctionARN]/invocations.

*/ inline void SetAuthorizerUri(const Aws::String& value) { m_authorizerUri = value; } /** *

Specifies the authorizer's Uniform Resource Identifier (URI). For * TOKEN or REQUEST authorizers, this must be a * well-formed Lambda function URI, for example, * arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. * In general, the URI has this form * arn:aws:apigateway:{region}:lambda:path/{service_api}, where * {region} is the same as the region hosting the Lambda function, * path indicates that the remaining substring in the URI should be * treated as the path to the resource, including the initial /. For * Lambda functions, this is usually of the form * /2015-03-31/functions/[FunctionARN]/invocations.

*/ inline void SetAuthorizerUri(Aws::String&& value) { m_authorizerUri = std::move(value); } /** *

Specifies the authorizer's Uniform Resource Identifier (URI). For * TOKEN or REQUEST authorizers, this must be a * well-formed Lambda function URI, for example, * arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. * In general, the URI has this form * arn:aws:apigateway:{region}:lambda:path/{service_api}, where * {region} is the same as the region hosting the Lambda function, * path indicates that the remaining substring in the URI should be * treated as the path to the resource, including the initial /. For * Lambda functions, this is usually of the form * /2015-03-31/functions/[FunctionARN]/invocations.

*/ inline void SetAuthorizerUri(const char* value) { m_authorizerUri.assign(value); } /** *

Specifies the authorizer's Uniform Resource Identifier (URI). For * TOKEN or REQUEST authorizers, this must be a * well-formed Lambda function URI, for example, * arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. * In general, the URI has this form * arn:aws:apigateway:{region}:lambda:path/{service_api}, where * {region} is the same as the region hosting the Lambda function, * path indicates that the remaining substring in the URI should be * treated as the path to the resource, including the initial /. For * Lambda functions, this is usually of the form * /2015-03-31/functions/[FunctionARN]/invocations.

*/ inline CreateAuthorizerResult& WithAuthorizerUri(const Aws::String& value) { SetAuthorizerUri(value); return *this;} /** *

Specifies the authorizer's Uniform Resource Identifier (URI). For * TOKEN or REQUEST authorizers, this must be a * well-formed Lambda function URI, for example, * arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. * In general, the URI has this form * arn:aws:apigateway:{region}:lambda:path/{service_api}, where * {region} is the same as the region hosting the Lambda function, * path indicates that the remaining substring in the URI should be * treated as the path to the resource, including the initial /. For * Lambda functions, this is usually of the form * /2015-03-31/functions/[FunctionARN]/invocations.

*/ inline CreateAuthorizerResult& WithAuthorizerUri(Aws::String&& value) { SetAuthorizerUri(std::move(value)); return *this;} /** *

Specifies the authorizer's Uniform Resource Identifier (URI). For * TOKEN or REQUEST authorizers, this must be a * well-formed Lambda function URI, for example, * arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. * In general, the URI has this form * arn:aws:apigateway:{region}:lambda:path/{service_api}, where * {region} is the same as the region hosting the Lambda function, * path indicates that the remaining substring in the URI should be * treated as the path to the resource, including the initial /. For * Lambda functions, this is usually of the form * /2015-03-31/functions/[FunctionARN]/invocations.

*/ inline CreateAuthorizerResult& WithAuthorizerUri(const char* value) { SetAuthorizerUri(value); return *this;} /** *

Specifies the required credentials as an IAM role for API Gateway to invoke * the authorizer. To specify an IAM role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To use resource-based permissions on the Lambda * function, specify null.

*/ inline const Aws::String& GetAuthorizerCredentials() const{ return m_authorizerCredentials; } /** *

Specifies the required credentials as an IAM role for API Gateway to invoke * the authorizer. To specify an IAM role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To use resource-based permissions on the Lambda * function, specify null.

*/ inline void SetAuthorizerCredentials(const Aws::String& value) { m_authorizerCredentials = value; } /** *

Specifies the required credentials as an IAM role for API Gateway to invoke * the authorizer. To specify an IAM role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To use resource-based permissions on the Lambda * function, specify null.

*/ inline void SetAuthorizerCredentials(Aws::String&& value) { m_authorizerCredentials = std::move(value); } /** *

Specifies the required credentials as an IAM role for API Gateway to invoke * the authorizer. To specify an IAM role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To use resource-based permissions on the Lambda * function, specify null.

*/ inline void SetAuthorizerCredentials(const char* value) { m_authorizerCredentials.assign(value); } /** *

Specifies the required credentials as an IAM role for API Gateway to invoke * the authorizer. To specify an IAM role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To use resource-based permissions on the Lambda * function, specify null.

*/ inline CreateAuthorizerResult& WithAuthorizerCredentials(const Aws::String& value) { SetAuthorizerCredentials(value); return *this;} /** *

Specifies the required credentials as an IAM role for API Gateway to invoke * the authorizer. To specify an IAM role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To use resource-based permissions on the Lambda * function, specify null.

*/ inline CreateAuthorizerResult& WithAuthorizerCredentials(Aws::String&& value) { SetAuthorizerCredentials(std::move(value)); return *this;} /** *

Specifies the required credentials as an IAM role for API Gateway to invoke * the authorizer. To specify an IAM role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To use resource-based permissions on the Lambda * function, specify null.

*/ inline CreateAuthorizerResult& WithAuthorizerCredentials(const char* value) { SetAuthorizerCredentials(value); return *this;} /** *

The identity source for which authorization is requested. For a * TOKEN or COGNITO_USER_POOLS authorizer, this is * required and specifies the request header mapping expression for the custom * header holding the authorization token submitted by the client. For example, if * the token header name is Auth, the header mapping expression is * method.request.header.Auth. For the REQUEST * authorizer, this is required when authorization caching is enabled. The value is * a comma-separated string of one or more mapping expressions of the specified * request parameters. For example, if an Auth header, a * Name query string parameter are defined as identity sources, this * value is method.request.header.Auth, * method.request.querystring.Name. These parameters will be used to * derive the authorization caching key and to perform runtime validation of the * REQUEST authorizer by verifying all of the identity-related request * parameters are present, not null and non-empty. Only when this is true does the * authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 * Unauthorized response without calling the Lambda function. The valid value is a * string of comma-separated mapping expressions of the specified request * parameters. When the authorization caching is not enabled, this property is * optional.

*/ inline const Aws::String& GetIdentitySource() const{ return m_identitySource; } /** *

The identity source for which authorization is requested. For a * TOKEN or COGNITO_USER_POOLS authorizer, this is * required and specifies the request header mapping expression for the custom * header holding the authorization token submitted by the client. For example, if * the token header name is Auth, the header mapping expression is * method.request.header.Auth. For the REQUEST * authorizer, this is required when authorization caching is enabled. The value is * a comma-separated string of one or more mapping expressions of the specified * request parameters. For example, if an Auth header, a * Name query string parameter are defined as identity sources, this * value is method.request.header.Auth, * method.request.querystring.Name. These parameters will be used to * derive the authorization caching key and to perform runtime validation of the * REQUEST authorizer by verifying all of the identity-related request * parameters are present, not null and non-empty. Only when this is true does the * authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 * Unauthorized response without calling the Lambda function. The valid value is a * string of comma-separated mapping expressions of the specified request * parameters. When the authorization caching is not enabled, this property is * optional.

*/ inline void SetIdentitySource(const Aws::String& value) { m_identitySource = value; } /** *

The identity source for which authorization is requested. For a * TOKEN or COGNITO_USER_POOLS authorizer, this is * required and specifies the request header mapping expression for the custom * header holding the authorization token submitted by the client. For example, if * the token header name is Auth, the header mapping expression is * method.request.header.Auth. For the REQUEST * authorizer, this is required when authorization caching is enabled. The value is * a comma-separated string of one or more mapping expressions of the specified * request parameters. For example, if an Auth header, a * Name query string parameter are defined as identity sources, this * value is method.request.header.Auth, * method.request.querystring.Name. These parameters will be used to * derive the authorization caching key and to perform runtime validation of the * REQUEST authorizer by verifying all of the identity-related request * parameters are present, not null and non-empty. Only when this is true does the * authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 * Unauthorized response without calling the Lambda function. The valid value is a * string of comma-separated mapping expressions of the specified request * parameters. When the authorization caching is not enabled, this property is * optional.

*/ inline void SetIdentitySource(Aws::String&& value) { m_identitySource = std::move(value); } /** *

The identity source for which authorization is requested. For a * TOKEN or COGNITO_USER_POOLS authorizer, this is * required and specifies the request header mapping expression for the custom * header holding the authorization token submitted by the client. For example, if * the token header name is Auth, the header mapping expression is * method.request.header.Auth. For the REQUEST * authorizer, this is required when authorization caching is enabled. The value is * a comma-separated string of one or more mapping expressions of the specified * request parameters. For example, if an Auth header, a * Name query string parameter are defined as identity sources, this * value is method.request.header.Auth, * method.request.querystring.Name. These parameters will be used to * derive the authorization caching key and to perform runtime validation of the * REQUEST authorizer by verifying all of the identity-related request * parameters are present, not null and non-empty. Only when this is true does the * authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 * Unauthorized response without calling the Lambda function. The valid value is a * string of comma-separated mapping expressions of the specified request * parameters. When the authorization caching is not enabled, this property is * optional.

*/ inline void SetIdentitySource(const char* value) { m_identitySource.assign(value); } /** *

The identity source for which authorization is requested. For a * TOKEN or COGNITO_USER_POOLS authorizer, this is * required and specifies the request header mapping expression for the custom * header holding the authorization token submitted by the client. For example, if * the token header name is Auth, the header mapping expression is * method.request.header.Auth. For the REQUEST * authorizer, this is required when authorization caching is enabled. The value is * a comma-separated string of one or more mapping expressions of the specified * request parameters. For example, if an Auth header, a * Name query string parameter are defined as identity sources, this * value is method.request.header.Auth, * method.request.querystring.Name. These parameters will be used to * derive the authorization caching key and to perform runtime validation of the * REQUEST authorizer by verifying all of the identity-related request * parameters are present, not null and non-empty. Only when this is true does the * authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 * Unauthorized response without calling the Lambda function. The valid value is a * string of comma-separated mapping expressions of the specified request * parameters. When the authorization caching is not enabled, this property is * optional.

*/ inline CreateAuthorizerResult& WithIdentitySource(const Aws::String& value) { SetIdentitySource(value); return *this;} /** *

The identity source for which authorization is requested. For a * TOKEN or COGNITO_USER_POOLS authorizer, this is * required and specifies the request header mapping expression for the custom * header holding the authorization token submitted by the client. For example, if * the token header name is Auth, the header mapping expression is * method.request.header.Auth. For the REQUEST * authorizer, this is required when authorization caching is enabled. The value is * a comma-separated string of one or more mapping expressions of the specified * request parameters. For example, if an Auth header, a * Name query string parameter are defined as identity sources, this * value is method.request.header.Auth, * method.request.querystring.Name. These parameters will be used to * derive the authorization caching key and to perform runtime validation of the * REQUEST authorizer by verifying all of the identity-related request * parameters are present, not null and non-empty. Only when this is true does the * authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 * Unauthorized response without calling the Lambda function. The valid value is a * string of comma-separated mapping expressions of the specified request * parameters. When the authorization caching is not enabled, this property is * optional.

*/ inline CreateAuthorizerResult& WithIdentitySource(Aws::String&& value) { SetIdentitySource(std::move(value)); return *this;} /** *

The identity source for which authorization is requested. For a * TOKEN or COGNITO_USER_POOLS authorizer, this is * required and specifies the request header mapping expression for the custom * header holding the authorization token submitted by the client. For example, if * the token header name is Auth, the header mapping expression is * method.request.header.Auth. For the REQUEST * authorizer, this is required when authorization caching is enabled. The value is * a comma-separated string of one or more mapping expressions of the specified * request parameters. For example, if an Auth header, a * Name query string parameter are defined as identity sources, this * value is method.request.header.Auth, * method.request.querystring.Name. These parameters will be used to * derive the authorization caching key and to perform runtime validation of the * REQUEST authorizer by verifying all of the identity-related request * parameters are present, not null and non-empty. Only when this is true does the * authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 * Unauthorized response without calling the Lambda function. The valid value is a * string of comma-separated mapping expressions of the specified request * parameters. When the authorization caching is not enabled, this property is * optional.

*/ inline CreateAuthorizerResult& WithIdentitySource(const char* value) { SetIdentitySource(value); return *this;} /** *

A validation expression for the incoming identity token. For * TOKEN authorizers, this value is a regular expression. For * COGNITO_USER_POOLS authorizers, API Gateway will match the * aud field of the incoming token from the client against the * specified regular expression. It will invoke the authorizer's Lambda function * when there is a match. Otherwise, it will return a 401 Unauthorized response * without calling the Lambda function. The validation expression does not apply to * the REQUEST authorizer.

*/ inline const Aws::String& GetIdentityValidationExpression() const{ return m_identityValidationExpression; } /** *

A validation expression for the incoming identity token. For * TOKEN authorizers, this value is a regular expression. For * COGNITO_USER_POOLS authorizers, API Gateway will match the * aud field of the incoming token from the client against the * specified regular expression. It will invoke the authorizer's Lambda function * when there is a match. Otherwise, it will return a 401 Unauthorized response * without calling the Lambda function. The validation expression does not apply to * the REQUEST authorizer.

*/ inline void SetIdentityValidationExpression(const Aws::String& value) { m_identityValidationExpression = value; } /** *

A validation expression for the incoming identity token. For * TOKEN authorizers, this value is a regular expression. For * COGNITO_USER_POOLS authorizers, API Gateway will match the * aud field of the incoming token from the client against the * specified regular expression. It will invoke the authorizer's Lambda function * when there is a match. Otherwise, it will return a 401 Unauthorized response * without calling the Lambda function. The validation expression does not apply to * the REQUEST authorizer.

*/ inline void SetIdentityValidationExpression(Aws::String&& value) { m_identityValidationExpression = std::move(value); } /** *

A validation expression for the incoming identity token. For * TOKEN authorizers, this value is a regular expression. For * COGNITO_USER_POOLS authorizers, API Gateway will match the * aud field of the incoming token from the client against the * specified regular expression. It will invoke the authorizer's Lambda function * when there is a match. Otherwise, it will return a 401 Unauthorized response * without calling the Lambda function. The validation expression does not apply to * the REQUEST authorizer.

*/ inline void SetIdentityValidationExpression(const char* value) { m_identityValidationExpression.assign(value); } /** *

A validation expression for the incoming identity token. For * TOKEN authorizers, this value is a regular expression. For * COGNITO_USER_POOLS authorizers, API Gateway will match the * aud field of the incoming token from the client against the * specified regular expression. It will invoke the authorizer's Lambda function * when there is a match. Otherwise, it will return a 401 Unauthorized response * without calling the Lambda function. The validation expression does not apply to * the REQUEST authorizer.

*/ inline CreateAuthorizerResult& WithIdentityValidationExpression(const Aws::String& value) { SetIdentityValidationExpression(value); return *this;} /** *

A validation expression for the incoming identity token. For * TOKEN authorizers, this value is a regular expression. For * COGNITO_USER_POOLS authorizers, API Gateway will match the * aud field of the incoming token from the client against the * specified regular expression. It will invoke the authorizer's Lambda function * when there is a match. Otherwise, it will return a 401 Unauthorized response * without calling the Lambda function. The validation expression does not apply to * the REQUEST authorizer.

*/ inline CreateAuthorizerResult& WithIdentityValidationExpression(Aws::String&& value) { SetIdentityValidationExpression(std::move(value)); return *this;} /** *

A validation expression for the incoming identity token. For * TOKEN authorizers, this value is a regular expression. For * COGNITO_USER_POOLS authorizers, API Gateway will match the * aud field of the incoming token from the client against the * specified regular expression. It will invoke the authorizer's Lambda function * when there is a match. Otherwise, it will return a 401 Unauthorized response * without calling the Lambda function. The validation expression does not apply to * the REQUEST authorizer.

*/ inline CreateAuthorizerResult& WithIdentityValidationExpression(const char* value) { SetIdentityValidationExpression(value); return *this;} /** *

The TTL in seconds of cached authorizer results. If it equals 0, * authorization caching is disabled. If it is greater than 0, API Gateway will * cache authorizer responses. If this field is not set, the default value is 300. * The maximum value is 3600, or 1 hour.

*/ inline int GetAuthorizerResultTtlInSeconds() const{ return m_authorizerResultTtlInSeconds; } /** *

The TTL in seconds of cached authorizer results. If it equals 0, * authorization caching is disabled. If it is greater than 0, API Gateway will * cache authorizer responses. If this field is not set, the default value is 300. * The maximum value is 3600, or 1 hour.

*/ inline void SetAuthorizerResultTtlInSeconds(int value) { m_authorizerResultTtlInSeconds = value; } /** *

The TTL in seconds of cached authorizer results. If it equals 0, * authorization caching is disabled. If it is greater than 0, API Gateway will * cache authorizer responses. If this field is not set, the default value is 300. * The maximum value is 3600, or 1 hour.

*/ inline CreateAuthorizerResult& WithAuthorizerResultTtlInSeconds(int value) { SetAuthorizerResultTtlInSeconds(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline CreateAuthorizerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline CreateAuthorizerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline CreateAuthorizerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_id; Aws::String m_name; AuthorizerType m_type; Aws::Vector m_providerARNs; Aws::String m_authType; Aws::String m_authorizerUri; Aws::String m_authorizerCredentials; Aws::String m_identitySource; Aws::String m_identityValidationExpression; int m_authorizerResultTtlInSeconds; Aws::String m_requestId; }; } // namespace Model } // namespace APIGateway } // namespace Aws