Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.gcp.dataflow.kotlin.inputs.PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.dataflow.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.dataflow.inputs.PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property additionalExperiments Additional experiment flags for the job.
* @property additionalUserLabels Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the labeling restrictions page. An object containing a list of key/value pairs.
* 'Example: { "name": "wrench", "mass": "1kg", "count": "3" }.'
* 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
* @property bypassTempDirValidation Whether to bypass the safety checks for the job's temporary directory. Use with caution.
* @property enableStreamingEngine Whether to enable Streaming Engine for the job.
* @property ipConfiguration Configuration for VM IPs.
* https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#WorkerIPAddressConfiguration
* Possible values are: `WORKER_IP_UNSPECIFIED`, `WORKER_IP_PUBLIC`, `WORKER_IP_PRIVATE`.
* @property kmsKeyName 'Name for the Cloud KMS key for the job. The key format is: projects//locations//keyRings//cryptoKeys/'
* @property machineType The machine type to use for the job. Defaults to the value from the template if not specified.
* @property maxWorkers The maximum number of Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.
* @property network Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default".
* @property numWorkers The initial number of Compute Engine instances for the job.
* @property serviceAccountEmail The email address of the service account to run the job as.
* @property subnetwork Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in a Shared VPC network, you must use the complete URL.
* @property tempLocation The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
* @property workerRegion The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with workerZone. If neither workerRegion nor workerZone is specified, default to the control plane's region.
* @property workerZone The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1-a". Mutually exclusive with workerRegion. If neither workerRegion nor workerZone is specified, a zone in the control plane's region is chosen based on available capacity. If both workerZone and zone are set, workerZone takes precedence.
* @property zone The Compute Engine availability zone for launching worker instances to run your pipeline. In the future, workerZone will take precedence.
*/
public data class PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs(
public val additionalExperiments: Output>? = null,
public val additionalUserLabels: Output>? = null,
public val bypassTempDirValidation: Output? = null,
public val enableStreamingEngine: Output? = null,
public val ipConfiguration: Output? = null,
public val kmsKeyName: Output? = null,
public val machineType: Output? = null,
public val maxWorkers: Output? = null,
public val network: Output? = null,
public val numWorkers: Output? = null,
public val serviceAccountEmail: Output? = null,
public val subnetwork: Output? = null,
public val tempLocation: Output? = null,
public val workerRegion: Output? = null,
public val workerZone: Output? = null,
public val zone: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.dataflow.inputs.PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs =
com.pulumi.gcp.dataflow.inputs.PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs.builder()
.additionalExperiments(additionalExperiments?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.additionalUserLabels(
additionalUserLabels?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.bypassTempDirValidation(bypassTempDirValidation?.applyValue({ args0 -> args0 }))
.enableStreamingEngine(enableStreamingEngine?.applyValue({ args0 -> args0 }))
.ipConfiguration(ipConfiguration?.applyValue({ args0 -> args0 }))
.kmsKeyName(kmsKeyName?.applyValue({ args0 -> args0 }))
.machineType(machineType?.applyValue({ args0 -> args0 }))
.maxWorkers(maxWorkers?.applyValue({ args0 -> args0 }))
.network(network?.applyValue({ args0 -> args0 }))
.numWorkers(numWorkers?.applyValue({ args0 -> args0 }))
.serviceAccountEmail(serviceAccountEmail?.applyValue({ args0 -> args0 }))
.subnetwork(subnetwork?.applyValue({ args0 -> args0 }))
.tempLocation(tempLocation?.applyValue({ args0 -> args0 }))
.workerRegion(workerRegion?.applyValue({ args0 -> args0 }))
.workerZone(workerZone?.applyValue({ args0 -> args0 }))
.zone(zone?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs].
*/
@PulumiTagMarker
public class PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgsBuilder
internal constructor() {
private var additionalExperiments: Output>? = null
private var additionalUserLabels: Output>? = null
private var bypassTempDirValidation: Output? = null
private var enableStreamingEngine: Output? = null
private var ipConfiguration: Output? = null
private var kmsKeyName: Output? = null
private var machineType: Output? = null
private var maxWorkers: Output? = null
private var network: Output? = null
private var numWorkers: Output? = null
private var serviceAccountEmail: Output? = null
private var subnetwork: Output? = null
private var tempLocation: Output? = null
private var workerRegion: Output? = null
private var workerZone: Output? = null
private var zone: Output? = null
/**
* @param value Additional experiment flags for the job.
*/
@JvmName("kpsqgkcavlpameqa")
public suspend fun additionalExperiments(`value`: Output>) {
this.additionalExperiments = value
}
@JvmName("fkyrigretkwyxonp")
public suspend fun additionalExperiments(vararg values: Output) {
this.additionalExperiments = Output.all(values.asList())
}
/**
* @param values Additional experiment flags for the job.
*/
@JvmName("sqlsqykhqfqjxgsk")
public suspend fun additionalExperiments(values: List>) {
this.additionalExperiments = Output.all(values)
}
/**
* @param value Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the labeling restrictions page. An object containing a list of key/value pairs.
* 'Example: { "name": "wrench", "mass": "1kg", "count": "3" }.'
* 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
*/
@JvmName("onlgaysalvfdroer")
public suspend fun additionalUserLabels(`value`: Output>) {
this.additionalUserLabels = value
}
/**
* @param value Whether to bypass the safety checks for the job's temporary directory. Use with caution.
*/
@JvmName("cbyjigefiwvbjrnk")
public suspend fun bypassTempDirValidation(`value`: Output) {
this.bypassTempDirValidation = value
}
/**
* @param value Whether to enable Streaming Engine for the job.
*/
@JvmName("ooxcgijgsognffry")
public suspend fun enableStreamingEngine(`value`: Output) {
this.enableStreamingEngine = value
}
/**
* @param value Configuration for VM IPs.
* https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#WorkerIPAddressConfiguration
* Possible values are: `WORKER_IP_UNSPECIFIED`, `WORKER_IP_PUBLIC`, `WORKER_IP_PRIVATE`.
*/
@JvmName("cacuvvroiiptyral")
public suspend fun ipConfiguration(`value`: Output) {
this.ipConfiguration = value
}
/**
* @param value 'Name for the Cloud KMS key for the job. The key format is: projects//locations//keyRings//cryptoKeys/'
*/
@JvmName("bvrbdsmbilnglvxr")
public suspend fun kmsKeyName(`value`: Output) {
this.kmsKeyName = value
}
/**
* @param value The machine type to use for the job. Defaults to the value from the template if not specified.
*/
@JvmName("yafyuepggulnpeyf")
public suspend fun machineType(`value`: Output) {
this.machineType = value
}
/**
* @param value The maximum number of Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.
*/
@JvmName("sqgrnepuychnjhxf")
public suspend fun maxWorkers(`value`: Output) {
this.maxWorkers = value
}
/**
* @param value Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default".
*/
@JvmName("krikwvrbhqmtstmo")
public suspend fun network(`value`: Output) {
this.network = value
}
/**
* @param value The initial number of Compute Engine instances for the job.
*/
@JvmName("oneoyprgegbylpka")
public suspend fun numWorkers(`value`: Output) {
this.numWorkers = value
}
/**
* @param value The email address of the service account to run the job as.
*/
@JvmName("tysaftiidaxvldnk")
public suspend fun serviceAccountEmail(`value`: Output) {
this.serviceAccountEmail = value
}
/**
* @param value Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in a Shared VPC network, you must use the complete URL.
*/
@JvmName("kjqsivsuocfsgdwm")
public suspend fun subnetwork(`value`: Output) {
this.subnetwork = value
}
/**
* @param value The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
*/
@JvmName("umupxoxbwllyysnr")
public suspend fun tempLocation(`value`: Output) {
this.tempLocation = value
}
/**
* @param value The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with workerZone. If neither workerRegion nor workerZone is specified, default to the control plane's region.
*/
@JvmName("laggbtxrhjvccmbj")
public suspend fun workerRegion(`value`: Output) {
this.workerRegion = value
}
/**
* @param value The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1-a". Mutually exclusive with workerRegion. If neither workerRegion nor workerZone is specified, a zone in the control plane's region is chosen based on available capacity. If both workerZone and zone are set, workerZone takes precedence.
*/
@JvmName("jfttouwnajaeeubd")
public suspend fun workerZone(`value`: Output) {
this.workerZone = value
}
/**
* @param value The Compute Engine availability zone for launching worker instances to run your pipeline. In the future, workerZone will take precedence.
*/
@JvmName("lemecnkinnoquwbi")
public suspend fun zone(`value`: Output) {
this.zone = value
}
/**
* @param value Additional experiment flags for the job.
*/
@JvmName("kuidyqbybyythmto")
public suspend fun additionalExperiments(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.additionalExperiments = mapped
}
/**
* @param values Additional experiment flags for the job.
*/
@JvmName("udnsdckpcdswlmbb")
public suspend fun additionalExperiments(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.additionalExperiments = mapped
}
/**
* @param value Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the labeling restrictions page. An object containing a list of key/value pairs.
* 'Example: { "name": "wrench", "mass": "1kg", "count": "3" }.'
* 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
*/
@JvmName("bfhwffyiwbtfqdyc")
public suspend fun additionalUserLabels(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.additionalUserLabels = mapped
}
/**
* @param values Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the labeling restrictions page. An object containing a list of key/value pairs.
* 'Example: { "name": "wrench", "mass": "1kg", "count": "3" }.'
* 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
*/
@JvmName("uwgmwbcajcyeofgu")
public fun additionalUserLabels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.additionalUserLabels = mapped
}
/**
* @param value Whether to bypass the safety checks for the job's temporary directory. Use with caution.
*/
@JvmName("ddsibalpojqwwsrx")
public suspend fun bypassTempDirValidation(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.bypassTempDirValidation = mapped
}
/**
* @param value Whether to enable Streaming Engine for the job.
*/
@JvmName("trvtekmawkauqdie")
public suspend fun enableStreamingEngine(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableStreamingEngine = mapped
}
/**
* @param value Configuration for VM IPs.
* https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#WorkerIPAddressConfiguration
* Possible values are: `WORKER_IP_UNSPECIFIED`, `WORKER_IP_PUBLIC`, `WORKER_IP_PRIVATE`.
*/
@JvmName("erjxylwejdggbrbh")
public suspend fun ipConfiguration(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ipConfiguration = mapped
}
/**
* @param value 'Name for the Cloud KMS key for the job. The key format is: projects//locations//keyRings//cryptoKeys/'
*/
@JvmName("hmoidrybrvfoceop")
public suspend fun kmsKeyName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kmsKeyName = mapped
}
/**
* @param value The machine type to use for the job. Defaults to the value from the template if not specified.
*/
@JvmName("qmpfeylrxagynwsd")
public suspend fun machineType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.machineType = mapped
}
/**
* @param value The maximum number of Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.
*/
@JvmName("pnjpedipweyelpyt")
public suspend fun maxWorkers(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maxWorkers = mapped
}
/**
* @param value Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default".
*/
@JvmName("dueroqqibdmrcaxg")
public suspend fun network(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.network = mapped
}
/**
* @param value The initial number of Compute Engine instances for the job.
*/
@JvmName("swwulvhqjclpxbhn")
public suspend fun numWorkers(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.numWorkers = mapped
}
/**
* @param value The email address of the service account to run the job as.
*/
@JvmName("cfmpyiykexcifxyy")
public suspend fun serviceAccountEmail(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serviceAccountEmail = mapped
}
/**
* @param value Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in a Shared VPC network, you must use the complete URL.
*/
@JvmName("ccdcjmcgrabvuxpf")
public suspend fun subnetwork(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.subnetwork = mapped
}
/**
* @param value The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
*/
@JvmName("rotkaygfbdleisjv")
public suspend fun tempLocation(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tempLocation = mapped
}
/**
* @param value The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with workerZone. If neither workerRegion nor workerZone is specified, default to the control plane's region.
*/
@JvmName("jmvabgvyopydylml")
public suspend fun workerRegion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.workerRegion = mapped
}
/**
* @param value The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1-a". Mutually exclusive with workerRegion. If neither workerRegion nor workerZone is specified, a zone in the control plane's region is chosen based on available capacity. If both workerZone and zone are set, workerZone takes precedence.
*/
@JvmName("oupwidfkybglvxek")
public suspend fun workerZone(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.workerZone = mapped
}
/**
* @param value The Compute Engine availability zone for launching worker instances to run your pipeline. In the future, workerZone will take precedence.
*/
@JvmName("clqulxosvidlodwa")
public suspend fun zone(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.zone = mapped
}
internal fun build(): PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs = PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs(
additionalExperiments = additionalExperiments,
additionalUserLabels = additionalUserLabels,
bypassTempDirValidation = bypassTempDirValidation,
enableStreamingEngine = enableStreamingEngine,
ipConfiguration = ipConfiguration,
kmsKeyName = kmsKeyName,
machineType = machineType,
maxWorkers = maxWorkers,
network = network,
numWorkers = numWorkers,
serviceAccountEmail = serviceAccountEmail,
subnetwork = subnetwork,
tempLocation = tempLocation,
workerRegion = workerRegion,
workerZone = workerZone,
zone = zone,
)
}