[Freeipa-devel] Data source-agnostic parameters
Jan Cholasta
jcholast at redhat.com
Mon Aug 6 08:55:05 UTC 2012
Hi,
while thinking about <https://fedorahosted.org/freeipa/ticket/2933>, I
had an idea how to make loading data from files available for all
parameters:
I think we can use URI-like strings in parameter values that the CLI
would interpret and extract the wanted information from them (similar to
what openssl does in the -pass command line option, see PASS PHRASE
ARGUMENTS in openssl(1)).
So, instead of adding a new parameter as a file-accepting alternative to
any existing parameter (i.e. what is suggested in the ticket), the user
would be able to specify the file in a URI-like string:
(use new parameter --sshpubkeyfile)
$ ipa user-mod --sshpubkey="ssh-rsa AAAA ..."
$ ipa user-mod --sshpubkeyfile=.ssh/id_rsa.pub
vs.
(use file URI-like string)
$ ipa user-mod --sshpubkey="ssh-rsa AAAA ..."
$ ipa user-mod --sshpubkey=file:.ssh/id_rsa.pub
and the CLI would take care of reading the file and using its contents
as the parameter value.
This could be extended with additional URI(-like) schemes:
- data:<data> - use <data> as the value (useful for escaping values
that look like URIs, but you don't want them to be treated as such)
- base64:<data> - use the value of base64 decoded <data> (useful for
--delattr on ugly raw binary values)
- fd:<num> - read value from file descriptor <num>
- env:<var> - read value from environment variable <var>
- ask: - always prompt interactively for the value
- default: - use default value, never prompt interactively
Thoughts?
Honza
--
Jan Cholasta
More information about the Freeipa-devel
mailing list