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

com.pulumi.awsnative.ec2.kotlin.VpcEndpointServicePermissionsArgs.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: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.ec2.kotlin

import com.pulumi.awsnative.ec2.VpcEndpointServicePermissionsArgs.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.collections.List
import kotlin.jvm.JvmName

/**
 * Resource Type definition for AWS::EC2::VPCEndpointServicePermissions
 * @property allowedPrincipals The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.
 * @property serviceId The ID of the service.
 */
public data class VpcEndpointServicePermissionsArgs(
    public val allowedPrincipals: Output>? = null,
    public val serviceId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.ec2.VpcEndpointServicePermissionsArgs =
        com.pulumi.awsnative.ec2.VpcEndpointServicePermissionsArgs.builder()
            .allowedPrincipals(allowedPrincipals?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .serviceId(serviceId?.applyValue({ args0 -> args0 })).build()
}

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

    private var serviceId: Output? = null

    /**
     * @param value The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.
     */
    @JvmName("vmjqwgshikvonvka")
    public suspend fun allowedPrincipals(`value`: Output>) {
        this.allowedPrincipals = value
    }

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

    /**
     * @param values The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.
     */
    @JvmName("yxetsiwmudifdied")
    public suspend fun allowedPrincipals(values: List>) {
        this.allowedPrincipals = Output.all(values)
    }

    /**
     * @param value The ID of the service.
     */
    @JvmName("gmbvnsruftqbshyr")
    public suspend fun serviceId(`value`: Output) {
        this.serviceId = value
    }

    /**
     * @param value The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.
     */
    @JvmName("ypjkbiwepmgwplpg")
    public suspend fun allowedPrincipals(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowedPrincipals = mapped
    }

    /**
     * @param values The Amazon Resource Names (ARN) of one or more principals (for example, users, IAM roles, and AWS accounts ). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.
     */
    @JvmName("famdfewmxdqridpk")
    public suspend fun allowedPrincipals(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowedPrincipals = mapped
    }

    /**
     * @param value The ID of the service.
     */
    @JvmName("wfxxgnavlwepmrbc")
    public suspend fun serviceId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serviceId = mapped
    }

    internal fun build(): VpcEndpointServicePermissionsArgs = VpcEndpointServicePermissionsArgs(
        allowedPrincipals = allowedPrincipals,
        serviceId = serviceId,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy