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

com.pulumi.azurenative.hybridcompute.kotlin.inputs.RunCommandManagedIdentityArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.hybridcompute.kotlin.inputs

import com.pulumi.azurenative.hybridcompute.inputs.RunCommandManagedIdentityArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *  Contains clientId or objectId (use only one, not both) of a user-assigned managed identity that has access to storage blob used in Run Command. Use an empty RunCommandManagedIdentity object in case of system-assigned identity. Make sure the Azure storage blob exists in case of scriptUri, and managed identity has been given access to blob's container with 'Storage Blob Data Reader' role assignment with scriptUri blob and 'Storage Blob Data Contributor' for Append blobs(outputBlobUri, errorBlobUri). In case of user assigned identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.
 * @property clientId Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided.
 * @property objectId Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided.
 */
public data class RunCommandManagedIdentityArgs(
    public val clientId: Output? = null,
    public val objectId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.hybridcompute.inputs.RunCommandManagedIdentityArgs =
        com.pulumi.azurenative.hybridcompute.inputs.RunCommandManagedIdentityArgs.builder()
            .clientId(clientId?.applyValue({ args0 -> args0 }))
            .objectId(objectId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [RunCommandManagedIdentityArgs].
 */
@PulumiTagMarker
public class RunCommandManagedIdentityArgsBuilder internal constructor() {
    private var clientId: Output? = null

    private var objectId: Output? = null

    /**
     * @param value Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided.
     */
    @JvmName("pkmqrgbaisvlowwr")
    public suspend fun clientId(`value`: Output) {
        this.clientId = value
    }

    /**
     * @param value Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided.
     */
    @JvmName("icueiiorrnuaqfol")
    public suspend fun objectId(`value`: Output) {
        this.objectId = value
    }

    /**
     * @param value Client Id (GUID value) of the user-assigned managed identity. ObjectId should not be used if this is provided.
     */
    @JvmName("xibamkrtadfoludk")
    public suspend fun clientId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.clientId = mapped
    }

    /**
     * @param value Object Id (GUID value) of the user-assigned managed identity. ClientId should not be used if this is provided.
     */
    @JvmName("komcuubllekqsali")
    public suspend fun objectId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.objectId = mapped
    }

    internal fun build(): RunCommandManagedIdentityArgs = RunCommandManagedIdentityArgs(
        clientId = clientId,
        objectId = objectId,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy