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

com.pulumi.azurenative.solutions.kotlin.inputs.ApplicationAuthorizationArgs.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.solutions.kotlin.inputs

import com.pulumi.azurenative.solutions.inputs.ApplicationAuthorizationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * The managed application provider authorization.
 * @property principalId The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources.
 * @property roleDefinitionId The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group.
 */
public data class ApplicationAuthorizationArgs(
    public val principalId: Output,
    public val roleDefinitionId: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.solutions.inputs.ApplicationAuthorizationArgs =
        com.pulumi.azurenative.solutions.inputs.ApplicationAuthorizationArgs.builder()
            .principalId(principalId.applyValue({ args0 -> args0 }))
            .roleDefinitionId(roleDefinitionId.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ApplicationAuthorizationArgs].
 */
@PulumiTagMarker
public class ApplicationAuthorizationArgsBuilder internal constructor() {
    private var principalId: Output? = null

    private var roleDefinitionId: Output? = null

    /**
     * @param value The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources.
     */
    @JvmName("qdgmfvmaoqysyrfr")
    public suspend fun principalId(`value`: Output) {
        this.principalId = value
    }

    /**
     * @param value The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group.
     */
    @JvmName("ohbxchtgaprrgnss")
    public suspend fun roleDefinitionId(`value`: Output) {
        this.roleDefinitionId = value
    }

    /**
     * @param value The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources.
     */
    @JvmName("uvgsihafnjumetio")
    public suspend fun principalId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.principalId = mapped
    }

    /**
     * @param value The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group.
     */
    @JvmName("nfnbbflraugaqaqn")
    public suspend fun roleDefinitionId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.roleDefinitionId = mapped
    }

    internal fun build(): ApplicationAuthorizationArgs = ApplicationAuthorizationArgs(
        principalId = principalId ?: throw PulumiNullFieldException("principalId"),
        roleDefinitionId = roleDefinitionId ?: throw PulumiNullFieldException("roleDefinitionId"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy