private static TagWriteableProperties GetTagWriteableProperties(ArtifactTagProperties value) { return(new TagWriteableProperties() { CanDelete = value.CanDelete, CanList = value.CanList, CanRead = value.CanRead, CanWrite = value.CanWrite }); }
/// <summary> Update tag attributes. </summary> /// <param name="tag"> Tag name. </param> /// <param name="value"> Tag property value. </param> /// <param name="cancellationToken"> The cancellation token to use. </param> /// <exception cref="ArgumentNullException"> Thrown when <paramref name="tag"/> is null. </exception> /// <exception cref="ArgumentException"> Thrown when <paramref name="tag"/> is empty. </exception> /// <exception cref="ArgumentNullException"> Thrown when <paramref name="value"/> is null. </exception> /// <exception cref="RequestFailedException">Thrown when a failure is returned by the Container Registry service.</exception> public virtual Response <ArtifactTagProperties> SetTagProperties(string tag, ArtifactTagProperties value, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(tag, nameof(tag)); Argument.AssertNotNull(value, nameof(value)); using DiagnosticScope scope = _clientDiagnostics.CreateScope($"{nameof(RegistryArtifact)}.{nameof(SetTagProperties)}"); scope.Start(); try { return(_restClient.UpdateTagAttributes(_repositoryName, tag, GetTagWriteableProperties(value), cancellationToken)); } catch (Exception e) { scope.Failed(e); throw; } }