#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;
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
using SolidFire.Core.Validation;
using SolidFire.Core;
using SolidFire.Core.Helpers;
using SolidFire.Element.Api;
#endregion
namespace SolidFire.Drive.Reset
{
[Cmdlet(VerbsCommon.Reset, "SFDrive", DefaultParameterSetName = "DriveIDs", SupportsShouldProcess = true,
ConfirmImpact = ConfirmImpact.High)]
public class ResetSFDrive : SFCmdlet
{
#region Private Data
#endregion
#region Parameters
///
///
///
[Parameter(Position = 0, Mandatory = true,
HelpMessage = "Please enter one or more device names (not driveIDs) to be reset.")]
public String[] DeviceName { get; set; }
#endregion
#region Cmdlet Overrides
protected override void BeginProcessing()
{
base.BeginProcessing();
CheckConnection(endPoint: SolidFireUtilities.SFEndPoint.Node);
}
///
///
///
protected override void ProcessRecord()
{
base.ProcessRecord();
var request = new ResetDrivesRequest
{
Drives = string.Join(",", DeviceName),
Force = true
};
foreach (var obj in SendRequest("ResetDrives", request))
{
WriteObject(obj.Result.Details.Drives, true);
}
}
#endregion
}
}