import * as core from "@terrascript/core"; export interface AuthorizerArgs extends core.ResourceArgs { /** * (Required) The ARN of the authorizer's Lambda function. */ authorizerFunctionArn: string | core.StringOut; enableCachingForHttp?: boolean | core.BooleanOut; /** * (Required) The name of the authorizer. */ name: string | core.StringOut; /** * (Optional) Specifies whether AWS IoT validates the token signature in an authorization request. Defa * ult: `false`. */ signingDisabled?: boolean | core.BooleanOut; /** * (Optional) The status of Authorizer request at creation. Valid values: `ACTIVE`, `INACTIVE`. Default * : `ACTIVE`. */ status?: string | core.StringOut; /** * (Optional) The name of the token key used to extract the token from the HTTP headers. This value is * required if signing is enabled in your authorizer. */ tokenKeyName?: string | core.StringOut; /** * (Optional) The public keys used to verify the digital signature returned by your custom authenticati * on service. This value is required if signing is enabled in your authorizer. */ tokenSigningPublicKeys?: | core.Map | core.MapOut; } export class Authorizer extends core.Resource { /** * The ARN of the authorizer. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) The ARN of the authorizer's Lambda function. */ @core.attr(String) public authorizerFunctionArn!: string | core.StringOut; @core.attr(Boolean) public enableCachingForHttp?: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The name of the authorizer. */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) Specifies whether AWS IoT validates the token signature in an authorization request. Defa * ult: `false`. */ @core.attr(Boolean) public signingDisabled?: boolean | core.BooleanOut; /** * (Optional) The status of Authorizer request at creation. Valid values: `ACTIVE`, `INACTIVE`. Default * : `ACTIVE`. */ @core.attr(String) public status?: string | core.StringOut; /** * (Optional) The name of the token key used to extract the token from the HTTP headers. This value is * required if signing is enabled in your authorizer. */ @core.attr(String) public tokenKeyName?: string | core.StringOut; /** * (Optional) The public keys used to verify the digital signature returned by your custom authenticati * on service. This value is required if signing is enabled in your authorizer. */ @core.attr(String, { kind: "map" }) public tokenSigningPublicKeys?: | core.Map | core.MapOut; constructor(name: string, args?: AuthorizerArgs) { super(name, "aws_iot_authorizer", args); } public override getNamespace(): string { return "aws_iot"; } }