public override void ExecuteCmdlet() { if (!string.IsNullOrWhiteSpace(this.ResourceId)) { if (ShouldProcess(this.ResourceId, Resources.RemoveTagMessage)) { var res = TagsClient.DeleteTagAtScope(this.ResourceId); if (this.PassThru.IsPresent) { WriteObject(res); } } } else { PSTag tag = null; ConfirmAction( Resources.RemovePredefinedTagMessage, Name, () => { tag = TagsClient.DeleteTag(Name, Value != null ? Value.ToList() : null); if (PassThru) { WriteObject(tag); } }); } }
/// <summary> /// Deletes the entire tag or specific tag value. /// </summary> /// <param name="tag">The tag name</param> /// <param name="values">Values to remove</param> /// <returns></returns> public PSTag DeleteTag(string tag, List <string> values) { PSTag tagObject = null; if (values == null || values.Count != 1) { tagObject = GetTag(tag); if (int.Parse(tagObject.Count) > 0) { throw new Exception(Resources.CanNotDeleteTag); } } if (values == null || values.Count == 0) { tagObject = GetTag(tag); tagObject.Values.ForEach(v => ResourceManagementClient.Tags.DeleteValue(tag, v.Name)); ResourceManagementClient.Tags.Delete(tag); } else { values.ForEach(v => ResourceManagementClient.Tags.DeleteValue(tag, v)); tagObject = GetTag(tag); } return(tagObject); }
public override void ExecuteCmdlet() { PSTag tag = null; ConfirmAction( Resources.RemoveTagMessage, Name, () => { tag = TagsClient.DeleteTag(Name, Value != null ? Value.ToList() : null); if (PassThru) { WriteObject(tag); } }); }
public override void ExecuteCmdlet() { PSTag tag = null; ConfirmAction( Force.IsPresent, string.Format(Resources.RemovingTag, Name), Resources.RemoveTagMessage, Name, () => tag = TagsClient.DeleteTag(Name, Value != null ? Value.ToList() : null)); if (PassThru) { WriteObject(tag); } }