# ServiceManagedVolumeProps

Represents the Volume configuration for an ECS service.

Extends: ServiceManagedVolumeProps
Used as props by: ServiceManagedVolume

- Source: [`aws-ecs/lib/base/service-managed-volume.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-ecs/lib/base/service-managed-volume.ts#L13)
- Type last changed: v2.122.0 · 18 Jan 2024

## Example

```ts
declare const cluster: ecs.Cluster;
const taskDefinition = new ecs.FargateTaskDefinition(this, 'TaskDef');

const container = taskDefinition.addContainer('web', {
  image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
  portMappings: [{
    containerPort: 80,
    protocol: ecs.Protocol.TCP,
  }],
});

const volume = new ecs.ServiceManagedVolume(this, 'EBSVolume', {
  name: 'ebs1',
  managedEBSVolume: {
    size: Size.gibibytes(15),
    volumeType: ec2.EbsDeviceVolumeType.GP3,
    fileSystemType: ecs.FileSystemType.XFS,
    tagSpecifications: [{
      tags: {
        purpose: 'production',
      },
      propagateTags: ecs.EbsPropagatedTagSource.SERVICE,
    }],
  },
});

volume.mountIn(container, {
  containerPath: '/var/lib',
  readOnly: false,
});

taskDefinition.addVolume(volume);

const service = new ecs.FargateService(this, 'FargateService', {
  cluster,
  taskDefinition,
  minHealthyPercent: 100,
});

service.addVolume(volume);
```

## Properties

- `managedEBSVolume`: [ServiceManagedEBSVolumeConfiguration](/cdk/api/v2/docs/aws-cdk-lib.aws_ecs.ServiceManagedEBSVolumeConfiguration.html) = undefined — Configuration for an Amazon Elastic Block Store (EBS) volume managed by ECS.

- `name`: string (required) — The name of the volume.

  This corresponds to the name provided in the ECS TaskDefinition.
