msfabricpysdkcore 0.1.7__py3-none-any.whl → 0.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
msfabricpysdkcore/item.py CHANGED
@@ -52,8 +52,11 @@ class Item:
52
52
  self.definition = resp_dict['definition']
53
53
  return resp_dict
54
54
 
55
+ def list_connections(self):
56
+ """List connections of an item in a workspace"""
57
+ return self.core_client.list_item_connections(workspace_id=self.workspace_id, item_id=self.id)
55
58
 
56
- def update(self, display_name = None, description = None, type = None, return_item="Default"):
59
+ def update(self, display_name = None, description = None, type = None, return_item=False):
57
60
  """Update the item"""
58
61
 
59
62
  resp_dict = self.core_client.update_item(workspace_id=self.workspace_id, item_id=self.id,
@@ -91,6 +94,8 @@ class Item:
91
94
  return self.core_client.get_shortcut(workspace_id=self.workspace_id, item_id=self.id,
92
95
  path=path, name=name)
93
96
 
97
+ def list_shortcuts(self, parent_path = None):
98
+ return self.core_client.list_shortcuts(workspace_id=self.workspace_id, item_id=self.id, parent_path=parent_path)
94
99
 
95
100
  # Job Scheduler
96
101
 
@@ -98,15 +103,49 @@ class Item:
98
103
  """Cancel a job instance ofjob the item"""
99
104
  return self.core_client.cancel_item_job_instance(workspace_id=self.workspace_id, item_id=self.id,
100
105
  job_instance_id=job_instance_id)
101
-
106
+
107
+ def create_item_schedule(self, job_type, configuration, enabled):
108
+ """Create a schedule for the job instance"""
109
+ return self.core_client.create_item_schedule(workspace_id=self.workspace_id,
110
+ item_id=self.id,
111
+ job_type=job_type,
112
+ configuration=configuration,
113
+ enabled=enabled)
114
+
102
115
  def get_item_job_instance(self, job_instance_id):
103
116
  """Get the job instance of the item"""
104
117
  return self.core_client.get_item_job_instance(workspace_id=self.workspace_id, item_id=self.id,
105
118
  job_instance_id=job_instance_id)
119
+ def get_item_schedule(self, job_type, schedule_id):
120
+ """Get the schedule for the job instance"""
121
+ return self.core_client.get_item_schedule(workspace_id=self.workspace_id,
122
+ item_id=self.id,
123
+ job_type=job_type,
124
+ schedule_id=schedule_id)
125
+
126
+ def list_item_job_instances(self):
127
+ """List all job instances for the job instance"""
128
+ return self.core_client.list_item_job_instances(workspace_id=self.workspace_id,
129
+ item_id=self.id)
130
+
131
+ def list_item_schedules(self, job_type):
132
+ """List all schedules for the job instance"""
133
+ return self.core_client.list_item_schedules(workspace_id=self.workspace_id,
134
+ item_id=self.id,
135
+ job_type=job_type)
106
136
 
107
137
  def run_on_demand_item_job(self, job_type, execution_data = None):
108
138
  return self.core_client.run_on_demand_item_job(workspace_id=self.workspace_id, item_id=self.id,
109
139
  job_type=job_type, execution_data=execution_data)
140
+
141
+ def update_item_schedule(self, job_type, schedule_id, configuration, enabled):
142
+ """Update the schedule for the job instance"""
143
+ return self.core_client.update_item_schedule(workspace_id=self.workspace_id,
144
+ item_id=self.id,
145
+ job_type=job_type,
146
+ schedule_id=schedule_id,
147
+ configuration=configuration,
148
+ enabled=enabled)
110
149
 
111
150
 
112
151
  # External Data Shares
@@ -51,4 +51,5 @@ class JobInstance:
51
51
  """Cancel the job instance"""
52
52
  return self.core_client.cancel_item_job_instance(workspace_id=self.workspace_id,
53
53
  item_id=self.item_id,
54
- job_instance_id=self.id)
54
+ job_instance_id=self.id)
55
+
@@ -40,9 +40,7 @@ class SparkJobDefinition(Item):
40
40
  definition=item_dict.get('definition', None), description=item_dict.get('description', ""), core_client=core_client)
41
41
 
42
42
  def get_definition(self, format=None):
43
- resp_dict = self.core_client.get_spark_job_definition_definition(self.workspace_id, self.id, format=format)
44
- self.definition = resp_dict['definition']
45
- return resp_dict
43
+ return super().get_definition(type="sparkJobDefinitions", format=format)
46
44
 
47
45
  def update_definition(self, definition):
48
46
  return self.core_client.update_spark_job_definition_definition(self.workspace_id, self.id, definition)
@@ -62,6 +60,25 @@ class Warehouse(Item):
62
60
  properties=item_dict.get('properties', None),
63
61
  definition=item_dict.get('definition', None), description=item_dict.get('description', ""), core_client=core_client)
64
62
 
63
+ class KQLDashboard(Item):
64
+ """Class to represent a kql dashboard in Microsoft Fabric"""
65
+
66
+ def __init__(self, id, display_name, type, workspace_id, core_client, properties = None, definition=None, description=""):
67
+ super().__init__(id, display_name, type, workspace_id, core_client, properties, definition, description)
68
+
69
+ def from_dict(item_dict, core_client):
70
+ return KQLDashboard(id=item_dict['id'], display_name=item_dict['displayName'], type=item_dict['type'], workspace_id=item_dict['workspaceId'],
71
+ properties=item_dict.get('properties', None),
72
+ definition=item_dict.get('definition', None), description=item_dict.get('description', ""), core_client=core_client)
73
+
74
+ def get_definition(self, format=None):
75
+ """Method to get the definition of the kql dashboard"""
76
+ return super().get_definition(type="kqlDashboards", format=format)
77
+
78
+ def update_definition(self, definition):
79
+ """Method to update the definition of the kql dashboard"""
80
+ return self.core_client.update_item_definition(self.workspace_id, self.id, definition, type="kqlDashboards")
81
+
65
82
  class KQLDatabase(Item):
66
83
  """Class to represent a kql database in Microsoft Fabric"""
67
84
 
@@ -83,6 +100,15 @@ class KQLQueryset(Item):
83
100
  return KQLQueryset(id=item_dict['id'], display_name=item_dict['displayName'], type=item_dict['type'], workspace_id=item_dict['workspaceId'],
84
101
  properties=item_dict.get('properties', None),
85
102
  definition=item_dict.get('definition', None), description=item_dict.get('description', ""), core_client=core_client)
103
+
104
+ def get_definition(self, format=None):
105
+ """Method to get the definition of the kql queryset"""
106
+ return super().get_definition(type="kqlQuerysets", format=format)
107
+
108
+ def update_definition(self, definition, update_metadata=None):
109
+ """Method to update the definition of the kql queryset"""
110
+ return self.core_client.update_item_definition(self.workspace_id, self.id, definition, type="kqlQuerysets",
111
+ update_metadata=update_metadata)
86
112
 
87
113
  class Eventstream(Item):
88
114
  """Class to represent a eventstream in Microsoft Fabric"""
@@ -94,7 +120,41 @@ class Eventstream(Item):
94
120
  return Eventstream(id=item_dict['id'], display_name=item_dict['displayName'], type=item_dict['type'], workspace_id=item_dict['workspaceId'],
95
121
  properties=item_dict.get('properties', None),
96
122
  definition=item_dict.get('definition', None), description=item_dict.get('description', ""), core_client=core_client)
123
+
124
+ class MirroredDatabase(Item):
125
+ """Class to represent a mirrored database in Microsoft Fabric"""
126
+
127
+ def __init__(self, id, display_name, type, workspace_id, core_client, properties = None, definition=None, description=""):
128
+ super().__init__(id, display_name, type, workspace_id, core_client, properties, definition, description)
129
+
130
+ def from_dict(item_dict, core_client):
131
+ return MirroredDatabase(id=item_dict['id'], display_name=item_dict['displayName'], type=item_dict['type'], workspace_id=item_dict['workspaceId'],
132
+ properties=item_dict.get('properties', None),
133
+ definition=item_dict.get('definition', None), description=item_dict.get('description', ""), core_client=core_client)
97
134
 
135
+ def get_definition(self):
136
+ """Method to get the definition of the mirrored database"""
137
+ return super().get_definition(type="mirroredDatabases")
138
+
139
+ def update_definition(self, definition):
140
+ """Method to update the definition of the mirrored database"""
141
+ return self.core_client.update_item_definition(self.workspace_id, self.id, definition, type="mirroredDatabases")
142
+
143
+ def get_mirrored_database_definition(self, mirrored_database_id):
144
+ return self.core_client.get_mirrored_database_definition(workspace_id=self.id,
145
+ mirrored_database_id=mirrored_database_id)
146
+ def get_mirroring_status(self):
147
+ return self.core_client.get_mirroring_status(workspace_id=self.workspace_id, mirrored_database_id=self.id)
148
+
149
+ def get_tables_mirroring_status(self):
150
+ return self.core_client.get_tables_mirroring_status(workspace_id=self.workspace_id, mirrored_database_id=self.id)
151
+
152
+ def start_mirroring(self):
153
+ return self.core_client.start_mirroring(workspace_id=self.workspace_id, mirrored_database_id=self.id)
154
+
155
+ def stop_mirroring(self):
156
+ return self.core_client.stop_mirroring(workspace_id=self.workspace_id, mirrored_database_id=self.id)
157
+
98
158
  class MLExperiment(Item):
99
159
  """Class to represent a ml experiment in Microsoft Fabric"""
100
160
 
@@ -130,9 +190,7 @@ class Notebook(Item):
130
190
 
131
191
  def get_definition(self, format=None):
132
192
  """Method to get the definition of the notebook"""
133
- definition = self.core_client.get_item_definition(self.workspace_id, self.id, type="notebooks", format=format)
134
- self.definition = definition
135
- return definition
193
+ return super().get_definition(type="notebooks", format=format)
136
194
 
137
195
  def update_definition(self, definition):
138
196
  """Method to update the definition of the notebook"""
@@ -151,8 +209,7 @@ class Report(Item):
151
209
 
152
210
  def get_definition(self, type=None, format=None):
153
211
  """Method to get the definition of the report"""
154
- self.definition = self.core_client.get_item_definition(self.workspace_id, self.id, type="reports", format=format)
155
- return self.definition
212
+ return super().get_definition(type="reports", format=format)
156
213
 
157
214
  def update_definition(self, definition):
158
215
  """Method to update the definition of the report"""
@@ -171,8 +228,7 @@ class SemanticModel(Item):
171
228
 
172
229
  def get_definition(self, format=None):
173
230
  """Method to get the definition of the semantic model"""
174
- self.definition = self.core_client.get_item_definition(self.workspace_id, self.id, type="semanticModels", format=format)
175
- return self.definition
231
+ return super().get_definition(type="semanticModels", format=format)
176
232
 
177
233
  def update_definition(self, definition):
178
234
  """Method to update the definition of the semantic model"""
@@ -201,11 +201,15 @@ class Workspace:
201
201
  return self.core_client.list_items(workspace_id=self.id, with_properties=with_properties,
202
202
  type=type)
203
203
 
204
+ def list_item_connections(self, item_id):
205
+ """List connections of an item in a workspace"""
206
+ return self.core_client.list_item_connections(workspace_id=self.id, item_id=item_id)
207
+
204
208
  def get_item_definition(self, item_id, type = None, format = None):
205
209
  """Get the definition of an item from a workspace"""
206
210
  return self.core_client.get_item_definition(workspace_id=self.id, item_id=item_id, type=type, format=format)
207
211
 
208
- def update_item(self, item_id, display_name = None, description = None, return_item="Default"):
212
+ def update_item(self, item_id, display_name = None, description = None, return_item=False):
209
213
  """Update an item in a workspace"""
210
214
  return self.core_client.update_item(workspace_id=self.id,
211
215
  item_id=item_id, display_name=display_name, description=description,
@@ -226,19 +230,37 @@ class Workspace:
226
230
  def get_shortcut(self, item_id, path, name):
227
231
  return self.core_client.get_shortcut(self.id, item_id, path=path, name=name)
228
232
 
233
+ def list_shortcuts(self, item_id, parent_path = None):
234
+ return self.core_client.list_shortcuts(self.id, item_id, parent_path=parent_path)
229
235
 
230
236
  def cancel_item_job_instance(self, item_id, job_instance_id):
231
237
  return self.core_client.cancel_item_job_instance(workspace_id=self.id, item_id=item_id,
232
238
  job_instance_id=job_instance_id)
233
239
 
240
+ def create_item_schedule(self, item_id, job_type, configuration, enabled):
241
+ return self.core_client.create_item_schedule(workspace_id=self.id, item_id=item_id, job_type=job_type,
242
+ configuration=configuration, enabled=enabled)
243
+
234
244
  def get_item_job_instance(self, item_id, job_instance_id):
235
245
  return self.core_client.get_item_job_instance(workspace_id=self.id, item_id=item_id,
236
246
  job_instance_id=job_instance_id)
237
247
 
248
+ def get_item_schedule(self, item_id, job_type, schedule_id):
249
+ return self.core_client.get_item_schedule(workspace_id=self.id, item_id=item_id, job_type=job_type, schedule_id=schedule_id)
250
+
251
+ def list_item_job_instances(self, item_id):
252
+ return self.core_client.list_item_job_instances(workspace_id=self.id, item_id=item_id)
253
+
254
+ def list_item_schedules(self, item_id, job_type):
255
+ return self.core_client.list_item_schedules(workspace_id=self.id, item_id=item_id, job_type=job_type)
256
+
238
257
  def run_on_demand_item_job(self, item_id, job_type, execution_data = None):
239
258
  return self.core_client.run_on_demand_item_job(workspace_id=self.id, item_id=item_id,
240
259
  job_type=job_type, execution_data=execution_data)
241
260
 
261
+ def update_item_schedule(self, item_id, job_type, schedule_id, configuration, enabled):
262
+ return self.core_client.update_item_schedule(workspace_id=self.id, item_id=item_id, job_type=job_type,
263
+ schedule_id=schedule_id, configuration=configuration, enabled=enabled)
242
264
 
243
265
 
244
266
  def commit_to_git(self, mode, comment=None, items=None, workspace_head=None):
@@ -258,6 +280,9 @@ class Workspace:
258
280
  def git_get_connection(self):
259
281
  return self.core_client.git_get_connection(workspace_id=self.id)
260
282
 
283
+ def get_my_git_credentials(self):
284
+ return self.core_client.get_my_git_credentials(workspace_id=self.id)
285
+
261
286
  def git_get_status(self):
262
287
  return self.core_client.git_get_status(workspace_id=self.id)
263
288
 
@@ -266,7 +291,28 @@ class Workspace:
266
291
  conflict_resolution=conflict_resolution,
267
292
  options=options, workspace_head=workspace_head)
268
293
 
294
+ def update_my_git_credentials(self, git_credentials):
295
+ return self.core_client.update_my_git_credentials(workspace_id=self.id, git_credentials=git_credentials)
269
296
 
297
+ # Managed Private Endpoints:
298
+
299
+ def create_workspace_managed_private_endpoint(self, name, target_private_link_resource_id,
300
+ target_subresource_type, request_message = None):
301
+ return self.core_client.create_workspace_managed_private_endpoint(workspace_id=self.id, name=name,
302
+ target_private_link_resource_id=target_private_link_resource_id,
303
+ target_subresource_type=target_subresource_type,
304
+ request_message=request_message)
305
+
306
+ def delete_workspace_managed_private_endpoint(self, managed_private_endpoint_id):
307
+ return self.core_client.delete_workspace_managed_private_endpoint(workspace_id=self.id,
308
+ managed_private_endpoint_id=managed_private_endpoint_id)
309
+
310
+ def get_workspace_managed_private_endpoint(self, managed_private_endpoint_id):
311
+ return self.core_client.get_workspace_managed_private_endpoint(workspace_id=self.id,
312
+ managed_private_endpoint_id=managed_private_endpoint_id)
313
+
314
+ def list_workspace_managed_private_endpoints(self):
315
+ return self.core_client.list_workspace_managed_private_endpoints(workspace_id=self.id)
270
316
 
271
317
  # One Lake Data Access Security
272
318
 
@@ -288,10 +334,7 @@ class Workspace:
288
334
 
289
335
  def list_datamarts(self):
290
336
  return self.core_client.list_datamarts(workspace_id=self.id)
291
-
292
- def list_paginated_reports(self):
293
- return self.core_client.list_paginated_reports(workspace_id=self.id)
294
-
337
+
295
338
  def list_sql_endpoints(self):
296
339
  return self.core_client.list_sql_endpoints(workspace_id=self.id)
297
340
 
@@ -428,8 +471,41 @@ class Workspace:
428
471
  return self.core_client.update_eventstream(workspace_id=self.id, eventstream_id=eventstream_id,
429
472
  display_name=display_name, description=description)
430
473
 
431
- # kqlDatabases
474
+ # kqlDashboards
475
+
476
+ def create_kql_dashboard(self, display_name, description = None):
477
+ """Create a kql dashboard in a workspace"""
478
+ return self.core_client.create_kql_dashboard(workspace_id=self.id, display_name=display_name, description=description)
479
+
480
+ def delete_kql_dashboard(self, kql_dashboard_id):
481
+ """Delete a kql dashboard from a workspace"""
482
+ return self.core_client.delete_kql_dashboard(workspace_id=self.id, kql_dashboard_id=kql_dashboard_id)
483
+
484
+ def get_kql_dashboard(self, kql_dashboard_id = None, kql_dashboard_name = None):
485
+ """Get a kql dashboard from a workspace"""
486
+ return self.core_client.get_kql_dashboard(workspace_id=self.id, kql_dashboard_id=kql_dashboard_id,
487
+ kql_dashboard_name=kql_dashboard_name)
488
+
489
+ def get_kql_dashboard_definition(self, kql_dashboard_id, format = None):
490
+ """Get the definition of a kql dashboard from a workspace"""
491
+ return self.core_client.get_kql_dashboard_definition(workspace_id=self.id, kql_dashboard_id=kql_dashboard_id, format=format)
492
+
493
+ def list_kql_dashboards(self, with_properties = False):
494
+ """List kql dashboards in a workspace"""
495
+ return self.core_client.list_kql_dashboards(workspace_id=self.id, with_properties=with_properties)
496
+
497
+ def update_kql_dashboard(self, kql_dashboard_id, display_name = None, description = None):
498
+ """Update a kql dashboard in a workspace"""
499
+ return self.core_client.update_kql_dashboard(workspace_id=self.id, kql_dashboard_id=kql_dashboard_id,
500
+ display_name=display_name, description=description)
501
+
502
+ def update_kql_dashboard_definition(self, kql_dashboard_id, definition, update_metadata = None):
503
+ """Update the definition of a kql dashboard in a workspace"""
504
+ return self.core_client.update_kql_dashboard_definition(workspace_id=self.id, kql_dashboard_id=kql_dashboard_id,
505
+ definition=definition, update_metadata=update_metadata)
506
+
432
507
 
508
+ # kqlDatabases
433
509
 
434
510
  def create_kql_database(self, creation_payload, display_name, description = None, ):
435
511
  """Create a kql database in a workspace"""
@@ -456,6 +532,11 @@ class Workspace:
456
532
 
457
533
  # kqlQuerysets
458
534
 
535
+ def create_kql_queryset(self, display_name, description = None, definition = None):
536
+ """Create a kql queryset in a workspace"""
537
+ return self.core_client.create_kql_queryset(workspace_id=self.id, display_name=display_name, description=description,
538
+ definition=definition)
539
+
459
540
  def delete_kql_queryset(self, kql_queryset_id):
460
541
  """Delete a kql queryset from a workspace"""
461
542
  return self.core_client.delete_kql_queryset(workspace_id=self.id, kql_queryset_id=kql_queryset_id)
@@ -464,6 +545,10 @@ class Workspace:
464
545
  """Get a kql queryset from a workspace"""
465
546
  return self.core_client.get_kql_queryset(self.id, kql_queryset_id, kql_queryset_name)
466
547
 
548
+ def get_kql_queryset_definition(self, kql_queryset_id, format = None):
549
+ """Get the definition of a kql queryset from a workspace"""
550
+ return self.core_client.get_kql_queryset_definition(workspace_id=self.id, kql_queryset_id=kql_queryset_id, format=format)
551
+
467
552
  def list_kql_querysets(self, with_properties = False):
468
553
  """List kql querysets in a workspace"""
469
554
  return self.core_client.list_kql_querysets(workspace_id=self.id, with_properties=with_properties)
@@ -472,6 +557,11 @@ class Workspace:
472
557
  """Update a kql queryset in a workspace"""
473
558
  return self.core_client.update_kql_queryset(workspace_id=self.id, kql_queryset_id=kql_queryset_id,
474
559
  display_name=display_name, description=description)
560
+
561
+ def update_kql_queryset_definition(self, kql_queryset_id, definition, update_metadata = None):
562
+ """Update the definition of a kql queryset in a workspace"""
563
+ return self.core_client.update_kql_queryset_definition(workspace_id=self.id, kql_queryset_id=kql_queryset_id,
564
+ definition=definition, update_metadata=update_metadata)
475
565
 
476
566
  # lakehouses
477
567
  def run_on_demand_table_maintenance(self, lakehouse_id, execution_data,
@@ -515,6 +605,45 @@ class Workspace:
515
605
  file_extension=file_extension, format_options=format_options,
516
606
  mode=mode, recursive=recursive, wait_for_completion=wait_for_completion)
517
607
 
608
+ # mirroredDatabases
609
+
610
+ def create_mirrored_database(self, display_name, description = None, definition = None):
611
+ return self.core_client.create_mirrored_database(workspace_id=self.id, display_name=display_name, description=description,
612
+ definition=definition)
613
+
614
+ def delete_mirrored_database(self, mirrored_database_id):
615
+ return self.core_client.delete_mirrored_database(workspace_id=self.id, mirrored_database_id=mirrored_database_id)
616
+
617
+ def get_mirrored_database(self, mirrored_database_id = None, mirrored_database_name = None):
618
+ return self.core_client.get_mirrored_database(workspace_id=self.id, mirrored_database_id=mirrored_database_id,
619
+ mirrored_database_name=mirrored_database_name)
620
+
621
+ def get_mirrored_database_definition(self, mirrored_database_id):
622
+ return self.core_client.get_mirrored_database_definition(workspace_id=self.id,
623
+ mirrored_database_id=mirrored_database_id)
624
+
625
+ def list_mirrored_databases(self, with_properties = False):
626
+ return self.core_client.list_mirrored_databases(workspace_id=self.id, with_properties=with_properties)
627
+
628
+ def update_mirrored_database(self, mirrored_database_id, display_name = None, description = None, return_item = False):
629
+ return self.core_client.update_mirrored_database(workspace_id=self.id, mirrored_database_id=mirrored_database_id,
630
+ display_name=display_name, description=description, return_item=return_item)
631
+
632
+ def update_mirrored_database_definition(self, mirrored_database_id, definition):
633
+ return self.core_client.update_mirrored_database_definition(workspace_id=self.id, mirrored_database_id=mirrored_database_id,
634
+ definition=definition)
635
+
636
+ def get_mirroring_status(self, mirrored_database_id):
637
+ return self.core_client.get_mirroring_status(workspace_id=self.id, mirrored_database_id=mirrored_database_id)
638
+
639
+ def get_tables_mirroring_status(self, mirrored_database_id):
640
+ return self.core_client.get_tables_mirroring_status(workspace_id=self.id, mirrored_database_id=mirrored_database_id)
641
+
642
+ def start_mirroring(self, mirrored_database_id):
643
+ return self.core_client.start_mirroring(workspace_id=self.id, mirrored_database_id=mirrored_database_id)
644
+
645
+ def stop_mirroring(self, mirrored_database_id):
646
+ return self.core_client.stop_mirroring(workspace_id=self.id, mirrored_database_id=mirrored_database_id)
518
647
 
519
648
  # mlExperiments
520
649
 
@@ -591,6 +720,15 @@ class Workspace:
591
720
  """Update the definition of a notebook in a workspace"""
592
721
  return self.core_client.update_notebook_definition(workspace_id=self.id, notebook_id=notebook_id, definition=definition)
593
722
 
723
+ # paginated reports
724
+
725
+ def list_paginated_reports(self):
726
+ return self.core_client.list_paginated_reports(workspace_id=self.id)
727
+
728
+ def update_paginated_report(self, paginated_report_id, display_name = None, description = None):
729
+ return self.core_client.update_paginated_report(workspace_id=self.id, paginated_report_id=paginated_report_id,
730
+ display_name=display_name, description=description)
731
+
594
732
  # reports
595
733
 
596
734
  def create_report(self, display_name, definition = None, description = None):
@@ -638,11 +776,10 @@ class Workspace:
638
776
  """Delete a semantic model from a workspace"""
639
777
  return self.core_client.delete_semantic_model(workspace_id=self.id, semantic_model_id=semantic_model_id)
640
778
 
641
- # def update_semantic_model(self, semantic_model_id, display_name = None, description = None):
642
- # """Update a semantic model in a workspace"""
643
- # return self.get_item(item_id=semantic_model_id).update(display_name=display_name,
644
- # description=description,
645
- # type="semanticModels")
779
+ def update_semantic_model(self, semantic_model_id, display_name = None, description = None):
780
+ """Update a semantic model in a workspace"""
781
+ return self.core_client.update_semantic_model(workspace_id=self.id, semantic_model_id=semantic_model_id,
782
+ display_name=display_name, description=description)
646
783
 
647
784
  def get_semantic_model_definition(self, semantic_model_id, format = None):
648
785
  """Get the definition of a semantic model from a workspace"""