public virtual Response <TemplateSpec> SetTags(IDictionary <string, string> tags, CancellationToken cancellationToken = default) { Argument.AssertNotNull(tags, nameof(tags)); using var scope = _templateSpecClientDiagnostics.CreateScope("TemplateSpec.SetTags"); scope.Start(); try { TagResource.Delete(WaitUntil.Completed, cancellationToken: cancellationToken); var originalTags = TagResource.Get(cancellationToken); originalTags.Value.Data.TagValues.ReplaceWith(tags); TagResource.CreateOrUpdate(WaitUntil.Completed, originalTags.Value.Data, cancellationToken: cancellationToken); var originalResponse = _templateSpecRestClient.Get(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, null, cancellationToken); return(Response.FromValue(new TemplateSpec(Client, originalResponse.Value), originalResponse.GetRawResponse())); } catch (Exception e) { scope.Failed(e); throw; } }
public virtual Response <Subscription> SetTags(IDictionary <string, string> tags, CancellationToken cancellationToken = default) { Argument.AssertNotNull(tags, nameof(tags)); using var scope = _subscriptionClientDiagnostics.CreateScope("Subscription.SetTags"); scope.Start(); try { TagResource.Delete(true, cancellationToken: cancellationToken); var originalTags = TagResource.Get(cancellationToken); originalTags.Value.Data.Properties.TagsValue.ReplaceWith(tags); TagResource.CreateOrUpdate(true, originalTags.Value.Data, cancellationToken: cancellationToken); var originalResponse = _subscriptionRestClient.Get(Id.SubscriptionId, cancellationToken); return(Response.FromValue(new Subscription(Client, originalResponse.Value), originalResponse.GetRawResponse())); } catch (Exception e) { scope.Failed(e); throw; } }
public virtual Response <JitRequestDefinition> SetTags(IDictionary <string, string> tags, CancellationToken cancellationToken = default) { if (tags == null) { throw new ArgumentNullException($"{nameof(tags)} provided cannot be null.", nameof(tags)); } using var scope = _clientDiagnostics.CreateScope("JitRequestDefinition.SetTags"); scope.Start(); try { TagResource.Delete(cancellationToken: cancellationToken); var originalTags = TagResource.Get(cancellationToken); originalTags.Value.Data.Properties.TagsValue.ReplaceWith(tags); TagResource.CreateOrUpdate(originalTags.Value.Data, cancellationToken: cancellationToken); var originalResponse = _restClient.Get(Id.ResourceGroupName, Id.Name, cancellationToken); return(Response.FromValue(new JitRequestDefinition(this, originalResponse.Value), originalResponse.GetRawResponse())); } catch (Exception e) { scope.Failed(e); throw; } }