Ejemplo n.º 1
0
        public override void Execute()
        {
            var vaultConfig = ConfigurationManager.GetVaultConfig(Vault);

            if (vaultConfig == null)
            {
                WriteError($"Unknown vault '{Vault}'");
                return;
            }

            if (!Force)
            {
                WriteError("'--force' option is required");
                return;
            }

            var authConfig = ConfigurationManager.GetAuthConfig(vaultConfig);

            if (authConfig == null)
            {
                WriteError($"No authentication methods have been configured for vault '{Vault}'; see `kv auth`");
                return;
            }

            IKeyVaultService kvService = CreateVaultService(authConfig);

            SecretBundle deletedSecret;

            try
            {
                deletedSecret = kvService.DeleteSecret(vaultConfig.GetVaultUri(), Secret);
            }
            catch (Exception ex)
            {
                WriteError($"Failed to delete secret '{Secret}' in vault '{Vault}'", ex);
                return;
            }

            WriteInfo($"Secret '{Secret}' was deleted successfully");

            if (Verbose)
            {
                WriteVerbose("Deleted secret:");
                Console.Out.WriteJson(deletedSecret);
            }
        }