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

com.pulumi.gcp.cloudrunv2.kotlin.outputs.JobTemplateTemplate.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.cloudrunv2.kotlin.outputs

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

/**
 *
 * @property containers Holds the single container that defines the unit of execution for this task.
 * Structure is documented below.
 * @property encryptionKey A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek
 * @property executionEnvironment The execution environment being used to host this Task.
 * Possible values are: `EXECUTION_ENVIRONMENT_GEN1`, `EXECUTION_ENVIRONMENT_GEN2`.
 * @property maxRetries Number of retries allowed per Task, before marking this Task failed.
 * @property serviceAccount Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.
 * @property timeout Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout.
 * A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
 * @property volumes A list of Volumes to make available to containers.
 * Structure is documented below.
 * @property vpcAccess VPC Access configuration to use for this Task. For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc.
 * Structure is documented below.
 */
public data class JobTemplateTemplate(
    public val containers: List? = null,
    public val encryptionKey: String? = null,
    public val executionEnvironment: String? = null,
    public val maxRetries: Int? = null,
    public val serviceAccount: String? = null,
    public val timeout: String? = null,
    public val volumes: List? = null,
    public val vpcAccess: JobTemplateTemplateVpcAccess? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.cloudrunv2.outputs.JobTemplateTemplate): JobTemplateTemplate = JobTemplateTemplate(
            containers = javaType.containers().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.cloudrunv2.kotlin.outputs.JobTemplateTemplateContainer.Companion.toKotlin(args0)
                })
            }),
            encryptionKey = javaType.encryptionKey().map({ args0 -> args0 }).orElse(null),
            executionEnvironment = javaType.executionEnvironment().map({ args0 -> args0 }).orElse(null),
            maxRetries = javaType.maxRetries().map({ args0 -> args0 }).orElse(null),
            serviceAccount = javaType.serviceAccount().map({ args0 -> args0 }).orElse(null),
            timeout = javaType.timeout().map({ args0 -> args0 }).orElse(null),
            volumes = javaType.volumes().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.cloudrunv2.kotlin.outputs.JobTemplateTemplateVolume.Companion.toKotlin(args0)
                })
            }),
            vpcAccess = javaType.vpcAccess().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.cloudrunv2.kotlin.outputs.JobTemplateTemplateVpcAccess.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy