/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the iot-2015-05-28.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.IoT.Model
{
///
/// Container for the parameters to the CreateAuthorizer operation.
/// Creates an authorizer.
///
///
///
/// Requires permission to access the CreateAuthorizer
/// action.
///
///
public partial class CreateAuthorizerRequest : AmazonIoTRequest
{
private string _authorizerFunctionArn;
private string _authorizerName;
private bool? _enableCachingForHttp;
private bool? _signingDisabled;
private AuthorizerStatus _status;
private List _tags = new List();
private string _tokenKeyName;
private Dictionary _tokenSigningPublicKeys = new Dictionary();
///
/// Gets and sets the property AuthorizerFunctionArn.
///
/// The ARN of the authorizer's Lambda function.
///
///
[AWSProperty(Required=true, Max=2048)]
public string AuthorizerFunctionArn
{
get { return this._authorizerFunctionArn; }
set { this._authorizerFunctionArn = value; }
}
// Check to see if AuthorizerFunctionArn property is set
internal bool IsSetAuthorizerFunctionArn()
{
return this._authorizerFunctionArn != null;
}
///
/// Gets and sets the property AuthorizerName.
///
/// The authorizer name.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string AuthorizerName
{
get { return this._authorizerName; }
set { this._authorizerName = value; }
}
// Check to see if AuthorizerName property is set
internal bool IsSetAuthorizerName()
{
return this._authorizerName != null;
}
///
/// Gets and sets the property EnableCachingForHttp.
///
/// 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
.
///
///
public bool EnableCachingForHttp
{
get { return this._enableCachingForHttp.GetValueOrDefault(); }
set { this._enableCachingForHttp = value; }
}
// Check to see if EnableCachingForHttp property is set
internal bool IsSetEnableCachingForHttp()
{
return this._enableCachingForHttp.HasValue;
}
///
/// Gets and sets the property SigningDisabled.
///
/// Specifies whether IoT validates the token signature in an authorization request.
///
///
public bool SigningDisabled
{
get { return this._signingDisabled.GetValueOrDefault(); }
set { this._signingDisabled = value; }
}
// Check to see if SigningDisabled property is set
internal bool IsSetSigningDisabled()
{
return this._signingDisabled.HasValue;
}
///
/// Gets and sets the property Status.
///
/// The status of the create authorizer request.
///
///
public AuthorizerStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property 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..."
///
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property TokenKeyName.
///
/// The name of the token key used to extract the token from the HTTP headers.
///
///
[AWSProperty(Min=1, Max=128)]
public string TokenKeyName
{
get { return this._tokenKeyName; }
set { this._tokenKeyName = value; }
}
// Check to see if TokenKeyName property is set
internal bool IsSetTokenKeyName()
{
return this._tokenKeyName != null;
}
///
/// Gets and sets the property TokenSigningPublicKeys.
///
/// The public keys used to verify the digital signature returned by your custom authentication
/// service.
///
///
public Dictionary TokenSigningPublicKeys
{
get { return this._tokenSigningPublicKeys; }
set { this._tokenSigningPublicKeys = value; }
}
// Check to see if TokenSigningPublicKeys property is set
internal bool IsSetTokenSigningPublicKeys()
{
return this._tokenSigningPublicKeys != null && this._tokenSigningPublicKeys.Count > 0;
}
}
}