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

com.pulumi.azure.appservice.kotlin.outputs.SlotIdentity.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.appservice.kotlin.outputs

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

/**
 *
 * @property identityIds Specifies a list of user managed identity ids to be assigned. Required if `type` is `UserAssigned`.
 * @property principalId The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service slot.
 * @property tenantId The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service slot.
 * @property type Specifies the identity type of the App Service. Possible values are `SystemAssigned` (where Azure will generate a Service Principal for you), `UserAssigned` where you can specify the Service Principal IDs in the `identity_ids` field, and `SystemAssigned, UserAssigned` which assigns both a system managed identity as well as the specified user assigned identities.
 * > **NOTE:** When `type` is set to `SystemAssigned`, The assigned `principal_id` and `tenant_id` can be retrieved after the App Service has been created. More details are available below.
 */
public data class SlotIdentity(
    public val identityIds: List? = null,
    public val principalId: String? = null,
    public val tenantId: String? = null,
    public val type: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.appservice.outputs.SlotIdentity): SlotIdentity =
            SlotIdentity(
                identityIds = javaType.identityIds().map({ args0 -> args0 }),
                principalId = javaType.principalId().map({ args0 -> args0 }).orElse(null),
                tenantId = javaType.tenantId().map({ args0 -> args0 }).orElse(null),
                type = javaType.type(),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy