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

com.pulumi.azurenative.network.kotlin.inputs.ServiceEndpointPolicyArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.network.kotlin.inputs

import com.pulumi.azurenative.network.inputs.ServiceEndpointPolicyArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Service End point policy resource.
 * @property contextualServiceEndpointPolicies A collection of contextual service endpoint policy.
 * @property etag A unique read-only string that changes whenever the resource is updated.
 * @property id Resource ID.
 * @property location Resource location.
 * @property serviceAlias The alias indicating if the policy belongs to a service
 * @property serviceEndpointPolicyDefinitions A collection of service endpoint policy definitions of the service endpoint policy.
 * @property tags Resource tags.
 */
public data class ServiceEndpointPolicyArgs(
    public val contextualServiceEndpointPolicies: Output>? = null,
    public val etag: Output? = null,
    public val id: Output? = null,
    public val location: Output? = null,
    public val serviceAlias: Output? = null,
    public val serviceEndpointPolicyDefinitions: Output>? =
        null,
    public val tags: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.network.inputs.ServiceEndpointPolicyArgs =
        com.pulumi.azurenative.network.inputs.ServiceEndpointPolicyArgs.builder()
            .contextualServiceEndpointPolicies(
                contextualServiceEndpointPolicies?.applyValue({ args0 ->
                    args0.map({ args0 -> args0 })
                }),
            )
            .etag(etag?.applyValue({ args0 -> args0 }))
            .id(id?.applyValue({ args0 -> args0 }))
            .location(location?.applyValue({ args0 -> args0 }))
            .serviceAlias(serviceAlias?.applyValue({ args0 -> args0 }))
            .serviceEndpointPolicyDefinitions(
                serviceEndpointPolicyDefinitions?.applyValue({ args0 ->
                    args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .tags(
                tags?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            ).build()
}

/**
 * Builder for [ServiceEndpointPolicyArgs].
 */
@PulumiTagMarker
public class ServiceEndpointPolicyArgsBuilder internal constructor() {
    private var contextualServiceEndpointPolicies: Output>? = null

    private var etag: Output? = null

    private var id: Output? = null

    private var location: Output? = null

    private var serviceAlias: Output? = null

    private var serviceEndpointPolicyDefinitions: Output>? =
        null

    private var tags: Output>? = null

    /**
     * @param value A collection of contextual service endpoint policy.
     */
    @JvmName("qpwocdqwukalelyc")
    public suspend fun contextualServiceEndpointPolicies(`value`: Output>) {
        this.contextualServiceEndpointPolicies = value
    }

    @JvmName("wsdflrmfguqbvgpf")
    public suspend fun contextualServiceEndpointPolicies(vararg values: Output) {
        this.contextualServiceEndpointPolicies = Output.all(values.asList())
    }

    /**
     * @param values A collection of contextual service endpoint policy.
     */
    @JvmName("aeglveutiseyajvp")
    public suspend fun contextualServiceEndpointPolicies(values: List>) {
        this.contextualServiceEndpointPolicies = Output.all(values)
    }

    /**
     * @param value A unique read-only string that changes whenever the resource is updated.
     */
    @JvmName("sibonjxiidggqhhj")
    public suspend fun etag(`value`: Output) {
        this.etag = value
    }

    /**
     * @param value Resource ID.
     */
    @JvmName("kcqpyyvjtiidvgnl")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value Resource location.
     */
    @JvmName("rkxkdveflnngyyxo")
    public suspend fun location(`value`: Output) {
        this.location = value
    }

    /**
     * @param value The alias indicating if the policy belongs to a service
     */
    @JvmName("iijnwbtrtpvjqunl")
    public suspend fun serviceAlias(`value`: Output) {
        this.serviceAlias = value
    }

    /**
     * @param value A collection of service endpoint policy definitions of the service endpoint policy.
     */
    @JvmName("urphbpvdcqsdxyhy")
    public suspend fun serviceEndpointPolicyDefinitions(`value`: Output>) {
        this.serviceEndpointPolicyDefinitions = value
    }

    @JvmName("tmopkgrkbxbotsdp")
    public suspend fun serviceEndpointPolicyDefinitions(vararg values: Output) {
        this.serviceEndpointPolicyDefinitions = Output.all(values.asList())
    }

    /**
     * @param values A collection of service endpoint policy definitions of the service endpoint policy.
     */
    @JvmName("dgsfoiugehvqjckv")
    public suspend fun serviceEndpointPolicyDefinitions(values: List>) {
        this.serviceEndpointPolicyDefinitions = Output.all(values)
    }

    /**
     * @param value Resource tags.
     */
    @JvmName("nhlwwduyxevipcid")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value A collection of contextual service endpoint policy.
     */
    @JvmName("yrpoglgluxydaxgg")
    public suspend fun contextualServiceEndpointPolicies(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.contextualServiceEndpointPolicies = mapped
    }

    /**
     * @param values A collection of contextual service endpoint policy.
     */
    @JvmName("upeynhmvklafhcly")
    public suspend fun contextualServiceEndpointPolicies(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.contextualServiceEndpointPolicies = mapped
    }

    /**
     * @param value A unique read-only string that changes whenever the resource is updated.
     */
    @JvmName("rwhgtrqotlpyvsiy")
    public suspend fun etag(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.etag = mapped
    }

    /**
     * @param value Resource ID.
     */
    @JvmName("xutblbcicnkqhdmy")
    public suspend fun id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value Resource location.
     */
    @JvmName("mwplofmuftfmpnrj")
    public suspend fun location(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.location = mapped
    }

    /**
     * @param value The alias indicating if the policy belongs to a service
     */
    @JvmName("yoxkuuudcofxkfqb")
    public suspend fun serviceAlias(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serviceAlias = mapped
    }

    /**
     * @param value A collection of service endpoint policy definitions of the service endpoint policy.
     */
    @JvmName("xgipxeyvwjldkvtv")
    public suspend fun serviceEndpointPolicyDefinitions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serviceEndpointPolicyDefinitions = mapped
    }

    /**
     * @param argument A collection of service endpoint policy definitions of the service endpoint policy.
     */
    @JvmName("ixylbqmkfhjuapij")
    public suspend fun serviceEndpointPolicyDefinitions(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ServiceEndpointPolicyDefinitionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.serviceEndpointPolicyDefinitions = mapped
    }

    /**
     * @param argument A collection of service endpoint policy definitions of the service endpoint policy.
     */
    @JvmName("clcudysbkjurbjbf")
    public suspend fun serviceEndpointPolicyDefinitions(vararg argument: suspend ServiceEndpointPolicyDefinitionArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ServiceEndpointPolicyDefinitionArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.serviceEndpointPolicyDefinitions = mapped
    }

    /**
     * @param argument A collection of service endpoint policy definitions of the service endpoint policy.
     */
    @JvmName("lhgxqbxhosyrcdbq")
    public suspend fun serviceEndpointPolicyDefinitions(argument: suspend ServiceEndpointPolicyDefinitionArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ServiceEndpointPolicyDefinitionArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.serviceEndpointPolicyDefinitions = mapped
    }

    /**
     * @param values A collection of service endpoint policy definitions of the service endpoint policy.
     */
    @JvmName("tllvrfauakucebls")
    public suspend fun serviceEndpointPolicyDefinitions(vararg values: ServiceEndpointPolicyDefinitionArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.serviceEndpointPolicyDefinitions = mapped
    }

    /**
     * @param value Resource tags.
     */
    @JvmName("bfkpvalwrnxnfhhw")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values Resource tags.
     */
    @JvmName("tqypgwhipguhnyqe")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    internal fun build(): ServiceEndpointPolicyArgs = ServiceEndpointPolicyArgs(
        contextualServiceEndpointPolicies = contextualServiceEndpointPolicies,
        etag = etag,
        id = id,
        location = location,
        serviceAlias = serviceAlias,
        serviceEndpointPolicyDefinitions = serviceEndpointPolicyDefinitions,
        tags = tags,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy