protected override void ProcessRecord() { ResponseType response = null; base.ProcessRecord(); try { var applyTag = new applyTags { assetType = AssetType.ToString().ToUpperInvariant(), assetId = AssetId, }; if (ParameterSetName.Equals("With_TagKeyName")) { var applyByName = new ApplyTagType { tagKeyName = TagKeyName, value = Value, valueSpecified = !string.IsNullOrEmpty(Value) }; applyTag.tag = new[] { applyByName }; } else { var applyById = new ApplyTagByIdType { tagKeyId = TagKeyId, value = Value, valueSpecified = !string.IsNullOrEmpty(Value) }; applyTag.tagById = new[] { applyById }; } response = Connection.ApiClient.Tagging.ApplyTags(applyTag).Result; } catch (AggregateException ae) { ae.Handle( e => { if (e is ComputeApiException) { WriteError( new ErrorRecord(e, "-2", ErrorCategory.InvalidOperation, Connection)); } else { ThrowTerminatingError( new ErrorRecord(e, "-1", ErrorCategory.ConnectionError, Connection)); } return(true); }); } WriteObject(response); }
/// <summary>The apply tags.</summary> /// <param name="applyTags">The apply tags.</param> /// <returns>The <see cref="Task"/>.</returns> public async Task <ResponseType> ApplyTags(applyTags applyTags) { return(await _apiClient.PostAsync <applyTags, ResponseType>(ApiUris.ApplyTags(_apiClient.OrganizationId), applyTags)); }