Blob Blame History Raw
From 5754f00a924bd74079fbf8dc386437ef671547b0 Mon Sep 17 00:00:00 2001
From: Martin Babinsky <mbabinsk@redhat.com>
Date: Tue, 12 Jul 2016 13:44:49 +0200
Subject: [PATCH] vault-add: set the default vault type on the client side if
 none was given

`vault-add` commands does much processing depending on the vault type even
before the request is forwarded to remote server. Since default values for
parameters are now filled only on server side, the client-side logic would
fail if the vault type was not explicitly given. In this case we have to
retrieve and use the default vault type from schema.

https://fedorahosted.org/freeipa/ticket/6047

Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
---
 ipaclient/plugins/vault.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ipaclient/plugins/vault.py b/ipaclient/plugins/vault.py
index bf0242fc4290bb94f29faf9c787dd7454a8921bf..a3ce6fecbfd38b342f826d8d27940d991d821e90 100644
--- a/ipaclient/plugins/vault.py
+++ b/ipaclient/plugins/vault.py
@@ -221,6 +221,11 @@ class vault_add(Local):
     def forward(self, *args, **options):
 
         vault_type = options.get('ipavaulttype')
+
+        if vault_type is None:
+            internal_cmd = self.api.Command.vault_add_internal
+            vault_type = internal_cmd.params.ipavaulttype.default
+
         password = options.get('password')
         password_file = options.get('password_file')
         public_key = options.get('ipavaultpublickey')
-- 
2.4.3