/// <summary> /// List all versions of the specified secret. /// </summary> /// <remarks> /// The full secret identifier and attributes are provided in the response. No /// values are returned for the secrets. This operations requires the /// secrets/list permission. /// </remarks> /// <param name="name">The name of the secret.</param> /// <param name="cancellationToken">A <see cref="CancellationToken"/> controlling the request lifetime.</param> public virtual AsyncPageable <SecretProperties> GetPropertiesOfSecretVersionsAsync(string name, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(name, nameof(name)); Uri firstPageUri = new Uri(VaultUri, $"{SecretsPath}{name}/versions?api-version={_pipeline.ApiVersion}"); return(PageResponseEnumerator.CreateAsyncEnumerable(nextLink => _pipeline.GetPageAsync(firstPageUri, nextLink, () => new SecretProperties(), "Azure.Security.KeyVault.Secrets.SecretClient.GetPropertiesOfSecretVersions", cancellationToken))); }
/// <summary> /// List all versions of the specified secret. /// </summary> /// <remarks> /// The full secret identifier and attributes are provided in the response. No /// values are returned for the secrets. This operations requires the /// secrets/list permission. /// </remarks> /// <param name="name">The name of the secret.</param> /// <param name="cancellationToken">A <see cref="CancellationToken"/> controlling the request lifetime.</param> public virtual AsyncCollection <SecretBase> GetSecretVersionsAsync(string name, CancellationToken cancellationToken = default) { if (string.IsNullOrEmpty(name)) { throw new ArgumentException($"{nameof(name)} must not be null or empty", nameof(name)); } Uri firstPageUri = new Uri(_vaultUri, $"{SecretsPath}{name}/versions?api-version={_pipeline.ApiVersion}"); return(PageResponseEnumerator.CreateAsyncEnumerable(nextLink => _pipeline.GetPageAsync(firstPageUri, nextLink, () => new SecretBase(), "Azure.Security.KeyVault.Secrets.SecretClient.GetSecretVersions", cancellationToken))); }