diff --git a/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/implementation/SecretImpl.java b/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/implementation/SecretImpl.java index 599bc6c9579a..65b193e8e648 100644 --- a/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/implementation/SecretImpl.java +++ b/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/implementation/SecretImpl.java @@ -76,7 +76,13 @@ public Flux listVersionsAsync() { return vault .secretClient() .listPropertiesOfSecretVersions(name()) - .flatMap(p -> vault.secretClient().getSecret(p.getName(), p.getVersion())) + .flatMap(p -> { + if (p.isEnabled()) { + return vault.secretClient().getSecret(p.getName(), p.getVersion()); + } else { + return Mono.just(new KeyVaultSecret(p.getName(), null).setProperties(p)); + } + }) .map(this::wrapModel); } diff --git a/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/implementation/SecretsImpl.java b/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/implementation/SecretsImpl.java index 7d799117e57e..696dcec44d46 100644 --- a/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/implementation/SecretsImpl.java +++ b/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/implementation/SecretsImpl.java @@ -85,7 +85,13 @@ public PagedFlux listAsync() { return PagedConverter .flatMapPage( inner.listPropertiesOfSecrets(), - s -> vault.secretClient().getSecret(s.getName(), s.getVersion()).map(this::wrapModel)); + s -> { + if (s.isEnabled()) { + return vault.secretClient().getSecret(s.getName(), s.getVersion()).map(this::wrapModel); + } else { + return Mono.just(wrapModel(new KeyVaultSecret(s.getName(), null).setProperties(s))); + } + }); } @Override diff --git a/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/models/Secret.java b/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/models/Secret.java index c8955e4f4b48..67b34d0aa179 100644 --- a/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/models/Secret.java +++ b/sdk/resourcemanager/azure-resourcemanager-keyvault/src/main/java/com/azure/resourcemanager/keyvault/models/Secret.java @@ -19,7 +19,7 @@ /** An immutable client-side representation of an Azure Key Vault secret. */ @Fluent public interface Secret extends Indexable, HasInner, HasId, HasName, Updatable { - /** @return the secret value */ + /** @return the secret value when the secret is enabled */ String value(); /** @return the secret management attributes */