com.pulumi.azurenative.cache.kotlin.inputs.ManagedServiceIdentityArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.cache.kotlin.inputs
import com.pulumi.azurenative.cache.inputs.ManagedServiceIdentityArgs.builder
import com.pulumi.azurenative.cache.kotlin.enums.ManagedServiceIdentityType
import com.pulumi.core.Either
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.collections.List
import kotlin.jvm.JvmName
/**
* Managed service identity (system assigned and/or user assigned identities)
* @property type Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
* @property userAssignedIdentities The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.
*/
public data class ManagedServiceIdentityArgs(
public val type: Output>,
public val userAssignedIdentities: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.cache.inputs.ManagedServiceIdentityArgs =
com.pulumi.azurenative.cache.inputs.ManagedServiceIdentityArgs.builder()
.type(
type.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.userAssignedIdentities(
userAssignedIdentities?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
).build()
}
/**
* Builder for [ManagedServiceIdentityArgs].
*/
@PulumiTagMarker
public class ManagedServiceIdentityArgsBuilder internal constructor() {
private var type: Output>? = null
private var userAssignedIdentities: Output>? = null
/**
* @param value Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
*/
@JvmName("jnvgaetefmxdkpfm")
public suspend fun type(`value`: Output>) {
this.type = value
}
/**
* @param value The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.
*/
@JvmName("fibyjxvxpqspnqae")
public suspend fun userAssignedIdentities(`value`: Output>) {
this.userAssignedIdentities = value
}
@JvmName("mfohqggvbegttkii")
public suspend fun userAssignedIdentities(vararg values: Output) {
this.userAssignedIdentities = Output.all(values.asList())
}
/**
* @param values The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.
*/
@JvmName("orcwynmxphgcvnoh")
public suspend fun userAssignedIdentities(values: List