/*
* 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 elasticfilesystem-2015-02-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.ElasticFileSystem.Model
{
///
/// Container for the parameters to the PutLifecycleConfiguration operation.
/// Use this action to manage EFS lifecycle management and EFS Intelligent-Tiering. A
/// LifecycleConfiguration
consists of one or more LifecyclePolicy
/// objects that define the following:
///
/// -
///
/// EFS Lifecycle management - When Amazon EFS automatically transitions files
/// in a file system into the lower-cost EFS Infrequent Access (IA) storage class.
///
///
///
/// To enable EFS Lifecycle management, set the value of
TransitionToIA
to
/// one of the available options.
///
/// -
///
/// EFS Intelligent-Tiering - When Amazon EFS automatically transitions files
/// from IA back into the file system's primary storage class (EFS Standard or EFS One
/// Zone Standard).
///
///
///
/// To enable EFS Intelligent-Tiering, set the value of
TransitionToPrimaryStorageClass
/// to AFTER_1_ACCESS
.
///
///
///
/// For more information, see EFS
/// Lifecycle Management.
///
///
///
/// Each Amazon EFS file system supports one lifecycle configuration, which applies to
/// all files in the file system. If a LifecycleConfiguration
object already
/// exists for the specified file system, a PutLifecycleConfiguration
call
/// modifies the existing configuration. A PutLifecycleConfiguration
call
/// with an empty LifecyclePolicies
array in the request body deletes any
/// existing LifecycleConfiguration
and turns off lifecycle management and
/// EFS Intelligent-Tiering for the file system.
///
///
///
/// In the request, specify the following:
///
/// -
///
/// The ID for the file system for which you are enabling, disabling, or modifying lifecycle
/// management and EFS Intelligent-Tiering.
///
///
-
///
/// A
LifecyclePolicies
array of LifecyclePolicy
objects that
/// define when files are moved into IA storage, and when they are moved back to Standard
/// storage.
///
///
///
/// Amazon EFS requires that each LifecyclePolicy
object have only have a
/// single transition, so the LifecyclePolicies
array needs to be structured
/// with separate LifecyclePolicy
objects. See the example requests in the
/// following section for more information.
///
///
///
/// This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration
/// operation.
///
///
///
/// To apply a LifecycleConfiguration
object to an encrypted file system,
/// you need the same Key Management Service permissions as when you created the encrypted
/// file system.
///
///
public partial class PutLifecycleConfigurationRequest : AmazonElasticFileSystemRequest
{
private string _fileSystemId;
private List _lifecyclePolicies = new List();
///
/// Gets and sets the property FileSystemId.
///
/// The ID of the file system for which you are creating the LifecycleConfiguration
/// object (String).
///
///
[AWSProperty(Required=true, Max=128)]
public string FileSystemId
{
get { return this._fileSystemId; }
set { this._fileSystemId = value; }
}
// Check to see if FileSystemId property is set
internal bool IsSetFileSystemId()
{
return this._fileSystemId != null;
}
///
/// Gets and sets the property LifecyclePolicies.
///
/// An array of LifecyclePolicy
objects that define the file system's LifecycleConfiguration
/// object. A LifecycleConfiguration
object informs EFS lifecycle management
/// and EFS Intelligent-Tiering of the following:
///
/// -
///
/// When to move files in the file system from primary storage to the IA storage class.
///
///
-
///
/// When to move files that are in IA storage to primary storage.
///
///
///
/// When using the put-lifecycle-configuration
CLI command or the PutLifecycleConfiguration
/// API action, Amazon EFS requires that each LifecyclePolicy
object have
/// only a single transition. This means that in a request body, LifecyclePolicies
/// must be structured as an array of LifecyclePolicy
objects, one object
/// for each transition, TransitionToIA
, TransitionToPrimaryStorageClass
.
/// See the example requests in the following section for more information.
///
///
///
[AWSProperty(Required=true, Max=2)]
public List LifecyclePolicies
{
get { return this._lifecyclePolicies; }
set { this._lifecyclePolicies = value; }
}
// Check to see if LifecyclePolicies property is set
internal bool IsSetLifecyclePolicies()
{
return this._lifecyclePolicies != null && this._lifecyclePolicies.Count > 0;
}
}
}