#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 } }