private void GetAndWriteSecrets(string vaultName)
 {
     var options = new KeyVaultObjectFilterOptions
     {
         VaultName = vaultName,
         NextLink = null
     };
     do
     {
         WriteObject(DataServiceClient.GetSecrets(options), true);
     } while (!string.IsNullOrEmpty(options.NextLink));
 }
        private void GetAndWriteSecretVersions(string vaultName, string name, string currentSecretVersion)
        {
            var options = new KeyVaultObjectFilterOptions
            {
                VaultName = vaultName,
                Name = name,
                NextLink = null
            };

            do
            {
                var secrets = DataServiceClient.GetSecretVersions(options).Where(s => s.Version != currentSecretVersion);
                WriteObject(secrets, true);
            } while (!string.IsNullOrEmpty(options.NextLink));
        }
        public IEnumerable<CertificateIssuerIdentityItem> GetCertificateIssuers(KeyVaultObjectFilterOptions options)
        {
            if (options == null)
                throw new ArgumentNullException("options");

            if (string.IsNullOrEmpty(options.VaultName))
                throw new ArgumentException(KeyVaultProperties.Resources.InvalidVaultName);

            string vaultAddress = this.vaultUriHelper.CreateVaultAddress(options.VaultName);

            try
            {
                IPage<CertificateIssuerItem> result;

                if (string.IsNullOrEmpty(options.NextLink))
                    result = this.keyVaultClient.GetCertificateIssuersAsync(vaultAddress).GetAwaiter().GetResult();
                else
                    result = this.keyVaultClient.GetCertificateIssuersNextAsync(options.NextLink).GetAwaiter().GetResult();

                options.NextLink = result.NextPageLink;
                return (result == null) ? new List<CertificateIssuerIdentityItem>() :
                    result.Select(issuerItem => new CertificateIssuerIdentityItem(issuerItem, this.vaultUriHelper));
            }
            catch (Exception ex)
            {
                throw GetInnerException(ex);
            }
        }
        public IEnumerable<SecretIdentityItem> GetSecretVersions(KeyVaultObjectFilterOptions options)
        {
            if (options == null)
                throw new ArgumentNullException("options");
            if (string.IsNullOrEmpty(options.VaultName))
                throw new ArgumentException(KeyVaultProperties.Resources.InvalidVaultName);
            if (string.IsNullOrEmpty(options.Name))
                throw new ArgumentException(KeyVaultProperties.Resources.InvalidSecretName);
            
            string vaultAddress = this.vaultUriHelper.CreateVaultAddress(options.VaultName);
            
            try
            {
                ListSecretsResponseMessage result;

                if (string.IsNullOrEmpty(options.NextLink))
                    result = this.keyVaultClient.GetSecretVersionsAsync(vaultAddress, options.Name).GetAwaiter().GetResult();
                else
                    result = this.keyVaultClient.GetSecretVersionsNextAsync(options.NextLink).GetAwaiter().GetResult();
                
                options.NextLink = result.NextLink;
                return result.Value.Select((secretItem) => { return new SecretIdentityItem(secretItem, this.vaultUriHelper); });
            }
            catch (Exception ex)
            {
                throw GetInnerException(ex);
            }
        }
 private void GetAndWriteKeyVersions(string vaultName, string name, string currentKeyVersion)
 {
     KeyVaultObjectFilterOptions options = new KeyVaultObjectFilterOptions
     {
         VaultName = vaultName,
         NextLink = null,
         Name = name
     };
     
     do
     {
         var pageResults = DataServiceClient.GetKeyVersions(options).Where(k => k.Version != currentKeyVersion);
         WriteObject(pageResults, true);
     } while (!string.IsNullOrEmpty(options.NextLink));
 }
 private void GetAndWriteKeys(string vaultName)
 {
     KeyVaultObjectFilterOptions options = new KeyVaultObjectFilterOptions
     {
         VaultName = vaultName,
         NextLink = null
     };
   
     do
     {
         var pageResults = DataServiceClient.GetKeys(options);
         WriteObject(pageResults, true);
     } while (!string.IsNullOrEmpty(options.NextLink));
 }
        private void GetAndWriteCertificateIssuers(string vaultName)
        {
            KeyVaultObjectFilterOptions options = new KeyVaultObjectFilterOptions
            {
                VaultName = VaultName,
                NextLink = null,
            };

            do
            {
                var pageResults = this.DataServiceClient.GetCertificateIssuers(options);
                WriteObject(pageResults, true);
            } while (!string.IsNullOrEmpty(options.NextLink));
        }