#region Copyright /* * Copyright © 2014-2016 NetApp, Inc. All Rights Reserved. * * CONFIDENTIALITY NOTICE: THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION OF * NETAPP, INC. USE, DISCLOSURE OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR * EXPRESS WRITTEN PERMISSION OF NETAPP, INC. */ #endregion #region Using Directives using System.ComponentModel; using System.Management.Automation; using SolidFire.Core; using SolidFire.Element.Api; #endregion namespace SolidFire.Cluster.Enable { /// /// The Enable-SFEncryptionAtRest CmdLet is used to enable the Advanced Encryption Standard (AES) 256-bit encryption at rest on /// the cluster so that the cluster can manage the encryption key used for the drives on each node. This feature is not enabled by default. /// Enabling this operation allows the cluster to automatically manage encryption keys internally for the drives on each node in the cluster. /// Nodes do not store the keys to unlock drives and the keys are never passed over the network. Two nodes participating in a cluster are /// required to access the key to disable encryption on a drive. The encryption management does not affect performance or efficiency on the cluster. /// If an encryption-enabled drive or node is removed from the cluster with the API, all data is secure erased and any data left on the drive cannot be read or accessed. /// /// Enabling or disabling encryption should be performed when the cluster is running and in a healthy state. /// Encryption can be enabled or disabled at your discretion and can be performed as often as you need. /// /// Note: This process is asynchronous and returns a response before encryption is enabled. /// The Get-SFClusterInfo CmdLet can be used to poll the system to see when the process has completed. /// [Cmdlet(VerbsLifecycle.Enable, "SFEncryptionAtRest", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] public class EnableSFEncryptionAtRest : SFCmdlet { #region Private Data #endregion #region Parameters #endregion #region Cmdlet Overrides protected override void BeginProcessing() { base.BeginProcessing(); CheckConnection(); } protected override void ProcessRecord() { base.ProcessRecord(); SendRequest("EnableEncryptionAtRest"); } #endregion } }