
com.amazonaws.services.apigatewayv2.model.UpdateAuthorizerRequest Maven / Gradle / Ivy
/*
* Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.apigatewayv2.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* Updates an Authorizer.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class UpdateAuthorizerRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The API identifier.
*
*/
private String apiId;
/**
*
* 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, don't specify this parameter.
*
*/
private String authorizerCredentialsArn;
/**
*
* The authorizer identifier.
*
*/
private String authorizerId;
/**
*
* Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda
* authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs.
*
*/
private String authorizerPayloadFormatVersion;
/**
*
* The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is
* disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour.
* Supported only for HTTP API Lambda authorizers.
*
*/
private Integer authorizerResultTtlInSeconds;
/**
*
* The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use
* JSON Web Tokens (supported only for HTTP APIs).
*
*/
private String authorizerType;
/**
*
* The authorizer's Uniform Resource Identifier (URI). For 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. Supported only
* for REQUEST authorizers.
*
*/
private String authorizerUri;
/**
*
* Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must
* return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy.
* Supported only for HTTP APIs. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs
*
*/
private Boolean enableSimpleResponses;
/**
*
* The identity source for which authorization is requested.
*
*
* For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the
* specified request parameters. The identity source can be headers, query string parameters, stage variables, and
* context parameters. For example, if an Auth header and a Name query string parameter are defined as identity
* sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP
* APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name.
* These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the
* identity-related request parameters are present in the request, 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. For HTTP APIs, identity sources are also used as the cache key when caching
* is enabled. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs.
*
*
* For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently
* only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
*
*/
private java.util.List identitySource;
/**
*
* This parameter is not used.
*
*/
private String identityValidationExpression;
/**
*
* Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP
* APIs.
*
*/
private JWTConfiguration jwtConfiguration;
/**
*
* The name of the authorizer.
*
*/
private String name;
/**
*
* The API identifier.
*
*
* @param apiId
* The API identifier.
*/
public void setApiId(String apiId) {
this.apiId = apiId;
}
/**
*
* The API identifier.
*
*
* @return The API identifier.
*/
public String getApiId() {
return this.apiId;
}
/**
*
* The API identifier.
*
*
* @param apiId
* The API identifier.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withApiId(String apiId) {
setApiId(apiId);
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, don't specify this parameter.
*
*
* @param authorizerCredentialsArn
* 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, don't specify this parameter.
*/
public void setAuthorizerCredentialsArn(String authorizerCredentialsArn) {
this.authorizerCredentialsArn = authorizerCredentialsArn;
}
/**
*
* 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, don't specify this parameter.
*
*
* @return 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, don't specify this parameter.
*/
public String getAuthorizerCredentialsArn() {
return this.authorizerCredentialsArn;
}
/**
*
* 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, don't specify this parameter.
*
*
* @param authorizerCredentialsArn
* 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, don't specify this parameter.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withAuthorizerCredentialsArn(String authorizerCredentialsArn) {
setAuthorizerCredentialsArn(authorizerCredentialsArn);
return this;
}
/**
*
* The authorizer identifier.
*
*
* @param authorizerId
* The authorizer identifier.
*/
public void setAuthorizerId(String authorizerId) {
this.authorizerId = authorizerId;
}
/**
*
* The authorizer identifier.
*
*
* @return The authorizer identifier.
*/
public String getAuthorizerId() {
return this.authorizerId;
}
/**
*
* The authorizer identifier.
*
*
* @param authorizerId
* The authorizer identifier.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withAuthorizerId(String authorizerId) {
setAuthorizerId(authorizerId);
return this;
}
/**
*
* Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda
* authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs.
*
*
* @param authorizerPayloadFormatVersion
* Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda
* authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
*/
public void setAuthorizerPayloadFormatVersion(String authorizerPayloadFormatVersion) {
this.authorizerPayloadFormatVersion = authorizerPayloadFormatVersion;
}
/**
*
* Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda
* authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs.
*
*
* @return Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda
* authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
*/
public String getAuthorizerPayloadFormatVersion() {
return this.authorizerPayloadFormatVersion;
}
/**
*
* Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda
* authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs.
*
*
* @param authorizerPayloadFormatVersion
* Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda
* authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withAuthorizerPayloadFormatVersion(String authorizerPayloadFormatVersion) {
setAuthorizerPayloadFormatVersion(authorizerPayloadFormatVersion);
return this;
}
/**
*
* The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is
* disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour.
* Supported only for HTTP API Lambda authorizers.
*
*
* @param authorizerResultTtlInSeconds
* The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is
* disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or
* 1 hour. Supported only for HTTP API Lambda authorizers.
*/
public void setAuthorizerResultTtlInSeconds(Integer authorizerResultTtlInSeconds) {
this.authorizerResultTtlInSeconds = authorizerResultTtlInSeconds;
}
/**
*
* The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is
* disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour.
* Supported only for HTTP API Lambda authorizers.
*
*
* @return The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching
* is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600,
* or 1 hour. Supported only for HTTP API Lambda authorizers.
*/
public Integer getAuthorizerResultTtlInSeconds() {
return this.authorizerResultTtlInSeconds;
}
/**
*
* The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is
* disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour.
* Supported only for HTTP API Lambda authorizers.
*
*
* @param authorizerResultTtlInSeconds
* The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is
* disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or
* 1 hour. Supported only for HTTP API Lambda authorizers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withAuthorizerResultTtlInSeconds(Integer authorizerResultTtlInSeconds) {
setAuthorizerResultTtlInSeconds(authorizerResultTtlInSeconds);
return this;
}
/**
*
* The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use
* JSON Web Tokens (supported only for HTTP APIs).
*
*
* @param authorizerType
* The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT
* to use JSON Web Tokens (supported only for HTTP APIs).
* @see AuthorizerType
*/
public void setAuthorizerType(String authorizerType) {
this.authorizerType = authorizerType;
}
/**
*
* The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use
* JSON Web Tokens (supported only for HTTP APIs).
*
*
* @return The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT
* to use JSON Web Tokens (supported only for HTTP APIs).
* @see AuthorizerType
*/
public String getAuthorizerType() {
return this.authorizerType;
}
/**
*
* The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use
* JSON Web Tokens (supported only for HTTP APIs).
*
*
* @param authorizerType
* The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT
* to use JSON Web Tokens (supported only for HTTP APIs).
* @return Returns a reference to this object so that method calls can be chained together.
* @see AuthorizerType
*/
public UpdateAuthorizerRequest withAuthorizerType(String authorizerType) {
setAuthorizerType(authorizerType);
return this;
}
/**
*
* The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use
* JSON Web Tokens (supported only for HTTP APIs).
*
*
* @param authorizerType
* The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT
* to use JSON Web Tokens (supported only for HTTP APIs).
* @return Returns a reference to this object so that method calls can be chained together.
* @see AuthorizerType
*/
public UpdateAuthorizerRequest withAuthorizerType(AuthorizerType authorizerType) {
this.authorizerType = authorizerType.toString();
return this;
}
/**
*
* The authorizer's Uniform Resource Identifier (URI). For 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. Supported only
* for REQUEST authorizers.
*
*
* @param authorizerUri
* The authorizer's Uniform Resource Identifier (URI). For 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. Supported only for REQUEST authorizers.
*/
public void setAuthorizerUri(String authorizerUri) {
this.authorizerUri = authorizerUri;
}
/**
*
* The authorizer's Uniform Resource Identifier (URI). For 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. Supported only
* for REQUEST authorizers.
*
*
* @return The authorizer's Uniform Resource Identifier (URI). For 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. Supported only for REQUEST authorizers.
*/
public String getAuthorizerUri() {
return this.authorizerUri;
}
/**
*
* The authorizer's Uniform Resource Identifier (URI). For 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. Supported only
* for REQUEST authorizers.
*
*
* @param authorizerUri
* The authorizer's Uniform Resource Identifier (URI). For 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. Supported only for REQUEST authorizers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withAuthorizerUri(String authorizerUri) {
setAuthorizerUri(authorizerUri);
return this;
}
/**
*
* Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must
* return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy.
* Supported only for HTTP APIs. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs
*
*
* @param enableSimpleResponses
* Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda
* authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead
* of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
*/
public void setEnableSimpleResponses(Boolean enableSimpleResponses) {
this.enableSimpleResponses = enableSimpleResponses;
}
/**
*
* Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must
* return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy.
* Supported only for HTTP APIs. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs
*
*
* @return Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda
* authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value
* instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
*/
public Boolean getEnableSimpleResponses() {
return this.enableSimpleResponses;
}
/**
*
* Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must
* return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy.
* Supported only for HTTP APIs. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs
*
*
* @param enableSimpleResponses
* Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda
* authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead
* of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withEnableSimpleResponses(Boolean enableSimpleResponses) {
setEnableSimpleResponses(enableSimpleResponses);
return this;
}
/**
*
* Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must
* return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy.
* Supported only for HTTP APIs. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs
*
*
* @return Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda
* authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value
* instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
*/
public Boolean isEnableSimpleResponses() {
return this.enableSimpleResponses;
}
/**
*
* The identity source for which authorization is requested.
*
*
* For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the
* specified request parameters. The identity source can be headers, query string parameters, stage variables, and
* context parameters. For example, if an Auth header and a Name query string parameter are defined as identity
* sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP
* APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name.
* These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the
* identity-related request parameters are present in the request, 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. For HTTP APIs, identity sources are also used as the cache key when caching
* is enabled. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs.
*
*
* For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently
* only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
*
*
* @return The identity source for which authorization is requested.
*
* For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the
* specified request parameters. The identity source can be headers, query string parameters, stage
* variables, and context parameters. For example, if an Auth header and a Name query string parameter are
* defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for
* WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example,
* $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation
* for Lambda-based authorizers by verifying all of the identity-related request parameters are present in
* the request, 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.
* For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more,
* see Working with AWS Lambda authorizers for HTTP APIs.
*
*
* For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests.
* Currently only header-based and query parameter-based selections are supported, for example
* $request.header.Authorization.
*/
public java.util.List getIdentitySource() {
return identitySource;
}
/**
*
* The identity source for which authorization is requested.
*
*
* For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the
* specified request parameters. The identity source can be headers, query string parameters, stage variables, and
* context parameters. For example, if an Auth header and a Name query string parameter are defined as identity
* sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP
* APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name.
* These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the
* identity-related request parameters are present in the request, 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. For HTTP APIs, identity sources are also used as the cache key when caching
* is enabled. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs.
*
*
* For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently
* only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
*
*
* @param identitySource
* The identity source for which authorization is requested.
*
* For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the
* specified request parameters. The identity source can be headers, query string parameters, stage
* variables, and context parameters. For example, if an Auth header and a Name query string parameter are
* defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for
* WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example,
* $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation
* for Lambda-based authorizers by verifying all of the identity-related request parameters are present in
* the request, 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.
* For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see
*
* Working with AWS Lambda authorizers for HTTP APIs.
*
*
* For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests.
* Currently only header-based and query parameter-based selections are supported, for example
* $request.header.Authorization.
*/
public void setIdentitySource(java.util.Collection identitySource) {
if (identitySource == null) {
this.identitySource = null;
return;
}
this.identitySource = new java.util.ArrayList(identitySource);
}
/**
*
* The identity source for which authorization is requested.
*
*
* For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the
* specified request parameters. The identity source can be headers, query string parameters, stage variables, and
* context parameters. For example, if an Auth header and a Name query string parameter are defined as identity
* sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP
* APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name.
* These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the
* identity-related request parameters are present in the request, 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. For HTTP APIs, identity sources are also used as the cache key when caching
* is enabled. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs.
*
*
* For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently
* only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setIdentitySource(java.util.Collection)} or {@link #withIdentitySource(java.util.Collection)} if you want
* to override the existing values.
*
*
* @param identitySource
* The identity source for which authorization is requested.
*
* For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the
* specified request parameters. The identity source can be headers, query string parameters, stage
* variables, and context parameters. For example, if an Auth header and a Name query string parameter are
* defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for
* WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example,
* $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation
* for Lambda-based authorizers by verifying all of the identity-related request parameters are present in
* the request, 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.
* For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see
*
* Working with AWS Lambda authorizers for HTTP APIs.
*
*
* For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests.
* Currently only header-based and query parameter-based selections are supported, for example
* $request.header.Authorization.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withIdentitySource(String... identitySource) {
if (this.identitySource == null) {
setIdentitySource(new java.util.ArrayList(identitySource.length));
}
for (String ele : identitySource) {
this.identitySource.add(ele);
}
return this;
}
/**
*
* The identity source for which authorization is requested.
*
*
* For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the
* specified request parameters. The identity source can be headers, query string parameters, stage variables, and
* context parameters. For example, if an Auth header and a Name query string parameter are defined as identity
* sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP
* APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name.
* These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the
* identity-related request parameters are present in the request, 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. For HTTP APIs, identity sources are also used as the cache key when caching
* is enabled. To learn more, see Working with
* AWS Lambda authorizers for HTTP APIs.
*
*
* For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently
* only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
*
*
* @param identitySource
* The identity source for which authorization is requested.
*
* For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the
* specified request parameters. The identity source can be headers, query string parameters, stage
* variables, and context parameters. For example, if an Auth header and a Name query string parameter are
* defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for
* WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example,
* $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation
* for Lambda-based authorizers by verifying all of the identity-related request parameters are present in
* the request, 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.
* For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see
*
* Working with AWS Lambda authorizers for HTTP APIs.
*
*
* For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests.
* Currently only header-based and query parameter-based selections are supported, for example
* $request.header.Authorization.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withIdentitySource(java.util.Collection identitySource) {
setIdentitySource(identitySource);
return this;
}
/**
*
* This parameter is not used.
*
*
* @param identityValidationExpression
* This parameter is not used.
*/
public void setIdentityValidationExpression(String identityValidationExpression) {
this.identityValidationExpression = identityValidationExpression;
}
/**
*
* This parameter is not used.
*
*
* @return This parameter is not used.
*/
public String getIdentityValidationExpression() {
return this.identityValidationExpression;
}
/**
*
* This parameter is not used.
*
*
* @param identityValidationExpression
* This parameter is not used.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withIdentityValidationExpression(String identityValidationExpression) {
setIdentityValidationExpression(identityValidationExpression);
return this;
}
/**
*
* Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP
* APIs.
*
*
* @param jwtConfiguration
* Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for
* HTTP APIs.
*/
public void setJwtConfiguration(JWTConfiguration jwtConfiguration) {
this.jwtConfiguration = jwtConfiguration;
}
/**
*
* Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP
* APIs.
*
*
* @return Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only
* for HTTP APIs.
*/
public JWTConfiguration getJwtConfiguration() {
return this.jwtConfiguration;
}
/**
*
* Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP
* APIs.
*
*
* @param jwtConfiguration
* Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for
* HTTP APIs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withJwtConfiguration(JWTConfiguration jwtConfiguration) {
setJwtConfiguration(jwtConfiguration);
return this;
}
/**
*
* The name of the authorizer.
*
*
* @param name
* The name of the authorizer.
*/
public void setName(String name) {
this.name = name;
}
/**
*
* The name of the authorizer.
*
*
* @return The name of the authorizer.
*/
public String getName() {
return this.name;
}
/**
*
* The name of the authorizer.
*
*
* @param name
* The name of the authorizer.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateAuthorizerRequest withName(String name) {
setName(name);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getApiId() != null)
sb.append("ApiId: ").append(getApiId()).append(",");
if (getAuthorizerCredentialsArn() != null)
sb.append("AuthorizerCredentialsArn: ").append(getAuthorizerCredentialsArn()).append(",");
if (getAuthorizerId() != null)
sb.append("AuthorizerId: ").append(getAuthorizerId()).append(",");
if (getAuthorizerPayloadFormatVersion() != null)
sb.append("AuthorizerPayloadFormatVersion: ").append(getAuthorizerPayloadFormatVersion()).append(",");
if (getAuthorizerResultTtlInSeconds() != null)
sb.append("AuthorizerResultTtlInSeconds: ").append(getAuthorizerResultTtlInSeconds()).append(",");
if (getAuthorizerType() != null)
sb.append("AuthorizerType: ").append(getAuthorizerType()).append(",");
if (getAuthorizerUri() != null)
sb.append("AuthorizerUri: ").append(getAuthorizerUri()).append(",");
if (getEnableSimpleResponses() != null)
sb.append("EnableSimpleResponses: ").append(getEnableSimpleResponses()).append(",");
if (getIdentitySource() != null)
sb.append("IdentitySource: ").append(getIdentitySource()).append(",");
if (getIdentityValidationExpression() != null)
sb.append("IdentityValidationExpression: ").append(getIdentityValidationExpression()).append(",");
if (getJwtConfiguration() != null)
sb.append("JwtConfiguration: ").append(getJwtConfiguration()).append(",");
if (getName() != null)
sb.append("Name: ").append(getName());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof UpdateAuthorizerRequest == false)
return false;
UpdateAuthorizerRequest other = (UpdateAuthorizerRequest) obj;
if (other.getApiId() == null ^ this.getApiId() == null)
return false;
if (other.getApiId() != null && other.getApiId().equals(this.getApiId()) == false)
return false;
if (other.getAuthorizerCredentialsArn() == null ^ this.getAuthorizerCredentialsArn() == null)
return false;
if (other.getAuthorizerCredentialsArn() != null && other.getAuthorizerCredentialsArn().equals(this.getAuthorizerCredentialsArn()) == false)
return false;
if (other.getAuthorizerId() == null ^ this.getAuthorizerId() == null)
return false;
if (other.getAuthorizerId() != null && other.getAuthorizerId().equals(this.getAuthorizerId()) == false)
return false;
if (other.getAuthorizerPayloadFormatVersion() == null ^ this.getAuthorizerPayloadFormatVersion() == null)
return false;
if (other.getAuthorizerPayloadFormatVersion() != null
&& other.getAuthorizerPayloadFormatVersion().equals(this.getAuthorizerPayloadFormatVersion()) == false)
return false;
if (other.getAuthorizerResultTtlInSeconds() == null ^ this.getAuthorizerResultTtlInSeconds() == null)
return false;
if (other.getAuthorizerResultTtlInSeconds() != null && other.getAuthorizerResultTtlInSeconds().equals(this.getAuthorizerResultTtlInSeconds()) == false)
return false;
if (other.getAuthorizerType() == null ^ this.getAuthorizerType() == null)
return false;
if (other.getAuthorizerType() != null && other.getAuthorizerType().equals(this.getAuthorizerType()) == false)
return false;
if (other.getAuthorizerUri() == null ^ this.getAuthorizerUri() == null)
return false;
if (other.getAuthorizerUri() != null && other.getAuthorizerUri().equals(this.getAuthorizerUri()) == false)
return false;
if (other.getEnableSimpleResponses() == null ^ this.getEnableSimpleResponses() == null)
return false;
if (other.getEnableSimpleResponses() != null && other.getEnableSimpleResponses().equals(this.getEnableSimpleResponses()) == false)
return false;
if (other.getIdentitySource() == null ^ this.getIdentitySource() == null)
return false;
if (other.getIdentitySource() != null && other.getIdentitySource().equals(this.getIdentitySource()) == false)
return false;
if (other.getIdentityValidationExpression() == null ^ this.getIdentityValidationExpression() == null)
return false;
if (other.getIdentityValidationExpression() != null && other.getIdentityValidationExpression().equals(this.getIdentityValidationExpression()) == false)
return false;
if (other.getJwtConfiguration() == null ^ this.getJwtConfiguration() == null)
return false;
if (other.getJwtConfiguration() != null && other.getJwtConfiguration().equals(this.getJwtConfiguration()) == false)
return false;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getApiId() == null) ? 0 : getApiId().hashCode());
hashCode = prime * hashCode + ((getAuthorizerCredentialsArn() == null) ? 0 : getAuthorizerCredentialsArn().hashCode());
hashCode = prime * hashCode + ((getAuthorizerId() == null) ? 0 : getAuthorizerId().hashCode());
hashCode = prime * hashCode + ((getAuthorizerPayloadFormatVersion() == null) ? 0 : getAuthorizerPayloadFormatVersion().hashCode());
hashCode = prime * hashCode + ((getAuthorizerResultTtlInSeconds() == null) ? 0 : getAuthorizerResultTtlInSeconds().hashCode());
hashCode = prime * hashCode + ((getAuthorizerType() == null) ? 0 : getAuthorizerType().hashCode());
hashCode = prime * hashCode + ((getAuthorizerUri() == null) ? 0 : getAuthorizerUri().hashCode());
hashCode = prime * hashCode + ((getEnableSimpleResponses() == null) ? 0 : getEnableSimpleResponses().hashCode());
hashCode = prime * hashCode + ((getIdentitySource() == null) ? 0 : getIdentitySource().hashCode());
hashCode = prime * hashCode + ((getIdentityValidationExpression() == null) ? 0 : getIdentityValidationExpression().hashCode());
hashCode = prime * hashCode + ((getJwtConfiguration() == null) ? 0 : getJwtConfiguration().hashCode());
hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode());
return hashCode;
}
@Override
public UpdateAuthorizerRequest clone() {
return (UpdateAuthorizerRequest) super.clone();
}
}