/* * Copyright 2010-2023 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.iot.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *
* Creates an authorizer. *
** Requires permission to access the CreateAuthorizer action. *
*/ public class CreateAuthorizerRequest extends AmazonWebServiceRequest implements Serializable { /** ** The authorizer name. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [\w=,@-]+
*/
private String authorizerName;
/**
*
* The ARN of the authorizer's Lambda function. *
*
* Constraints:
* Length: - 2048
* Pattern: [\s\S]*
*/
private String authorizerFunctionArn;
/**
*
* The name of the token key used to extract the token from the HTTP * headers. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_-]+
*/
private String tokenKeyName;
/**
*
* The public keys used to verify the digital signature returned by your * custom authentication service. *
*/ private java.util.Map* The status of the create authorizer request. *
*
* Constraints:
* Allowed Values: ACTIVE, INACTIVE
*/
private String status;
/**
*
* Metadata which can be used to manage the custom authorizer. *
** For URI Request parameters use format: ...key1=value1&key2=value2... *
** For the CLI command-line parameter use format: &&tags * "key1=value1&key2=value2..." *
** For the cli-input-json file use format: "tags": * "key1=value1&key2=value2..." *
** Specifies whether IoT validates the token signature in an authorization * request. *
*/ private Boolean signingDisabled; /** *
* When true
, the result from the authorizer’s Lambda function
* is cached for clients that use persistent HTTP connections. The results
* are cached for the time specified by the Lambda function in
* refreshAfterInSeconds
. This value does not affect
* authorization of clients that use MQTT connections.
*
* The default value is false
.
*
* The authorizer name. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [\w=,@-]+
*
* @return
* The authorizer name. *
*/ public String getAuthorizerName() { return authorizerName; } /** ** The authorizer name. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [\w=,@-]+
*
* @param authorizerName
* The authorizer name. *
*/ public void setAuthorizerName(String authorizerName) { this.authorizerName = authorizerName; } /** ** The authorizer name. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [\w=,@-]+
*
* @param authorizerName
* The authorizer name. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateAuthorizerRequest withAuthorizerName(String authorizerName) { this.authorizerName = authorizerName; return this; } /** ** The ARN of the authorizer's Lambda function. *
*
* Constraints:
* Length: - 2048
* Pattern: [\s\S]*
*
* @return
* The ARN of the authorizer's Lambda function. *
*/ public String getAuthorizerFunctionArn() { return authorizerFunctionArn; } /** ** The ARN of the authorizer's Lambda function. *
*
* Constraints:
* Length: - 2048
* Pattern: [\s\S]*
*
* @param authorizerFunctionArn
* The ARN of the authorizer's Lambda function. *
*/ public void setAuthorizerFunctionArn(String authorizerFunctionArn) { this.authorizerFunctionArn = authorizerFunctionArn; } /** ** The ARN of the authorizer's Lambda function. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: - 2048
* Pattern: [\s\S]*
*
* @param authorizerFunctionArn
* The ARN of the authorizer's Lambda function. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateAuthorizerRequest withAuthorizerFunctionArn(String authorizerFunctionArn) { this.authorizerFunctionArn = authorizerFunctionArn; return this; } /** ** The name of the token key used to extract the token from the HTTP * headers. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_-]+
*
* @return
* The name of the token key used to extract the token from the HTTP * headers. *
*/ public String getTokenKeyName() { return tokenKeyName; } /** ** The name of the token key used to extract the token from the HTTP * headers. *
*
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_-]+
*
* @param tokenKeyName
* The name of the token key used to extract the token from the * HTTP headers. *
*/ public void setTokenKeyName(String tokenKeyName) { this.tokenKeyName = tokenKeyName; } /** ** The name of the token key used to extract the token from the HTTP * headers. *
** Returns a reference to this object so that method calls can be chained * together. *
* Constraints:
* Length: 1 - 128
* Pattern: [a-zA-Z0-9_-]+
*
* @param tokenKeyName
* The name of the token key used to extract the token from the * HTTP headers. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateAuthorizerRequest withTokenKeyName(String tokenKeyName) { this.tokenKeyName = tokenKeyName; return this; } /** ** The public keys used to verify the digital signature returned by your * custom authentication service. *
* * @return* The public keys used to verify the digital signature returned by * your custom authentication service. *
*/ public java.util.Map* The public keys used to verify the digital signature returned by your * custom authentication service. *
* * @param tokenSigningPublicKeys* The public keys used to verify the digital signature returned * by your custom authentication service. *
*/ public void setTokenSigningPublicKeys(java.util.Map* The public keys used to verify the digital signature returned by your * custom authentication service. *
** Returns a reference to this object so that method calls can be chained * together. * * @param tokenSigningPublicKeys
* The public keys used to verify the digital signature returned * by your custom authentication service. *
* @return A reference to this updated object so that method calls can be * chained together. */ public CreateAuthorizerRequest withTokenSigningPublicKeys( java.util.Map* The public keys used to verify the digital signature returned by your * custom authentication service. *
*
* The method adds a new key-value pair into tokenSigningPublicKeys
* parameter, and returns a reference to this object so that method calls
* can be chained together.
*
* @param key The key of the entry to be added into tokenSigningPublicKeys.
* @param value The corresponding value of the entry to be added into
* tokenSigningPublicKeys.
* @return A reference to this updated object so that method calls can be
* chained together.
*/
public CreateAuthorizerRequest addtokenSigningPublicKeysEntry(String key, String value) {
if (null == this.tokenSigningPublicKeys) {
this.tokenSigningPublicKeys = new java.util.HashMap
* Returns a reference to this object so that method calls can be chained
* together.
*/
public CreateAuthorizerRequest cleartokenSigningPublicKeysEntries() {
this.tokenSigningPublicKeys = null;
return this;
}
/**
*
* The status of the create authorizer request.
*
* Constraints:
* The status of the create authorizer request.
*
* The status of the create authorizer request.
*
* Constraints:
* The status of the create authorizer request.
*
* The status of the create authorizer request.
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* Constraints:
* The status of the create authorizer request.
*
* The status of the create authorizer request.
*
* Constraints:
* The status of the create authorizer request.
*
* The status of the create authorizer request.
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* Constraints:
* The status of the create authorizer request.
*
* Metadata which can be used to manage the custom authorizer.
*
* For URI Request parameters use format: ...key1=value1&key2=value2...
*
* For the CLI command-line parameter use format: &&tags
* "key1=value1&key2=value2..."
*
* For the cli-input-json file use format: "tags":
* "key1=value1&key2=value2..."
*
* Metadata which can be used to manage the custom authorizer.
*
* For URI Request parameters use format:
* ...key1=value1&key2=value2...
*
* For the CLI command-line parameter use format: &&tags
* "key1=value1&key2=value2..."
*
* For the cli-input-json file use format: "tags":
* "key1=value1&key2=value2..."
*
* Metadata which can be used to manage the custom authorizer.
*
* For URI Request parameters use format: ...key1=value1&key2=value2...
*
* For the CLI command-line parameter use format: &&tags
* "key1=value1&key2=value2..."
*
* For the cli-input-json file use format: "tags":
* "key1=value1&key2=value2..."
*
* Metadata which can be used to manage the custom authorizer.
*
* For URI Request parameters use format:
* ...key1=value1&key2=value2...
*
* For the CLI command-line parameter use format: &&tags
* "key1=value1&key2=value2..."
*
* For the cli-input-json file use format: "tags":
* "key1=value1&key2=value2..."
*
* Metadata which can be used to manage the custom authorizer.
*
* For URI Request parameters use format: ...key1=value1&key2=value2...
*
* For the CLI command-line parameter use format: &&tags
* "key1=value1&key2=value2..."
*
* For the cli-input-json file use format: "tags":
* "key1=value1&key2=value2..."
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param tags
* Metadata which can be used to manage the custom authorizer.
*
* For URI Request parameters use format:
* ...key1=value1&key2=value2...
*
* For the CLI command-line parameter use format: &&tags
* "key1=value1&key2=value2..."
*
* For the cli-input-json file use format: "tags":
* "key1=value1&key2=value2..."
*
* Metadata which can be used to manage the custom authorizer.
*
* For URI Request parameters use format: ...key1=value1&key2=value2...
*
* For the CLI command-line parameter use format: &&tags
* "key1=value1&key2=value2..."
*
* For the cli-input-json file use format: "tags":
* "key1=value1&key2=value2..."
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param tags
* Metadata which can be used to manage the custom authorizer.
*
* For URI Request parameters use format:
* ...key1=value1&key2=value2...
*
* For the CLI command-line parameter use format: &&tags
* "key1=value1&key2=value2..."
*
* For the cli-input-json file use format: "tags":
* "key1=value1&key2=value2..."
*
* Specifies whether IoT validates the token signature in an authorization
* request.
*
* Specifies whether IoT validates the token signature in an
* authorization request.
*
* Specifies whether IoT validates the token signature in an authorization
* request.
*
* Specifies whether IoT validates the token signature in an
* authorization request.
*
* Specifies whether IoT validates the token signature in an authorization
* request.
*
* Specifies whether IoT validates the token signature in an
* authorization request.
*
* Specifies whether IoT validates the token signature in an authorization
* request.
*
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param signingDisabled
* Specifies whether IoT validates the token signature in an
* authorization request.
*
* When
* The default value is
* When
* The default value is
* When
* The default value is
* When
* The default value is
* When
* The default value is
* When
* The default value is
* When
* The default value is
* Returns a reference to this object so that method calls can be chained
* together.
*
* @param enableCachingForHttp
* When
* The default value is
* Allowed Values: ACTIVE, INACTIVE
*
* @return
* Allowed Values: ACTIVE, INACTIVE
*
* @param status
* Allowed Values: ACTIVE, INACTIVE
*
* @param status
* Allowed Values: ACTIVE, INACTIVE
*
* @param status
* Allowed Values: ACTIVE, INACTIVE
*
* @param status true
, the result from the authorizer’s Lambda function
* is cached for clients that use persistent HTTP connections. The results
* are cached for the time specified by the Lambda function in
* refreshAfterInSeconds
. This value does not affect
* authorization of clients that use MQTT connections.
* false
.
* true
, the result from the authorizer’s Lambda
* function is cached for clients that use persistent HTTP
* connections. The results are cached for the time specified by the
* Lambda function in refreshAfterInSeconds
. This value
* does not affect authorization of clients that use MQTT
* connections.
* false
.
* true
, the result from the authorizer’s Lambda function
* is cached for clients that use persistent HTTP connections. The results
* are cached for the time specified by the Lambda function in
* refreshAfterInSeconds
. This value does not affect
* authorization of clients that use MQTT connections.
* false
.
* true
, the result from the authorizer’s Lambda
* function is cached for clients that use persistent HTTP
* connections. The results are cached for the time specified by the
* Lambda function in refreshAfterInSeconds
. This value
* does not affect authorization of clients that use MQTT
* connections.
* false
.
* true
, the result from the authorizer’s Lambda function
* is cached for clients that use persistent HTTP connections. The results
* are cached for the time specified by the Lambda function in
* refreshAfterInSeconds
. This value does not affect
* authorization of clients that use MQTT connections.
* false
.
* true
, the result from the authorizer’s
* Lambda function is cached for clients that use persistent HTTP
* connections. The results are cached for the time specified by
* the Lambda function in refreshAfterInSeconds
.
* This value does not affect authorization of clients that use
* MQTT connections.
* false
.
* true
, the result from the authorizer’s Lambda function
* is cached for clients that use persistent HTTP connections. The results
* are cached for the time specified by the Lambda function in
* refreshAfterInSeconds
. This value does not affect
* authorization of clients that use MQTT connections.
* false
.
* true
, the result from the authorizer’s
* Lambda function is cached for clients that use persistent HTTP
* connections. The results are cached for the time specified by
* the Lambda function in refreshAfterInSeconds
.
* This value does not affect authorization of clients that use
* MQTT connections.
* false
.
*