Interface CfnTaskDefinition.VolumeProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnTaskDefinition.VolumeProperty.Jsii$Proxy
Enclosing class:
CfnTaskDefinition

@Stability(Stable) public static interface CfnTaskDefinition.VolumeProperty extends software.amazon.jsii.JsiiSerializable
The Volume property specifies a data volume used in a task definition.

For tasks that use a Docker volume, specify a DockerVolumeConfiguration . For tasks that use a bind mount host volume, specify a host and optional sourcePath . For more information about host and optional sourcePath , see Volumes and Using Data Volumes in Tasks .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.ecs.*;
 VolumeProperty volumeProperty = VolumeProperty.builder()
         .dockerVolumeConfiguration(DockerVolumeConfigurationProperty.builder()
                 .autoprovision(false)
                 .driver("driver")
                 .driverOpts(Map.of(
                         "driverOptsKey", "driverOpts"))
                 .labels(Map.of(
                         "labelsKey", "labels"))
                 .scope("scope")
                 .build())
         .efsVolumeConfiguration(EFSVolumeConfigurationProperty.builder()
                 .filesystemId("filesystemId")
                 // the properties below are optional
                 .authorizationConfig(AuthorizationConfigProperty.builder()
                         .accessPointId("accessPointId")
                         .iam("iam")
                         .build())
                 .rootDirectory("rootDirectory")
                 .transitEncryption("transitEncryption")
                 .transitEncryptionPort(123)
                 .build())
         .host(HostVolumePropertiesProperty.builder()
                 .sourcePath("sourcePath")
                 .build())
         .name("name")
         .build();
 
  • Method Details

    • getDockerVolumeConfiguration

      @Stability(Stable) @Nullable default Object getDockerVolumeConfiguration()
      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 AWS Fargate .

    • getEfsVolumeConfiguration

      @Stability(Stable) @Nullable default Object getEfsVolumeConfiguration()
      This parameter is specified when you use an Amazon Elastic File System file system for task storage.
    • getHost

      @Stability(Stable) @Nullable default Object getHost()
      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 .

    • getName

      @Stability(Stable) @Nullable default String getName()
      The name of the volume.

      Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This name is referenced in the sourceVolume parameter of container definition mountPoints .

    • builder

      @Stability(Stable) static CfnTaskDefinition.VolumeProperty.Builder builder()
      Returns:
      a CfnTaskDefinition.VolumeProperty.Builder of CfnTaskDefinition.VolumeProperty