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

com.pulumi.azurenative.authorization.kotlin.outputs.GetPolicyDefinitionVersionResult.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.authorization.kotlin.outputs

import kotlin.Any
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map

/**
 * The ID of the policy definition version.
 * @property description The policy definition description.
 * @property displayName The display name of the policy definition.
 * @property id The ID of the policy definition version.
 * @property metadata The policy definition metadata.  Metadata is an open ended object and is typically a collection of key value pairs.
 * @property mode The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data.
 * @property name The name of the policy definition version.
 * @property parameters The parameter definitions for parameters used in the policy rule. The keys are the parameter names.
 * @property policyRule The policy rule.
 * @property policyType The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.
 * @property systemData The system metadata relating to this resource.
 * @property type The type of the resource (Microsoft.Authorization/policyDefinitions/versions).
 * @property version The policy definition version in #.#.# format.
 */
public data class GetPolicyDefinitionVersionResult(
    public val description: String? = null,
    public val displayName: String? = null,
    public val id: String,
    public val metadata: Any? = null,
    public val mode: String? = null,
    public val name: String,
    public val parameters: Map? = null,
    public val policyRule: Any? = null,
    public val policyType: String? = null,
    public val systemData: SystemDataResponse,
    public val type: String,
    public val version: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azurenative.authorization.outputs.GetPolicyDefinitionVersionResult): GetPolicyDefinitionVersionResult = GetPolicyDefinitionVersionResult(
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            displayName = javaType.displayName().map({ args0 -> args0 }).orElse(null),
            id = javaType.id(),
            metadata = javaType.metadata().map({ args0 -> args0 }).orElse(null),
            mode = javaType.mode().map({ args0 -> args0 }).orElse(null),
            name = javaType.name(),
            parameters = javaType.parameters().map({ args0 ->
                args0.key.to(
                    args0.value.let({ args0 ->
                        com.pulumi.azurenative.authorization.kotlin.outputs.ParameterDefinitionsValueResponse.Companion.toKotlin(args0)
                    }),
                )
            }).toMap(),
            policyRule = javaType.policyRule().map({ args0 -> args0 }).orElse(null),
            policyType = javaType.policyType().map({ args0 -> args0 }).orElse(null),
            systemData = javaType.systemData().let({ args0 ->
                com.pulumi.azurenative.authorization.kotlin.outputs.SystemDataResponse.Companion.toKotlin(args0)
            }),
            type = javaType.type(),
            version = javaType.version().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy