@@ -53,6 +53,16 @@ def get_parser(self, prog_name):
5353 metavar = '<project>' ,
5454 help = 'New default project name or ID' ,
5555 )
56+ parser .add_argument (
57+ '--domain' ,
58+ metavar = '<domain>' ,
59+ help = 'New default domain name or ID' ,
60+ )
61+ parser .add_argument (
62+ '--description' ,
63+ metavar = '<description>' ,
64+ help = 'Description for new user' ,
65+ )
5666 enable_group = parser .add_mutually_exclusive_group ()
5767 enable_group .add_argument (
5868 '--enable' ,
@@ -72,17 +82,27 @@ def get_parser(self, prog_name):
7282 def take_action (self , parsed_args ):
7383 self .log .debug ('take_action(%s)' % parsed_args )
7484 identity_client = self .app .client_manager .identity
85+
7586 if parsed_args .project :
7687 project_id = utils .find_resource (
7788 identity_client .projects , parsed_args .project ).id
7889 else :
7990 project_id = None
91+
92+ if parsed_args .domain :
93+ domain_id = utils .find_resource (
94+ identity_client .domains , parsed_args .domain ).id
95+ else :
96+ domain_id = None
97+
8098 user = identity_client .users .create (
8199 parsed_args .name ,
100+ domain_id ,
101+ project_id ,
82102 parsed_args .password ,
83103 parsed_args .email ,
84- project_id = project_id ,
85- enabled = parsed_args .enabled ,
104+ parsed_args . description ,
105+ parsed_args .enabled
86106 )
87107
88108 info = {}
@@ -138,7 +158,8 @@ def get_parser(self, prog_name):
138158 def take_action (self , parsed_args ):
139159 self .log .debug ('take_action(%s)' % parsed_args )
140160 if parsed_args .long :
141- columns = ('ID' , 'Name' , 'Project Id' , 'Email' , 'Enabled' )
161+ columns = ('ID' , 'Name' , 'Project Id' , 'Domain Id' ,
162+ 'Description' , 'Email' , 'Enabled' )
142163 else :
143164 columns = ('ID' , 'Name' )
144165 data = self .app .client_manager .identity .users .list ()
@@ -177,10 +198,20 @@ def get_parser(self, prog_name):
177198 metavar = '<user-email>' ,
178199 help = 'New user email address' ,
179200 )
201+ parser .add_argument (
202+ '--domain' ,
203+ metavar = '<domain>' ,
204+ help = 'New domain name or ID' ,
205+ )
180206 parser .add_argument (
181207 '--project' ,
182208 metavar = '<project>' ,
183- help = 'New default project name or ID' ,
209+ help = 'New project name or ID' ,
210+ )
211+ parser .add_argument (
212+ '--description' ,
213+ metavar = '<description>' ,
214+ help = 'New description' ,
184215 )
185216 enable_group = parser .add_mutually_exclusive_group ()
186217 enable_group .add_argument (
@@ -208,10 +239,16 @@ def take_action(self, parsed_args):
208239 kwargs ['name' ] = parsed_args .name
209240 if parsed_args .email :
210241 kwargs ['email' ] = parsed_args .email
242+ if parsed_args .description :
243+ kwargs ['description' ] = parsed_args .description
211244 if parsed_args .project :
212245 project_id = utils .find_resource (
213246 identity_client .projects , parsed_args .project ).id
214247 kwargs ['projectId' ] = project_id
248+ if parsed_args .domain :
249+ domain_id = utils .find_resource (
250+ identity_client .domains , parsed_args .domain ).id
251+ kwargs ['domainId' ] = domain_id
215252 if 'enabled' in parsed_args :
216253 kwargs ['enabled' ] = parsed_args .enabled
217254
0 commit comments