All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.iot.kotlin.outputs.GetAuthorizerResult.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.iot.kotlin.outputs

import com.pulumi.awsnative.iot.kotlin.enums.AuthorizerStatus
import com.pulumi.awsnative.kotlin.outputs.Tag
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map

/**
 *
 * @property arn The Amazon Resource Name (ARN) of the authorizer.
 * @property authorizerFunctionArn The authorizer's Lambda function ARN.
 * @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 doesn't affect authorization of clients that use MQTT connections.
 * @property status The status of the authorizer.
 * Valid values: `ACTIVE` | `INACTIVE`
 * @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..."
 * @property tokenKeyName The key used to extract the token from the HTTP headers.
 * @property tokenSigningPublicKeys The public keys used to validate the token signature returned by your custom authentication service.
 */
public data class GetAuthorizerResult(
    public val arn: String? = null,
    public val authorizerFunctionArn: String? = null,
    public val enableCachingForHttp: Boolean? = null,
    public val status: AuthorizerStatus? = null,
    public val tags: List? = null,
    public val tokenKeyName: String? = null,
    public val tokenSigningPublicKeys: Map? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.iot.outputs.GetAuthorizerResult): GetAuthorizerResult = GetAuthorizerResult(
            arn = javaType.arn().map({ args0 -> args0 }).orElse(null),
            authorizerFunctionArn = javaType.authorizerFunctionArn().map({ args0 -> args0 }).orElse(null),
            enableCachingForHttp = javaType.enableCachingForHttp().map({ args0 -> args0 }).orElse(null),
            status = javaType.status().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.iot.kotlin.enums.AuthorizerStatus.Companion.toKotlin(args0)
                })
            }).orElse(null),
            tags = javaType.tags().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.kotlin.outputs.Tag.Companion.toKotlin(args0)
                })
            }),
            tokenKeyName = javaType.tokenKeyName().map({ args0 -> args0 }).orElse(null),
            tokenSigningPublicKeys = javaType.tokenSigningPublicKeys().map({ args0 ->
                args0.key.to(args0.value)
            }).toMap(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy