com.pulumi.gcp.compute.kotlin.inputs.GetImagePlainArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.compute.kotlin.inputs
import com.pulumi.gcp.compute.inputs.GetImagePlainArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* A collection of arguments for invoking getImage.
* @property family The family name of the image.
* @property filter
* @property mostRecent A boolean to indicate either to take to most recent image if your filter
* returns more than one image.
* @property name , `family` or `filter` - (Required) The name of a specific image or a family.
* Exactly one of `name`, `family` or `filter` must be specified. If `name` is specified, it will fetch
* the corresponding image. If `family` is specified, it will return the latest image
* that is part of an image family and is not deprecated. If you specify `filter`, your
* filter must return exactly one image unless you use `most_recent`.
* Filter syntax can be found [here](https://cloud.google.com/compute/docs/reference/rest/v1/images/list) in the filter section.
* - - -
* @property project The project in which the resource belongs. If it is not
* provided, the provider project is used. If you are using a
* [public base image][pubimg], be sure to specify the correct Image Project.
*/
public data class GetImagePlainArgs(
public val family: String? = null,
public val filter: String? = null,
public val mostRecent: Boolean? = null,
public val name: String? = null,
public val project: String? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.compute.inputs.GetImagePlainArgs =
com.pulumi.gcp.compute.inputs.GetImagePlainArgs.builder()
.family(family?.let({ args0 -> args0 }))
.filter(filter?.let({ args0 -> args0 }))
.mostRecent(mostRecent?.let({ args0 -> args0 }))
.name(name?.let({ args0 -> args0 }))
.project(project?.let({ args0 -> args0 })).build()
}
/**
* Builder for [GetImagePlainArgs].
*/
@PulumiTagMarker
public class GetImagePlainArgsBuilder internal constructor() {
private var family: String? = null
private var filter: String? = null
private var mostRecent: Boolean? = null
private var name: String? = null
private var project: String? = null
/**
* @param value The family name of the image.
*/
@JvmName("pywftrvkbreshsyf")
public suspend fun family(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> args0 })
this.family = mapped
}
/**
* @param value
*/
@JvmName("skjwtiylfviopgpj")
public suspend fun filter(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> args0 })
this.filter = mapped
}
/**
* @param value A boolean to indicate either to take to most recent image if your filter
* returns more than one image.
*/
@JvmName("dtwhttnvqluxgvpt")
public suspend fun mostRecent(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> args0 })
this.mostRecent = mapped
}
/**
* @param value , `family` or `filter` - (Required) The name of a specific image or a family.
* Exactly one of `name`, `family` or `filter` must be specified. If `name` is specified, it will fetch
* the corresponding image. If `family` is specified, it will return the latest image
* that is part of an image family and is not deprecated. If you specify `filter`, your
* filter must return exactly one image unless you use `most_recent`.
* Filter syntax can be found [here](https://cloud.google.com/compute/docs/reference/rest/v1/images/list) in the filter section.
* - - -
*/
@JvmName("keyodljhffdtiexp")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> args0 })
this.name = mapped
}
/**
* @param value The project in which the resource belongs. If it is not
* provided, the provider project is used. If you are using a
* [public base image][pubimg], be sure to specify the correct Image Project.
*/
@JvmName("jqswccgofsrjlbdr")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> args0 })
this.project = mapped
}
internal fun build(): GetImagePlainArgs = GetImagePlainArgs(
family = family,
filter = filter,
mostRecent = mostRecent,
name = name,
project = project,
)
}