コード例 #1
0
        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);
        }
コード例 #2
0
 /// <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));
 }