@@ -137,6 +137,44 @@ def delete_catalog_cli(api_client, name, purge):
137137 UnityCatalogApi (api_client ).delete_catalog (name )
138138
139139
140+ @click .command (context_settings = CONTEXT_SETTINGS ,
141+ short_help = 'Get workspace bindings of a catalog.' )
142+ @click .option ('--name' , required = True ,
143+ help = 'Name of the catalog to get bindings for.' )
144+ @debug_option
145+ @profile_option
146+ @eat_exceptions
147+ @provide_api_client
148+ def get_catalog_bindings_cli (api_client , name ):
149+ """
150+ Get workspace bindings of a catalog.
151+ """
152+ catalog_json = UnityCatalogApi (api_client ).get_catalog_bindings (name )
153+ click .echo (mc_pretty_format (catalog_json ))
154+
155+
156+ @click .command (context_settings = CONTEXT_SETTINGS ,
157+ short_help = 'Update workspace bindings of a catalog.' )
158+ @click .option ('--name' , required = True ,
159+ help = 'Name of the catalog to update bindings for.' )
160+ @click .option ('--json-file' , default = None , type = click .Path (),
161+ help = json_file_help (method = 'PATCH' , path = '/workspace-bindings/catalogs/{name}' ))
162+ @click .option ('--json' , default = None , type = JsonClickType (),
163+ help = json_string_help (method = 'PATCH' , path = '/workspace-bindings/catalogs/{name}' ))
164+ @debug_option
165+ @profile_option
166+ @eat_exceptions
167+ @provide_api_client
168+ def update_catalog_bindings_cli (api_client , name , json_file , json ):
169+ """
170+ Update workspace bindings of a catalog.
171+
172+ The public specification for the JSON request is in development.
173+ """
174+ json_cli_base (json_file , json ,
175+ lambda json : UnityCatalogApi (api_client ).update_catalog_bindings (name , json ))
176+
177+
140178@click .group ()
141179def catalogs_group (): # pragma: no cover
142180 pass
@@ -149,11 +187,15 @@ def register_catalog_commands(cmd_group):
149187 cmd_group .add_command (hide (get_catalog_cli ), name = 'get-catalog' )
150188 cmd_group .add_command (hide (update_catalog_cli ), name = 'update-catalog' )
151189 cmd_group .add_command (hide (delete_catalog_cli ), name = 'delete-catalog' )
190+ cmd_group .add_command (hide (get_catalog_bindings_cli ), name = 'get-catalog-bindings' )
191+ cmd_group .add_command (hide (update_catalog_bindings_cli ), name = 'update-catalog-bindings' )
152192
153193 # Register command group.
154194 catalogs_group .add_command (create_catalog_cli , name = 'create' )
155195 catalogs_group .add_command (list_catalogs_cli , name = 'list' )
156196 catalogs_group .add_command (get_catalog_cli , name = 'get' )
157197 catalogs_group .add_command (update_catalog_cli , name = 'update' )
158198 catalogs_group .add_command (delete_catalog_cli , name = 'delete' )
199+ catalogs_group .add_command (get_catalog_bindings_cli , name = 'get-bindings' )
200+ catalogs_group .add_command (update_catalog_bindings_cli , name = 'update-bindings' )
159201 cmd_group .add_command (catalogs_group , name = 'catalogs' )
0 commit comments