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.PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs.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.PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs.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 enableStreamingEngine Whether to enable Streaming Engine for the job.
* @property flexrsGoal Set FlexRS goal for the job. https://cloud.google.com/dataflow/docs/guides/flexrs
* https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#FlexResourceSchedulingGoal
* Possible values are: `FLEXRS_UNSPECIFIED`, `FLEXRS_SPEED_OPTIMIZED`, `FLEXRS_COST_OPTIMIZED`.
* @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 PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs(
public val additionalExperiments: Output>? = null,
public val additionalUserLabels: Output>? = null,
public val enableStreamingEngine: Output? = null,
public val flexrsGoal: 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.PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs =
com.pulumi.gcp.dataflow.inputs.PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs.builder()
.additionalExperiments(additionalExperiments?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.additionalUserLabels(
additionalUserLabels?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.enableStreamingEngine(enableStreamingEngine?.applyValue({ args0 -> args0 }))
.flexrsGoal(flexrsGoal?.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 [PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs].
*/
@PulumiTagMarker
public class PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgsBuilder
internal constructor() {
private var additionalExperiments: Output>? = null
private var additionalUserLabels: Output>? = null
private var enableStreamingEngine: Output? = null
private var flexrsGoal: 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("tmmrhlfjbmhgusqe")
public suspend fun additionalExperiments(`value`: Output>) {
this.additionalExperiments = value
}
@JvmName("bfltmbayexfwrsrq")
public suspend fun additionalExperiments(vararg values: Output) {
this.additionalExperiments = Output.all(values.asList())
}
/**
* @param values Additional experiment flags for the job.
*/
@JvmName("lqparjtxpqqbboqk")
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("ctgvwwykubkisjsf")
public suspend fun additionalUserLabels(`value`: Output>) {
this.additionalUserLabels = value
}
/**
* @param value Whether to enable Streaming Engine for the job.
*/
@JvmName("vawmgxkpmuqvhdhm")
public suspend fun enableStreamingEngine(`value`: Output) {
this.enableStreamingEngine = value
}
/**
* @param value Set FlexRS goal for the job. https://cloud.google.com/dataflow/docs/guides/flexrs
* https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#FlexResourceSchedulingGoal
* Possible values are: `FLEXRS_UNSPECIFIED`, `FLEXRS_SPEED_OPTIMIZED`, `FLEXRS_COST_OPTIMIZED`.
*/
@JvmName("klvtnycqtaqjridw")
public suspend fun flexrsGoal(`value`: Output) {
this.flexrsGoal = 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("uadnsdsbdopfmnvr")
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("xcjwkvqoxxoeqtjd")
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("ccruaejghonckbyp")
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("ehrclfpfhsugxjuu")
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("elyiwpvabvrtxmcs")
public suspend fun network(`value`: Output) {
this.network = value
}
/**
* @param value The initial number of Compute Engine instances for the job.
*/
@JvmName("iddjywejanhworxy")
public suspend fun numWorkers(`value`: Output) {
this.numWorkers = value
}
/**
* @param value The email address of the service account to run the job as.
*/
@JvmName("dhcogowoudkvucyo")
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("oglrykkrwttbmmib")
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("ctoehdiuybexnshy")
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("crwebhbumpgjvgoe")
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("yxfmvdbjqlmckibg")
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("pmkemaemwyufvryx")
public suspend fun zone(`value`: Output) {
this.zone = value
}
/**
* @param value Additional experiment flags for the job.
*/
@JvmName("notdeumubjnkpdyw")
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("dtdvmqteomkvpsah")
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("twttvlycycqlhqwc")
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("mrnypghgdvpfimhv")
public fun additionalUserLabels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.additionalUserLabels = mapped
}
/**
* @param value Whether to enable Streaming Engine for the job.
*/
@JvmName("ourygwpuwiscqmml")
public suspend fun enableStreamingEngine(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableStreamingEngine = mapped
}
/**
* @param value Set FlexRS goal for the job. https://cloud.google.com/dataflow/docs/guides/flexrs
* https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#FlexResourceSchedulingGoal
* Possible values are: `FLEXRS_UNSPECIFIED`, `FLEXRS_SPEED_OPTIMIZED`, `FLEXRS_COST_OPTIMIZED`.
*/
@JvmName("dnfmocikijxyxgnx")
public suspend fun flexrsGoal(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.flexrsGoal = 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("nqeuagegwnbrgiyr")
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("okduouvefkhkgrrs")
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("knvsvbhftrudkgqu")
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("oloinroiojkotulc")
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("ryaddsxmctgtkuyh")
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("mjjktaxesnxlkinq")
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("efyirbcmlswdirss")
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("bxumipksqqxfnlff")
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("shkpqpkbjdpnylgr")
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("fnqcwttachibnmar")
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("jwpbgrhfqrlkdejv")
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("emmxwtalvwcxjkug")
public suspend fun zone(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.zone = mapped
}
internal fun build(): PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs =
PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs(
additionalExperiments = additionalExperiments,
additionalUserLabels = additionalUserLabels,
enableStreamingEngine = enableStreamingEngine,
flexrsGoal = flexrsGoal,
ipConfiguration = ipConfiguration,
kmsKeyName = kmsKeyName,
machineType = machineType,
maxWorkers = maxWorkers,
network = network,
numWorkers = numWorkers,
serviceAccountEmail = serviceAccountEmail,
subnetwork = subnetwork,
tempLocation = tempLocation,
workerRegion = workerRegion,
workerZone = workerZone,
zone = zone,
)
}