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

com.pulumi.azure.keyvault.kotlin.outputs.KeyVaultAccessPolicy.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.keyvault.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property applicationId The object ID of an Application in Azure Active Directory.
 * @property certificatePermissions List of certificate permissions, must be one or more from the following: `Backup`, `Create`, `Delete`, `DeleteIssuers`, `Get`, `GetIssuers`, `Import`, `List`, `ListIssuers`, `ManageContacts`, `ManageIssuers`, `Purge`, `Recover`, `Restore`, `SetIssuers` and `Update`.
 * @property keyPermissions List of key permissions. Possible values are `Backup`, `Create`, `Decrypt`, `Delete`, `Encrypt`, `Get`, `Import`, `List`, `Purge`, `Recover`, `Restore`, `Sign`, `UnwrapKey`, `Update`, `Verify`, `WrapKey`, `Release`, `Rotate`, `GetRotationPolicy` and `SetRotationPolicy`.
 * @property objectId The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies.
 * @property secretPermissions List of secret permissions, must be one or more from the following: `Backup`, `Delete`, `Get`, `List`, `Purge`, `Recover`, `Restore` and `Set`.
 * @property storagePermissions List of storage permissions, must be one or more from the following: `Backup`, `Delete`, `DeleteSAS`, `Get`, `GetSAS`, `List`, `ListSAS`, `Purge`, `Recover`, `RegenerateKey`, `Restore`, `Set`, `SetSAS` and `Update`.
 * @property tenantId The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Must match the `tenant_id` used above.
 */
public data class KeyVaultAccessPolicy(
    public val applicationId: String? = null,
    public val certificatePermissions: List? = null,
    public val keyPermissions: List? = null,
    public val objectId: String,
    public val secretPermissions: List? = null,
    public val storagePermissions: List? = null,
    public val tenantId: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.keyvault.outputs.KeyVaultAccessPolicy): KeyVaultAccessPolicy = KeyVaultAccessPolicy(
            applicationId = javaType.applicationId().map({ args0 -> args0 }).orElse(null),
            certificatePermissions = javaType.certificatePermissions().map({ args0 -> args0 }),
            keyPermissions = javaType.keyPermissions().map({ args0 -> args0 }),
            objectId = javaType.objectId(),
            secretPermissions = javaType.secretPermissions().map({ args0 -> args0 }),
            storagePermissions = javaType.storagePermissions().map({ args0 -> args0 }),
            tenantId = javaType.tenantId(),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy