#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.ComponentModel; using System.Management.Automation; using SolidFire.Core; using SolidFire.Element.Api; using System.Linq; #endregion namespace SolidFire.StorageContainers { [Cmdlet(VerbsCommon.Remove, "SFInitiator", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High, DefaultParameterSetName ="Initiator")] public class RemoveInitiator : SFCmdlet { #region Private Data #endregion #region Parameters [Parameter(Mandatory = true, HelpMessage = "An array of IDs of initiators to delete.", ValueFromPipeline =true, ValueFromPipelineByPropertyName =true, ParameterSetName ="ID")] public Int64[] InitiatorID { get; set; } [Parameter(Mandatory = true, HelpMessage = "An array of initiators to delete.", ValueFromPipeline = true, ValueFromPipelineByPropertyName = true, ParameterSetName ="Initiator")] public Initiator[] Initiator { get; set; } #endregion #region Cmdlet Overrides protected override void BeginProcessing() { base.BeginProcessing(); CheckConnection(9); } protected override void ProcessRecord() { base.ProcessRecord(); var request = new DeleteInitiatorsRequest() { Initiators = Initiator == null ? InitiatorID : Initiator.Select(i => i.InitiatorID).ToArray()}; SendRequest("DeleteInitiators", request); } #endregion } }