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

com.amazonaws.services.ecs.model.Volume Maven / Gradle / Ivy

Go to download

The AWS Java SDK for the Amazon EC2 Container Service holds the client classes that are used for communicating with the Amazon EC2 Container Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2014-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.ecs.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* 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, see Using Data Volumes in * Tasks. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Volume implements Serializable, Cloneable, StructuredPojo { /** *

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

*/ private String name; /** *

* This parameter is specified when you are using bind mount host volumes. Bind mount host volumes are supported * when you are using either the EC2 or Fargate launch types. The contents of the host parameter * determine whether your bind mount host volume persists on the host container instance and where it is stored. If * the host parameter is empty, then the Docker daemon assigns a host path for your data volume. * However, the data is not guaranteed to persist after the containers associated with it stop running. *

*

* Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows * containers cannot mount directories on a different drive, and mount point cannot 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. *

*/ private HostVolumeProperties host; /** *

* This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you are * using the EC2 launch type. Windows containers only support the use of the local driver. To use bind * mounts, specify a host instead. *

*/ private DockerVolumeConfiguration dockerVolumeConfiguration; /** *

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

* * @param name * The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. * This name is referenced in the sourceVolume parameter of container definition * mountPoints. */ public void setName(String name) { this.name = name; } /** *

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

* * @return The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. * This name is referenced in the sourceVolume parameter of container definition * mountPoints. */ public String getName() { return this.name; } /** *

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

* * @param name * The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. * This name is referenced in the sourceVolume parameter of container definition * mountPoints. * @return Returns a reference to this object so that method calls can be chained together. */ public Volume withName(String name) { setName(name); return this; } /** *

* This parameter is specified when you are using bind mount host volumes. Bind mount host volumes are supported * when you are using either the EC2 or Fargate launch types. The contents of the host parameter * determine whether your bind mount host volume persists on the host container instance and where it is stored. If * the host parameter is empty, then the Docker daemon assigns a host path for your data volume. * However, the data is not guaranteed to persist after the containers associated with it stop running. *

*

* Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows * containers cannot mount directories on a different drive, and mount point cannot 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. *

* * @param host * This parameter is specified when you are using bind mount host volumes. Bind mount host volumes are * supported when you are using either the EC2 or Fargate launch types. The contents of the host * parameter determine whether your bind mount host volume persists on the host container instance and where * it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for * your data volume. However, the data is not guaranteed to persist after the containers associated with it * stop running.

*

* Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows * containers cannot mount directories on a different drive, and mount point cannot 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. */ public void setHost(HostVolumeProperties host) { this.host = host; } /** *

* This parameter is specified when you are using bind mount host volumes. Bind mount host volumes are supported * when you are using either the EC2 or Fargate launch types. The contents of the host parameter * determine whether your bind mount host volume persists on the host container instance and where it is stored. If * the host parameter is empty, then the Docker daemon assigns a host path for your data volume. * However, the data is not guaranteed to persist after the containers associated with it stop running. *

*

* Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows * containers cannot mount directories on a different drive, and mount point cannot 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. *

* * @return This parameter is specified when you are using bind mount host volumes. Bind mount host volumes are * supported when you are using either the EC2 or Fargate launch types. The contents of the * host parameter determine whether your bind mount host volume persists on the host container * instance and where it is stored. If the host parameter is empty, then the Docker daemon * assigns a host path for your data volume. However, the data is not guaranteed to persist after the * containers associated with it stop running.

*

* Windows containers can mount whole directories on the same drive as $env:ProgramData. * Windows containers cannot mount directories on a different drive, and mount point cannot 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. */ public HostVolumeProperties getHost() { return this.host; } /** *

* This parameter is specified when you are using bind mount host volumes. Bind mount host volumes are supported * when you are using either the EC2 or Fargate launch types. The contents of the host parameter * determine whether your bind mount host volume persists on the host container instance and where it is stored. If * the host parameter is empty, then the Docker daemon assigns a host path for your data volume. * However, the data is not guaranteed to persist after the containers associated with it stop running. *

*

* Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows * containers cannot mount directories on a different drive, and mount point cannot 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. *

* * @param host * This parameter is specified when you are using bind mount host volumes. Bind mount host volumes are * supported when you are using either the EC2 or Fargate launch types. The contents of the host * parameter determine whether your bind mount host volume persists on the host container instance and where * it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for * your data volume. However, the data is not guaranteed to persist after the containers associated with it * stop running.

*

* Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows * containers cannot mount directories on a different drive, and mount point cannot 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. * @return Returns a reference to this object so that method calls can be chained together. */ public Volume withHost(HostVolumeProperties host) { setHost(host); return this; } /** *

* This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you are * using the EC2 launch type. Windows containers only support the use of the local driver. To use bind * mounts, specify a host instead. *

* * @param dockerVolumeConfiguration * This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you * are using the EC2 launch type. Windows containers only support the use of the local driver. * To use bind mounts, specify a host instead. */ public void setDockerVolumeConfiguration(DockerVolumeConfiguration dockerVolumeConfiguration) { this.dockerVolumeConfiguration = dockerVolumeConfiguration; } /** *

* This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you are * using the EC2 launch type. Windows containers only support the use of the local driver. To use bind * mounts, specify a host instead. *

* * @return This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you * are using the EC2 launch type. Windows containers only support the use of the local driver. * To use bind mounts, specify a host instead. */ public DockerVolumeConfiguration getDockerVolumeConfiguration() { return this.dockerVolumeConfiguration; } /** *

* This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you are * using the EC2 launch type. Windows containers only support the use of the local driver. To use bind * mounts, specify a host instead. *

* * @param dockerVolumeConfiguration * This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you * are using the EC2 launch type. Windows containers only support the use of the local driver. * To use bind mounts, specify a host instead. * @return Returns a reference to this object so that method calls can be chained together. */ public Volume withDockerVolumeConfiguration(DockerVolumeConfiguration dockerVolumeConfiguration) { setDockerVolumeConfiguration(dockerVolumeConfiguration); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getHost() != null) sb.append("Host: ").append(getHost()).append(","); if (getDockerVolumeConfiguration() != null) sb.append("DockerVolumeConfiguration: ").append(getDockerVolumeConfiguration()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Volume == false) return false; Volume other = (Volume) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getHost() == null ^ this.getHost() == null) return false; if (other.getHost() != null && other.getHost().equals(this.getHost()) == false) return false; if (other.getDockerVolumeConfiguration() == null ^ this.getDockerVolumeConfiguration() == null) return false; if (other.getDockerVolumeConfiguration() != null && other.getDockerVolumeConfiguration().equals(this.getDockerVolumeConfiguration()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getHost() == null) ? 0 : getHost().hashCode()); hashCode = prime * hashCode + ((getDockerVolumeConfiguration() == null) ? 0 : getDockerVolumeConfiguration().hashCode()); return hashCode; } @Override public Volume clone() { try { return (Volume) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.ecs.model.transform.VolumeMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy