@@ -161,6 +161,23 @@ def infer(args):
161
161
print (group )
162
162
163
163
164
+ def add_runner (args ):
165
+ runner_json = rfapi .add_runner (args .api_key , args .security_level , args .cloud_provider , args .machine_type , args .runner_name , args .inference_version )
166
+ print (json .dumps (runner_json , indent = 2 ))
167
+
168
+ def get_runner (args ):
169
+ runner_json = rfapi .get_runner (args .api_key , args .runner_id )
170
+ print (json .dumps (runner_json , indent = 2 ))
171
+
172
+ def list_runner (args ):
173
+ runner_json = rfapi .list_runner (args .vapi_key )
174
+ print (json .dumps (runner_json , indent = 2 ))
175
+
176
+ def delete_runner (args ):
177
+ runner_json = rfapi .delete_runner (args .api_key , args .runner_id )
178
+ print (json .dumps (runner_json , indent = 2 ))
179
+
180
+
164
181
def _argparser ():
165
182
parser = argparse .ArgumentParser (description = "Welcome to the roboflow CLI: computer vision at your fingertips 🪄" )
166
183
subparsers = parser .add_subparsers (title = "subcommands" )
@@ -173,6 +190,7 @@ def _argparser():
173
190
_add_workspaces_parser (subparsers )
174
191
_add_upload_model_parser (subparsers )
175
192
_add_get_workspace_project_version_parser (subparsers )
193
+ _add_runner_parser (subparsers )
176
194
177
195
return parser
178
196
@@ -458,6 +476,37 @@ def _add_login_parser(subparsers):
458
476
login_parser .set_defaults (func = login )
459
477
460
478
479
+ def _add_runner_parser (subparsers ):
480
+ runner_parser = subparsers .add_parser (
481
+ "runner" ,
482
+ help = "runner related commands. type 'roboflow runner' to see detailed command help" ,
483
+ )
484
+ runner_subparsers = runner_parser .add_subparsers (title = "runner subcommands" )
485
+ runner_add_parser = runner_subparsers .add_parser ("add" , help = "create a new runner" )
486
+ runner_get_parser = runner_subparsers .add_parser ("get" , help = "show detailed info for a runner" )
487
+ runner_list_parser = runner_subparsers .add_parser ("list" , help = "list runners in a workspace" )
488
+ runner_delete_parser = runner_subparsers .add_parser ("delete" , help = "delete a runner" )
489
+
490
+ runner_add_parser .set_defaults (func = add_runner )
491
+ runner_add_parser .add_argument ("api_key" , help = "api key" )
492
+ runner_add_parser .add_argument ("security_level" , help = "security level (protected)" , default = "protected" )
493
+ runner_add_parser .add_argument ("cloud_provider" , help = "cloud provider (gcp)" , default = "gcp" )
494
+ runner_add_parser .add_argument ("machine_type" , help = "machine type (n1-standard-4-cpu, g2-standard-8-cpu)" , default = "n1-standard-4-cpu" )
495
+ runner_add_parser .add_argument ("runner_name" , help = "runner name" )
496
+ runner_add_parser .add_argument ("inference_version" , help = "inference server version (docker image tag)" , default = "latest" )
497
+
498
+ runner_get_parser .set_defaults (func = get_runner )
499
+ runner_get_parser .add_argument ("api_key" , help = "api key" )
500
+ runner_get_parser .add_argument ("runner_id" , help = "runner id" )
501
+
502
+ runner_list_parser .set_defaults (func = list_runner )
503
+ runner_list_parser .add_argument ("api_key" , help = "api key" )
504
+
505
+ runner_delete_parser .set_defaults (func = delete_runner )
506
+ runner_delete_parser .add_argument ("api_key" , help = "api key" )
507
+ runner_delete_parser .add_argument ("runner_id" , help = "runner id" )
508
+
509
+
461
510
def main ():
462
511
parser = _argparser ()
463
512
args = parser .parse_args ()
0 commit comments