/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the ecs-2014-11-13.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ECS.Model
{
///
/// A data volume that's used in a task definition. For tasks that use the Amazon Elastic
/// File System (Amazon EFS), specify an efsVolumeConfiguration
. For Windows
/// tasks that use Amazon FSx for Windows File Server file system, specify a fsxWindowsFileServerVolumeConfiguration
.
/// 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.
///
public partial class Volume
{
private DockerVolumeConfiguration _dockerVolumeConfiguration;
private EFSVolumeConfiguration _efsVolumeConfiguration;
private FSxWindowsFileServerVolumeConfiguration _fsxWindowsFileServerVolumeConfiguration;
private HostVolumeProperties _host;
private string _name;
///
/// Gets and sets the 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 Fargate.
///
///
///
public DockerVolumeConfiguration DockerVolumeConfiguration
{
get { return this._dockerVolumeConfiguration; }
set { this._dockerVolumeConfiguration = value; }
}
// Check to see if DockerVolumeConfiguration property is set
internal bool IsSetDockerVolumeConfiguration()
{
return this._dockerVolumeConfiguration != null;
}
///
/// Gets and sets the property EfsVolumeConfiguration.
///
/// This parameter is specified when you use an Amazon Elastic File System file system
/// for task storage.
///
///
public EFSVolumeConfiguration EfsVolumeConfiguration
{
get { return this._efsVolumeConfiguration; }
set { this._efsVolumeConfiguration = value; }
}
// Check to see if EfsVolumeConfiguration property is set
internal bool IsSetEfsVolumeConfiguration()
{
return this._efsVolumeConfiguration != null;
}
///
/// Gets and sets the property FsxWindowsFileServerVolumeConfiguration.
///
/// This parameter is specified when you use Amazon FSx for Windows File Server file system
/// for task storage.
///
///
public FSxWindowsFileServerVolumeConfiguration FsxWindowsFileServerVolumeConfiguration
{
get { return this._fsxWindowsFileServerVolumeConfiguration; }
set { this._fsxWindowsFileServerVolumeConfiguration = value; }
}
// Check to see if FsxWindowsFileServerVolumeConfiguration property is set
internal bool IsSetFsxWindowsFileServerVolumeConfiguration()
{
return this._fsxWindowsFileServerVolumeConfiguration != null;
}
///
/// Gets and sets the 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
.
///
///
public HostVolumeProperties Host
{
get { return this._host; }
set { this._host = value; }
}
// Check to see if Host property is set
internal bool IsSetHost()
{
return this._host != null;
}
///
/// Gets and sets the property Name.
///
/// 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
.
///
///
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
}
}