/*
* 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 fsx-2018-03-01.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.FSx.Model
{
///
/// The configuration for a data repository association (DRA) to be created during the
/// Amazon File Cache resource creation. The DRA links the cache to either an Amazon S3
/// bucket or prefix, or a Network File System (NFS) data repository that supports the
/// NFSv3 protocol.
///
///
///
/// The DRA does not support automatic import or automatic export.
///
///
public partial class FileCacheDataRepositoryAssociation
{
private string _dataRepositoryPath;
private List _dataRepositorySubdirectories = new List();
private string _fileCachePath;
private FileCacheNFSConfiguration _nfs;
///
/// Gets and sets the property DataRepositoryPath.
///
/// The path to the S3 or NFS data repository that links to the cache. You must provide
/// one of the following paths:
///
/// -
///
/// The path can be an NFS data repository that links to the cache. The path can be in
/// one of two formats:
///
///
-
///
/// If you are not using the
DataRepositorySubdirectories
parameter, the
/// path is to an NFS Export directory (or one of its subdirectories) in the format nsf://nfs-domain-name/exportpath
.
/// You can therefore link a single NFS Export to a single data repository association.
///
/// -
///
/// If you are using the
DataRepositorySubdirectories
parameter, the path
/// is the domain name of the NFS file system in the format nfs://filer-domain-name
,
/// which indicates the root of the subdirectories specified with the DataRepositorySubdirectories
/// parameter.
///
///
-
///
/// The path can be an S3 bucket or prefix in the format
s3://myBucket/myPrefix/
.
///
///
///
[AWSProperty(Required=true, Min=3, Max=4357)]
public string DataRepositoryPath
{
get { return this._dataRepositoryPath; }
set { this._dataRepositoryPath = value; }
}
// Check to see if DataRepositoryPath property is set
internal bool IsSetDataRepositoryPath()
{
return this._dataRepositoryPath != null;
}
///
/// Gets and sets the property DataRepositorySubdirectories.
///
/// A list of NFS Exports that will be linked with this data repository association. The
/// Export paths are in the format /exportpath1
. To use this parameter, you
/// must configure DataRepositoryPath
as the domain name of the NFS file
/// system. The NFS file system domain name in effect is the root of the subdirectories.
/// Note that DataRepositorySubdirectories
is not supported for S3 data repositories.
///
///
[AWSProperty(Max=500)]
public List DataRepositorySubdirectories
{
get { return this._dataRepositorySubdirectories; }
set { this._dataRepositorySubdirectories = value; }
}
// Check to see if DataRepositorySubdirectories property is set
internal bool IsSetDataRepositorySubdirectories()
{
return this._dataRepositorySubdirectories != null && this._dataRepositorySubdirectories.Count > 0;
}
///
/// Gets and sets the property FileCachePath.
///
/// A path on the cache that points to a high-level directory (such as /ns1/
)
/// or subdirectory (such as /ns1/subdir/
) that will be mapped 1-1 with DataRepositoryPath
.
/// The leading forward slash in the name is required. Two data repository associations
/// cannot have overlapping cache paths. For example, if a data repository is associated
/// with cache path /ns1/
, then you cannot link another data repository with
/// cache path /ns1/ns2
.
///
///
///
/// This path specifies where in your cache files will be exported from. This cache directory
/// can be linked to only one data repository, and no data repository other can be linked
/// to the directory.
///
///
///
/// The cache path can only be set to root (/) on an NFS DRA when DataRepositorySubdirectories
/// is specified. If you specify root (/) as the cache path, you can create only one DRA
/// on the cache.
///
///
///
/// The cache path cannot be set to root (/) for an S3 DRA.
///
///
///
[AWSProperty(Required=true, Min=1, Max=4096)]
public string FileCachePath
{
get { return this._fileCachePath; }
set { this._fileCachePath = value; }
}
// Check to see if FileCachePath property is set
internal bool IsSetFileCachePath()
{
return this._fileCachePath != null;
}
///
/// Gets and sets the property NFS.
///
/// The configuration for a data repository association that links an Amazon File Cache
/// resource to an NFS data repository.
///
///
public FileCacheNFSConfiguration NFS
{
get { return this._nfs; }
set { this._nfs = value; }
}
// Check to see if NFS property is set
internal bool IsSetNFS()
{
return this._nfs != null;
}
}
}