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

com.pulumi.gcp.dataflow.kotlin.outputs.PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironment.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.dataflow.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map

/**
 *
 * @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 PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironment(
    public val additionalExperiments: List? = null,
    public val additionalUserLabels: Map? = null,
    public val bypassTempDirValidation: Boolean? = null,
    public val enableStreamingEngine: Boolean? = null,
    public val ipConfiguration: String? = null,
    public val kmsKeyName: String? = null,
    public val machineType: String? = null,
    public val maxWorkers: Int? = null,
    public val network: String? = null,
    public val numWorkers: Int? = null,
    public val serviceAccountEmail: String? = null,
    public val subnetwork: String? = null,
    public val tempLocation: String? = null,
    public val workerRegion: String? = null,
    public val workerZone: String? = null,
    public val zone: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.dataflow.outputs.PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironment): PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironment =
            PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironment(
                additionalExperiments = javaType.additionalExperiments().map({ args0 -> args0 }),
                additionalUserLabels = javaType.additionalUserLabels().map({ args0 ->
                    args0.key.to(args0.value)
                }).toMap(),
                bypassTempDirValidation = javaType.bypassTempDirValidation().map({ args0 -> args0 }).orElse(null),
                enableStreamingEngine = javaType.enableStreamingEngine().map({ args0 -> args0 }).orElse(null),
                ipConfiguration = javaType.ipConfiguration().map({ args0 -> args0 }).orElse(null),
                kmsKeyName = javaType.kmsKeyName().map({ args0 -> args0 }).orElse(null),
                machineType = javaType.machineType().map({ args0 -> args0 }).orElse(null),
                maxWorkers = javaType.maxWorkers().map({ args0 -> args0 }).orElse(null),
                network = javaType.network().map({ args0 -> args0 }).orElse(null),
                numWorkers = javaType.numWorkers().map({ args0 -> args0 }).orElse(null),
                serviceAccountEmail = javaType.serviceAccountEmail().map({ args0 -> args0 }).orElse(null),
                subnetwork = javaType.subnetwork().map({ args0 -> args0 }).orElse(null),
                tempLocation = javaType.tempLocation().map({ args0 -> args0 }).orElse(null),
                workerRegion = javaType.workerRegion().map({ args0 -> args0 }).orElse(null),
                workerZone = javaType.workerZone().map({ args0 -> args0 }).orElse(null),
                zone = javaType.zone().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy