]>
git.proxmox.com Git - pve-access-control.git/blob - PVE/CLI/pveum.pm
1 package PVE
::CLI
::pveum
;
6 use PVE
::RPCEnvironment
;
11 use PVE
::API2
::AccessControl
;
12 use PVE
::CLIFormatter
;
17 use base
qw(PVE::CLIHandler);
19 sub setup_environment
{
20 PVE
::RPCEnvironment-
>setup_default_cli_env();
27 'change_password' => [
28 PVE
::CLIHandler
::get_standard_mapping
('pve-password'),
31 PVE
::CLIHandler
::get_standard_mapping
('pve-password', {
33 # do not accept values given on cmdline
34 return PVE
::PTY
::read_password
('Enter password: ');
40 return $mapping->{$name};
43 my $print_api_result = sub {
44 my ($data, $schema, $options) = @_;
45 PVE
::CLIFormatter
::print_api_result
($data, $schema, undef, $options);
50 add
=> [ 'PVE::API2::User', 'create_user', ['userid'] ],
51 modify
=> [ 'PVE::API2::User', 'update_user', ['userid'] ],
52 delete => [ 'PVE::API2::User', 'delete_user', ['userid'] ],
53 list
=> [ 'PVE::API2::User', 'index', [], {}, $print_api_result, $PVE::RESTHandler
::standard_output_options
],
56 add
=> [ 'PVE::API2::Group', 'create_group', ['groupid'] ],
57 modify
=> [ 'PVE::API2::Group', 'update_group', ['groupid'] ],
58 delete => [ 'PVE::API2::Group', 'delete_group', ['groupid'] ],
59 list
=> [ 'PVE::API2::Group', 'index', [], {}, $print_api_result, $PVE::RESTHandler
::standard_output_options
],
62 add
=> [ 'PVE::API2::Role', 'create_role', ['roleid'] ],
63 modify
=> [ 'PVE::API2::Role', 'update_role', ['roleid'] ],
64 delete => [ 'PVE::API2::Role', 'delete_role', ['roleid'] ],
65 list
=> [ 'PVE::API2::Role', 'index', [], {}, $print_api_result, $PVE::RESTHandler
::standard_output_options
],
68 modify
=> [ 'PVE::API2::ACL', 'update_acl', ['path'], { delete => 0 }],
69 delete => [ 'PVE::API2::ACL', 'update_acl', ['path'], { delete => 1 }],
70 list
=> [ 'PVE::API2::ACL', 'read_acl', [], {}, $print_api_result, $PVE::RESTHandler
::standard_output_options
],
72 ticket
=> [ 'PVE::API2::AccessControl', 'create_ticket', ['username'], undef,
75 print "$res->{ticket}\n";
78 passwd
=> [ 'PVE::API2::AccessControl', 'change_password', ['userid'] ],
80 useradd
=> { alias
=> 'user add' },
81 usermod
=> { alias
=> 'user modify' },
82 userdel
=> { alias
=> 'user delete' },
84 groupadd
=> { alias
=> 'group add' },
85 groupmod
=> { alias
=> 'group modify' },
86 groupdel
=> { alias
=> 'group delete' },
88 roleadd
=> { alias
=> 'role add' },
89 rolemod
=> { alias
=> 'role modify' },
90 roledel
=> { alias
=> 'role delete' },
92 aclmod
=> { alias
=> 'acl modify' },
93 acldel
=> { alias
=> 'acl delete' },