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

com.pulumi.gcp.storage.kotlin.inputs.GetBucketPlainArgs.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: 8.12.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.storage.kotlin.inputs

import com.pulumi.gcp.storage.inputs.GetBucketPlainArgs.builder
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

/**
 * A collection of arguments for invoking getBucket.
 * @property name The name of the bucket.
 * @property project The ID of the project in which the resource belongs. If it is not provided, the provider project is used. If no value is supplied in the configuration or through provider defaults then the data source will use the Compute API to find the project id that corresponds to the project number returned from the Storage API. Supplying a value for `project` doesn't influence retrieving data about the bucket but it can be used to prevent use of the Compute API. If you do provide a `project` value ensure that it is the correct value for that bucket; the data source will not check that the project id and project number match.
 */
public data class GetBucketPlainArgs(
    public val name: String,
    public val project: String? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.storage.inputs.GetBucketPlainArgs =
        com.pulumi.gcp.storage.inputs.GetBucketPlainArgs.builder()
            .name(name.let({ args0 -> args0 }))
            .project(project?.let({ args0 -> args0 })).build()
}

/**
 * Builder for [GetBucketPlainArgs].
 */
@PulumiTagMarker
public class GetBucketPlainArgsBuilder internal constructor() {
    private var name: String? = null

    private var project: String? = null

    /**
     * @param value The name of the bucket.
     */
    @JvmName("cbmemqukywufhqyd")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.name = mapped
    }

    /**
     * @param value The ID of the project in which the resource belongs. If it is not provided, the provider project is used. If no value is supplied in the configuration or through provider defaults then the data source will use the Compute API to find the project id that corresponds to the project number returned from the Storage API. Supplying a value for `project` doesn't influence retrieving data about the bucket but it can be used to prevent use of the Compute API. If you do provide a `project` value ensure that it is the correct value for that bucket; the data source will not check that the project id and project number match.
     */
    @JvmName("qtywxwhfbqpxyfwx")
    public suspend fun project(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> args0 })
        this.project = mapped
    }

    internal fun build(): GetBucketPlainArgs = GetBucketPlainArgs(
        name = name ?: throw PulumiNullFieldException("name"),
        project = project,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy