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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.batch.kotlin.inputs
import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property containers Properties of the container that's used on the Amazon EKS pod. See containers below.
* @property dnsPolicy DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.
* @property hostNetwork Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.
* @property imagePullSecrets List of Kubernetes secret resources. See `image_pull_secret` below.
* @property initContainers Containers which run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. See containers below.
* @property metadata Metadata about the Kubernetes pod.
* @property serviceAccountName Name of the service account that's used to run the pod.
* @property shareProcessNamespace Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
* @property volumes Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types.
*/
public data class JobDefinitionEksPropertiesPodPropertiesArgs(
public val containers: Output,
public val dnsPolicy: Output? = null,
public val hostNetwork: Output? = null,
public val imagePullSecrets: Output>? = null,
public val initContainers: Output>? =
null,
public val metadata: Output? = null,
public val serviceAccountName: Output? = null,
public val shareProcessNamespace: Output? = null,
public val volumes: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesArgs =
com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesArgs.builder()
.containers(containers.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.dnsPolicy(dnsPolicy?.applyValue({ args0 -> args0 }))
.hostNetwork(hostNetwork?.applyValue({ args0 -> args0 }))
.imagePullSecrets(
imagePullSecrets?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.initContainers(
initContainers?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.metadata(metadata?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.serviceAccountName(serviceAccountName?.applyValue({ args0 -> args0 }))
.shareProcessNamespace(shareProcessNamespace?.applyValue({ args0 -> args0 }))
.volumes(
volumes?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [JobDefinitionEksPropertiesPodPropertiesArgs].
*/
@PulumiTagMarker
public class JobDefinitionEksPropertiesPodPropertiesArgsBuilder internal constructor() {
private var containers: Output? = null
private var dnsPolicy: Output? = null
private var hostNetwork: Output? = null
private var imagePullSecrets:
Output>? = null
private var initContainers:
Output>? = null
private var metadata: Output? = null
private var serviceAccountName: Output? = null
private var shareProcessNamespace: Output? = null
private var volumes: Output>? = null
/**
* @param value Properties of the container that's used on the Amazon EKS pod. See containers below.
*/
@JvmName("bdjmouwtqrthvcqf")
public suspend fun containers(`value`: Output) {
this.containers = value
}
/**
* @param value DNS policy for the pod. The default value is `ClusterFirst`. If the `host_network` argument is not specified, the default is `ClusterFirstWithHostNet`. `ClusterFirst` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.
*/
@JvmName("kuiqnbkpekinphou")
public suspend fun dnsPolicy(`value`: Output) {
this.dnsPolicy = value
}
/**
* @param value Whether the pod uses the hosts' network IP address. The default value is `true`. Setting this to `false` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.
*/
@JvmName("rynuuoqrornbmrqt")
public suspend fun hostNetwork(`value`: Output) {
this.hostNetwork = value
}
/**
* @param value List of Kubernetes secret resources. See `image_pull_secret` below.
*/
@JvmName("kcpcvmhaefqxrbfl")
public suspend fun imagePullSecrets(`value`: Output>) {
this.imagePullSecrets = value
}
@JvmName("shqkucwiudnkigsm")
public suspend fun imagePullSecrets(vararg values: Output) {
this.imagePullSecrets = Output.all(values.asList())
}
/**
* @param values List of Kubernetes secret resources. See `image_pull_secret` below.
*/
@JvmName("tamrmudewbmybnnv")
public suspend fun imagePullSecrets(values: List