![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.ecs.kotlin.outputs.TaskDefinitionVolume.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.ecs.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
/**
* The data volume configuration for tasks launched using this task definition. Specifying a volume configuration in a task definition is optional. The volume configuration may contain multiple volumes but only one volume configured at launch is supported. Each volume defined in the volume configuration may only specify a ``name`` and one of either ``configuredAtLaunch``, ``dockerVolumeConfiguration``, ``efsVolumeConfiguration``, ``fsxWindowsFileServerVolumeConfiguration``, or ``host``. If an empty volume configuration is specified, by default Amazon ECS uses a host volume. For more information, see [Using data volumes in tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html).
* @property configuredAtLaunch Indicates whether the volume should be configured at launch time. This is used to create Amazon EBS volumes for standalone tasks or tasks created as part of a service. Each task definition revision may only have one volume configured at launch in the volume configuration.
* To configure a volume at launch time, use this task definition revision and specify a ``volumeConfigurations`` object when calling the ``CreateService``, ``UpdateService``, ``RunTask`` or ``StartTask`` APIs.
* @property dockerVolumeConfiguration This parameter is specified when you use Docker volumes.
* Windows containers only support the use of the ``local`` driver. To use bind mounts, specify the ``host`` parameter instead.
* Docker volumes aren't supported by tasks run on FARGATElong.
* @property efsVolumeConfiguration This parameter is specified when you use an Amazon Elastic File System file system for task storage.
* @property fSxWindowsFileServerVolumeConfiguration This parameter is specified when you use Amazon FSx for Windows File Server file system for task storage.
* @property host This parameter is specified when you use bind mount host volumes. The contents of the ``host`` parameter determine whether your bind mount host volume persists on the host container instance and where it's stored. If the ``host`` parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.
* Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. For example, you can mount ``C:\my\path:C:\my\path`` and ``D:\:D:\``, but not ``D:\my\path:C:\my\path`` or ``D:\:C:\my\path``.
* @property name The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.
* When using a volume configured at launch, the ``name`` is required and must also be specified as the volume name in the ``ServiceVolumeConfiguration`` or ``TaskVolumeConfiguration`` parameter when creating your service or standalone task.
* For all other types of volumes, this name is referenced in the ``sourceVolume`` parameter of the ``mountPoints`` object in the container definition.
* When a volume is using the ``efsVolumeConfiguration``, the name is required.
*/
public data class TaskDefinitionVolume(
public val configuredAtLaunch: Boolean? = null,
public val dockerVolumeConfiguration: TaskDefinitionDockerVolumeConfiguration? = null,
public val efsVolumeConfiguration: TaskDefinitionEfsVolumeConfiguration? = null,
public val fSxWindowsFileServerVolumeConfiguration: TaskDefinitionFSxWindowsFileServerVolumeConfiguration? = null,
public val host: TaskDefinitionHostVolumeProperties? = null,
public val name: String? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.ecs.outputs.TaskDefinitionVolume): TaskDefinitionVolume = TaskDefinitionVolume(
configuredAtLaunch = javaType.configuredAtLaunch().map({ args0 -> args0 }).orElse(null),
dockerVolumeConfiguration = javaType.dockerVolumeConfiguration().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.ecs.kotlin.outputs.TaskDefinitionDockerVolumeConfiguration.Companion.toKotlin(args0)
})
}).orElse(null),
efsVolumeConfiguration = javaType.efsVolumeConfiguration().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.ecs.kotlin.outputs.TaskDefinitionEfsVolumeConfiguration.Companion.toKotlin(args0)
})
}).orElse(null),
fSxWindowsFileServerVolumeConfiguration = javaType.fSxWindowsFileServerVolumeConfiguration().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.ecs.kotlin.outputs.TaskDefinitionFSxWindowsFileServerVolumeConfiguration.Companion.toKotlin(args0)
})
}).orElse(null),
host = javaType.host().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.ecs.kotlin.outputs.TaskDefinitionHostVolumeProperties.Companion.toKotlin(args0)
})
}).orElse(null),
name = javaType.name().map({ args0 -> args0 }).orElse(null),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy