/// <summary> Update the properties of the artifact's manifest. </summary> /// <param name="value"> Manifest properties object containing values to update. </param> /// <param name="cancellationToken"> The cancellation token to use. </param> /// <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 async Task <Response <ArtifactManifestProperties> > UpdateManifestPropertiesAsync(ArtifactManifestProperties value, CancellationToken cancellationToken = default) { Argument.AssertNotNull(value, nameof(value)); using DiagnosticScope scope = _clientDiagnostics.CreateScope($"{nameof(RegistryArtifact)}.{nameof(UpdateManifestProperties)}"); scope.Start(); try { string digest = await GetDigestAsync(cancellationToken).ConfigureAwait(false); return(await _restClient.UpdateManifestPropertiesAsync(_repositoryName, digest, GetManifestWriteableProperties(value), cancellationToken).ConfigureAwait(false)); } catch (Exception e) { scope.Failed(e); throw; } }