looker-sdk 25.16.0__py3-none-any.whl → 25.20.0__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.
- looker_sdk/sdk/api40/methods.py +171 -10
- looker_sdk/sdk/api40/models.py +384 -69
- looker_sdk/sdk/constants.py +1 -1
- looker_sdk/version.py +1 -1
- {looker_sdk-25.16.0.dist-info → looker_sdk-25.20.0.dist-info}/METADATA +13 -3
- {looker_sdk-25.16.0.dist-info → looker_sdk-25.20.0.dist-info}/RECORD +9 -9
- {looker_sdk-25.16.0.dist-info → looker_sdk-25.20.0.dist-info}/WHEEL +1 -1
- {looker_sdk-25.16.0.dist-info → looker_sdk-25.20.0.dist-info/licenses}/LICENSE.txt +0 -0
- {looker_sdk-25.16.0.dist-info → looker_sdk-25.20.0.dist-info}/top_level.txt +0 -0
looker_sdk/sdk/api40/models.py
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
# SOFTWARE.
|
|
22
22
|
#
|
|
23
23
|
|
|
24
|
-
#
|
|
24
|
+
# 380 API models: 290 Spec, 0 Request, 65 Write, 25 Enum
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
|
|
@@ -367,6 +367,7 @@ class AlertNotifications(model.Model):
|
|
|
367
367
|
threshold_value: The value of the threshold which triggers the alert notification
|
|
368
368
|
ran_at: The time at which the alert query ran
|
|
369
369
|
alert:
|
|
370
|
+
notification_type: The type of notification, 'email' or 'slack'
|
|
370
371
|
"""
|
|
371
372
|
|
|
372
373
|
notification_id: Optional[str] = None
|
|
@@ -377,6 +378,7 @@ class AlertNotifications(model.Model):
|
|
|
377
378
|
threshold_value: Optional[float] = None
|
|
378
379
|
ran_at: Optional[str] = None
|
|
379
380
|
alert: Optional["MobilePayload"] = None
|
|
381
|
+
notification_type: Optional[str] = None
|
|
380
382
|
|
|
381
383
|
def __init__(
|
|
382
384
|
self,
|
|
@@ -388,7 +390,8 @@ class AlertNotifications(model.Model):
|
|
|
388
390
|
field_value: Optional[float] = None,
|
|
389
391
|
threshold_value: Optional[float] = None,
|
|
390
392
|
ran_at: Optional[str] = None,
|
|
391
|
-
alert: Optional["MobilePayload"] = None
|
|
393
|
+
alert: Optional["MobilePayload"] = None,
|
|
394
|
+
notification_type: Optional[str] = None
|
|
392
395
|
):
|
|
393
396
|
self.notification_id = notification_id
|
|
394
397
|
self.alert_condition_id = alert_condition_id
|
|
@@ -398,6 +401,7 @@ class AlertNotifications(model.Model):
|
|
|
398
401
|
self.threshold_value = threshold_value
|
|
399
402
|
self.ran_at = ran_at
|
|
400
403
|
self.alert = alert
|
|
404
|
+
self.notification_type = notification_type
|
|
401
405
|
|
|
402
406
|
|
|
403
407
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -1062,6 +1066,50 @@ class Category(enum.Enum):
|
|
|
1062
1066
|
Category.__new__ = model.safe_enum__new__ # type: ignore
|
|
1063
1067
|
|
|
1064
1068
|
|
|
1069
|
+
@attr.s(auto_attribs=True, init=False)
|
|
1070
|
+
class Certification(model.Model):
|
|
1071
|
+
"""
|
|
1072
|
+
Attributes:
|
|
1073
|
+
certification_status: Certification status: "certified" or "revoked" Valid values are: "certified", "revoked".
|
|
1074
|
+
user_name: Display name of user who certified the content, derived from user_id
|
|
1075
|
+
notes: Certification notes
|
|
1076
|
+
updated_at: Timestamp of certification
|
|
1077
|
+
"""
|
|
1078
|
+
|
|
1079
|
+
certification_status: Optional["CertificationStatus"] = None
|
|
1080
|
+
user_name: Optional[str] = None
|
|
1081
|
+
notes: Optional[str] = None
|
|
1082
|
+
updated_at: Optional[datetime.datetime] = None
|
|
1083
|
+
|
|
1084
|
+
def __init__(
|
|
1085
|
+
self,
|
|
1086
|
+
*,
|
|
1087
|
+
certification_status: Optional["CertificationStatus"] = None,
|
|
1088
|
+
user_name: Optional[str] = None,
|
|
1089
|
+
notes: Optional[str] = None,
|
|
1090
|
+
updated_at: Optional[datetime.datetime] = None
|
|
1091
|
+
):
|
|
1092
|
+
self.certification_status = certification_status
|
|
1093
|
+
self.user_name = user_name
|
|
1094
|
+
self.notes = notes
|
|
1095
|
+
self.updated_at = updated_at
|
|
1096
|
+
|
|
1097
|
+
|
|
1098
|
+
class CertificationStatus(enum.Enum):
|
|
1099
|
+
"""
|
|
1100
|
+
Certification status: "certified" or "revoked" Valid values are: "certified", "revoked". (Enum defined in Certification)
|
|
1101
|
+
|
|
1102
|
+
"""
|
|
1103
|
+
|
|
1104
|
+
certified = "certified"
|
|
1105
|
+
revoked = "revoked"
|
|
1106
|
+
invalid_api_enum_value = "invalid_api_enum_value"
|
|
1107
|
+
|
|
1108
|
+
|
|
1109
|
+
# https://github.com/python/mypy/issues/2427
|
|
1110
|
+
CertificationStatus.__new__ = model.safe_enum__new__ # type: ignore
|
|
1111
|
+
|
|
1112
|
+
|
|
1065
1113
|
@attr.s(auto_attribs=True, init=False)
|
|
1066
1114
|
class CIChangeRequest(model.Model):
|
|
1067
1115
|
"""
|
|
@@ -1120,55 +1168,6 @@ class CIGitState(model.Model):
|
|
|
1120
1168
|
self.target = target
|
|
1121
1169
|
|
|
1122
1170
|
|
|
1123
|
-
@attr.s(auto_attribs=True, init=False)
|
|
1124
|
-
class CIRunResult(model.Model):
|
|
1125
|
-
"""
|
|
1126
|
-
Attributes:
|
|
1127
|
-
sql_result:
|
|
1128
|
-
sql_error:
|
|
1129
|
-
assert_result:
|
|
1130
|
-
assert_error:
|
|
1131
|
-
content_result:
|
|
1132
|
-
content_error:
|
|
1133
|
-
lookml_result:
|
|
1134
|
-
lookml_error:
|
|
1135
|
-
generic_error:
|
|
1136
|
-
"""
|
|
1137
|
-
|
|
1138
|
-
sql_result: Optional["SqlValidatorResult"] = None
|
|
1139
|
-
sql_error: Optional["GenericError"] = None
|
|
1140
|
-
assert_result: Optional["AssertValidatorResult"] = None
|
|
1141
|
-
assert_error: Optional["GenericError"] = None
|
|
1142
|
-
content_result: Optional["ContentValidatorResult"] = None
|
|
1143
|
-
content_error: Optional["GenericError"] = None
|
|
1144
|
-
lookml_result: Optional["LookMLValidatorResult"] = None
|
|
1145
|
-
lookml_error: Optional["GenericError"] = None
|
|
1146
|
-
generic_error: Optional["GenericError"] = None
|
|
1147
|
-
|
|
1148
|
-
def __init__(
|
|
1149
|
-
self,
|
|
1150
|
-
*,
|
|
1151
|
-
sql_result: Optional["SqlValidatorResult"] = None,
|
|
1152
|
-
sql_error: Optional["GenericError"] = None,
|
|
1153
|
-
assert_result: Optional["AssertValidatorResult"] = None,
|
|
1154
|
-
assert_error: Optional["GenericError"] = None,
|
|
1155
|
-
content_result: Optional["ContentValidatorResult"] = None,
|
|
1156
|
-
content_error: Optional["GenericError"] = None,
|
|
1157
|
-
lookml_result: Optional["LookMLValidatorResult"] = None,
|
|
1158
|
-
lookml_error: Optional["GenericError"] = None,
|
|
1159
|
-
generic_error: Optional["GenericError"] = None
|
|
1160
|
-
):
|
|
1161
|
-
self.sql_result = sql_result
|
|
1162
|
-
self.sql_error = sql_error
|
|
1163
|
-
self.assert_result = assert_result
|
|
1164
|
-
self.assert_error = assert_error
|
|
1165
|
-
self.content_result = content_result
|
|
1166
|
-
self.content_error = content_error
|
|
1167
|
-
self.lookml_result = lookml_result
|
|
1168
|
-
self.lookml_error = lookml_error
|
|
1169
|
-
self.generic_error = generic_error
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
1171
|
@attr.s(auto_attribs=True, init=False)
|
|
1173
1172
|
class CIScheduleTrigger(model.Model):
|
|
1174
1173
|
"""
|
|
@@ -1607,6 +1606,7 @@ class ContentSummary(model.Model):
|
|
|
1607
1606
|
group_weighted_score:
|
|
1608
1607
|
suggestion_score:
|
|
1609
1608
|
preferred_viewer: The preferred route for viewing this content (ie: dashboards or dashboards-next)
|
|
1609
|
+
certification_metadata:
|
|
1610
1610
|
"""
|
|
1611
1611
|
|
|
1612
1612
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -1628,6 +1628,7 @@ class ContentSummary(model.Model):
|
|
|
1628
1628
|
group_weighted_score: Optional[float] = None
|
|
1629
1629
|
suggestion_score: Optional[float] = None
|
|
1630
1630
|
preferred_viewer: Optional[str] = None
|
|
1631
|
+
certification_metadata: Optional["Certification"] = None
|
|
1631
1632
|
|
|
1632
1633
|
def __init__(
|
|
1633
1634
|
self,
|
|
@@ -1650,7 +1651,8 @@ class ContentSummary(model.Model):
|
|
|
1650
1651
|
weighted_score: Optional[float] = None,
|
|
1651
1652
|
group_weighted_score: Optional[float] = None,
|
|
1652
1653
|
suggestion_score: Optional[float] = None,
|
|
1653
|
-
preferred_viewer: Optional[str] = None
|
|
1654
|
+
preferred_viewer: Optional[str] = None,
|
|
1655
|
+
certification_metadata: Optional["Certification"] = None
|
|
1654
1656
|
):
|
|
1655
1657
|
self.can = can
|
|
1656
1658
|
self.id = id
|
|
@@ -1671,6 +1673,7 @@ class ContentSummary(model.Model):
|
|
|
1671
1673
|
self.group_weighted_score = group_weighted_score
|
|
1672
1674
|
self.suggestion_score = suggestion_score
|
|
1673
1675
|
self.preferred_viewer = preferred_viewer
|
|
1676
|
+
self.certification_metadata = certification_metadata
|
|
1674
1677
|
|
|
1675
1678
|
|
|
1676
1679
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -1816,6 +1819,7 @@ class ContentValidationDashboardElement(model.Model):
|
|
|
1816
1819
|
type: Type
|
|
1817
1820
|
rich_content_json: JSON with all the properties required for rich editor and buttons elements
|
|
1818
1821
|
extension_id: Extension ID
|
|
1822
|
+
aria_description: Custom ARIA description text
|
|
1819
1823
|
"""
|
|
1820
1824
|
|
|
1821
1825
|
body_text: Optional[str] = None
|
|
@@ -1834,6 +1838,7 @@ class ContentValidationDashboardElement(model.Model):
|
|
|
1834
1838
|
type: Optional[str] = None
|
|
1835
1839
|
rich_content_json: Optional[str] = None
|
|
1836
1840
|
extension_id: Optional[str] = None
|
|
1841
|
+
aria_description: Optional[str] = None
|
|
1837
1842
|
|
|
1838
1843
|
def __init__(
|
|
1839
1844
|
self,
|
|
@@ -1853,7 +1858,8 @@ class ContentValidationDashboardElement(model.Model):
|
|
|
1853
1858
|
title_text: Optional[str] = None,
|
|
1854
1859
|
type: Optional[str] = None,
|
|
1855
1860
|
rich_content_json: Optional[str] = None,
|
|
1856
|
-
extension_id: Optional[str] = None
|
|
1861
|
+
extension_id: Optional[str] = None,
|
|
1862
|
+
aria_description: Optional[str] = None
|
|
1857
1863
|
):
|
|
1858
1864
|
self.body_text = body_text
|
|
1859
1865
|
self.dashboard_id = dashboard_id
|
|
@@ -1871,6 +1877,7 @@ class ContentValidationDashboardElement(model.Model):
|
|
|
1871
1877
|
self.type = type
|
|
1872
1878
|
self.rich_content_json = rich_content_json
|
|
1873
1879
|
self.extension_id = extension_id
|
|
1880
|
+
self.aria_description = aria_description
|
|
1874
1881
|
|
|
1875
1882
|
|
|
1876
1883
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -3270,6 +3277,7 @@ class Dashboard(model.Model):
|
|
|
3270
3277
|
user_id: Id of User
|
|
3271
3278
|
slug: Content Metadata Slug
|
|
3272
3279
|
preferred_viewer: The preferred route for viewing this dashboard (ie: dashboards or dashboards-next)
|
|
3280
|
+
certification_metadata:
|
|
3273
3281
|
alert_sync_with_dashboard_filter_enabled: Enables alerts to keep in sync with dashboard filter changes
|
|
3274
3282
|
background_color: Background color
|
|
3275
3283
|
created_at: Time that the Dashboard was created.
|
|
@@ -3321,6 +3329,7 @@ class Dashboard(model.Model):
|
|
|
3321
3329
|
user_id: Optional[str] = None
|
|
3322
3330
|
slug: Optional[str] = None
|
|
3323
3331
|
preferred_viewer: Optional[str] = None
|
|
3332
|
+
certification_metadata: Optional["Certification"] = None
|
|
3324
3333
|
alert_sync_with_dashboard_filter_enabled: Optional[bool] = None
|
|
3325
3334
|
background_color: Optional[str] = None
|
|
3326
3335
|
created_at: Optional[datetime.datetime] = None
|
|
@@ -3374,6 +3383,7 @@ class Dashboard(model.Model):
|
|
|
3374
3383
|
user_id: Optional[str] = None,
|
|
3375
3384
|
slug: Optional[str] = None,
|
|
3376
3385
|
preferred_viewer: Optional[str] = None,
|
|
3386
|
+
certification_metadata: Optional["Certification"] = None,
|
|
3377
3387
|
alert_sync_with_dashboard_filter_enabled: Optional[bool] = None,
|
|
3378
3388
|
background_color: Optional[str] = None,
|
|
3379
3389
|
created_at: Optional[datetime.datetime] = None,
|
|
@@ -3424,6 +3434,7 @@ class Dashboard(model.Model):
|
|
|
3424
3434
|
self.user_id = user_id
|
|
3425
3435
|
self.slug = slug
|
|
3426
3436
|
self.preferred_viewer = preferred_viewer
|
|
3437
|
+
self.certification_metadata = certification_metadata
|
|
3427
3438
|
self.alert_sync_with_dashboard_filter_enabled = (
|
|
3428
3439
|
alert_sync_with_dashboard_filter_enabled
|
|
3429
3440
|
)
|
|
@@ -3543,6 +3554,7 @@ class DashboardBase(model.Model):
|
|
|
3543
3554
|
user_id: Id of User
|
|
3544
3555
|
slug: Content Metadata Slug
|
|
3545
3556
|
preferred_viewer: The preferred route for viewing this dashboard (ie: dashboards or dashboards-next)
|
|
3557
|
+
certification_metadata:
|
|
3546
3558
|
"""
|
|
3547
3559
|
|
|
3548
3560
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -3561,6 +3573,7 @@ class DashboardBase(model.Model):
|
|
|
3561
3573
|
user_id: Optional[str] = None
|
|
3562
3574
|
slug: Optional[str] = None
|
|
3563
3575
|
preferred_viewer: Optional[str] = None
|
|
3576
|
+
certification_metadata: Optional["Certification"] = None
|
|
3564
3577
|
|
|
3565
3578
|
def __init__(
|
|
3566
3579
|
self,
|
|
@@ -3580,7 +3593,8 @@ class DashboardBase(model.Model):
|
|
|
3580
3593
|
title: Optional[str] = None,
|
|
3581
3594
|
user_id: Optional[str] = None,
|
|
3582
3595
|
slug: Optional[str] = None,
|
|
3583
|
-
preferred_viewer: Optional[str] = None
|
|
3596
|
+
preferred_viewer: Optional[str] = None,
|
|
3597
|
+
certification_metadata: Optional["Certification"] = None
|
|
3584
3598
|
):
|
|
3585
3599
|
self.can = can
|
|
3586
3600
|
self.content_favorite_id = content_favorite_id
|
|
@@ -3598,6 +3612,7 @@ class DashboardBase(model.Model):
|
|
|
3598
3612
|
self.user_id = user_id
|
|
3599
3613
|
self.slug = slug
|
|
3600
3614
|
self.preferred_viewer = preferred_viewer
|
|
3615
|
+
self.certification_metadata = certification_metadata
|
|
3601
3616
|
|
|
3602
3617
|
|
|
3603
3618
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -3608,6 +3623,7 @@ class DashboardElement(model.Model):
|
|
|
3608
3623
|
body_text: Text tile body text
|
|
3609
3624
|
body_text_as_html: Text tile body text as Html
|
|
3610
3625
|
dashboard_id: Id of Dashboard
|
|
3626
|
+
dashboard_layout_id: Id of Dashboard Layout
|
|
3611
3627
|
edit_uri: Relative path of URI of LookML file to edit the dashboard element (LookML dashboard only).
|
|
3612
3628
|
id: Unique Id
|
|
3613
3629
|
look:
|
|
@@ -3634,12 +3650,14 @@ class DashboardElement(model.Model):
|
|
|
3634
3650
|
title_text_as_html: Text tile title text as Html
|
|
3635
3651
|
subtitle_text_as_html: Text tile subtitle text as Html
|
|
3636
3652
|
extension_id: Extension ID
|
|
3653
|
+
aria_description: Custom ARIA description text
|
|
3637
3654
|
"""
|
|
3638
3655
|
|
|
3639
3656
|
can: Optional[MutableMapping[str, bool]] = None
|
|
3640
3657
|
body_text: Optional[str] = None
|
|
3641
3658
|
body_text_as_html: Optional[str] = None
|
|
3642
3659
|
dashboard_id: Optional[str] = None
|
|
3660
|
+
dashboard_layout_id: Optional[str] = None
|
|
3643
3661
|
edit_uri: Optional[str] = None
|
|
3644
3662
|
id: Optional[str] = None
|
|
3645
3663
|
look: Optional["LookWithQuery"] = None
|
|
@@ -3666,6 +3684,7 @@ class DashboardElement(model.Model):
|
|
|
3666
3684
|
title_text_as_html: Optional[str] = None
|
|
3667
3685
|
subtitle_text_as_html: Optional[str] = None
|
|
3668
3686
|
extension_id: Optional[str] = None
|
|
3687
|
+
aria_description: Optional[str] = None
|
|
3669
3688
|
|
|
3670
3689
|
def __init__(
|
|
3671
3690
|
self,
|
|
@@ -3674,6 +3693,7 @@ class DashboardElement(model.Model):
|
|
|
3674
3693
|
body_text: Optional[str] = None,
|
|
3675
3694
|
body_text_as_html: Optional[str] = None,
|
|
3676
3695
|
dashboard_id: Optional[str] = None,
|
|
3696
|
+
dashboard_layout_id: Optional[str] = None,
|
|
3677
3697
|
edit_uri: Optional[str] = None,
|
|
3678
3698
|
id: Optional[str] = None,
|
|
3679
3699
|
look: Optional["LookWithQuery"] = None,
|
|
@@ -3699,12 +3719,14 @@ class DashboardElement(model.Model):
|
|
|
3699
3719
|
rich_content_json: Optional[str] = None,
|
|
3700
3720
|
title_text_as_html: Optional[str] = None,
|
|
3701
3721
|
subtitle_text_as_html: Optional[str] = None,
|
|
3702
|
-
extension_id: Optional[str] = None
|
|
3722
|
+
extension_id: Optional[str] = None,
|
|
3723
|
+
aria_description: Optional[str] = None
|
|
3703
3724
|
):
|
|
3704
3725
|
self.can = can
|
|
3705
3726
|
self.body_text = body_text
|
|
3706
3727
|
self.body_text_as_html = body_text_as_html
|
|
3707
3728
|
self.dashboard_id = dashboard_id
|
|
3729
|
+
self.dashboard_layout_id = dashboard_layout_id
|
|
3708
3730
|
self.edit_uri = edit_uri
|
|
3709
3731
|
self.id = id
|
|
3710
3732
|
self.look = look
|
|
@@ -3731,6 +3753,7 @@ class DashboardElement(model.Model):
|
|
|
3731
3753
|
self.title_text_as_html = title_text_as_html
|
|
3732
3754
|
self.subtitle_text_as_html = subtitle_text_as_html
|
|
3733
3755
|
self.extension_id = extension_id
|
|
3756
|
+
self.aria_description = aria_description
|
|
3734
3757
|
|
|
3735
3758
|
|
|
3736
3759
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -3824,6 +3847,9 @@ class DashboardLayout(model.Model):
|
|
|
3824
3847
|
deleted: Whether or not the dashboard layout is deleted.
|
|
3825
3848
|
dashboard_title: Title extracted from the dashboard this layout represents.
|
|
3826
3849
|
dashboard_layout_components: Components
|
|
3850
|
+
label: Label
|
|
3851
|
+
description: Description
|
|
3852
|
+
order: Order
|
|
3827
3853
|
"""
|
|
3828
3854
|
|
|
3829
3855
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -3836,6 +3862,9 @@ class DashboardLayout(model.Model):
|
|
|
3836
3862
|
deleted: Optional[bool] = None
|
|
3837
3863
|
dashboard_title: Optional[str] = None
|
|
3838
3864
|
dashboard_layout_components: Optional[Sequence["DashboardLayoutComponent"]] = None
|
|
3865
|
+
label: Optional[str] = None
|
|
3866
|
+
description: Optional[str] = None
|
|
3867
|
+
order: Optional[int] = None
|
|
3839
3868
|
|
|
3840
3869
|
def __init__(
|
|
3841
3870
|
self,
|
|
@@ -3851,7 +3880,10 @@ class DashboardLayout(model.Model):
|
|
|
3851
3880
|
dashboard_title: Optional[str] = None,
|
|
3852
3881
|
dashboard_layout_components: Optional[
|
|
3853
3882
|
Sequence["DashboardLayoutComponent"]
|
|
3854
|
-
] = None
|
|
3883
|
+
] = None,
|
|
3884
|
+
label: Optional[str] = None,
|
|
3885
|
+
description: Optional[str] = None,
|
|
3886
|
+
order: Optional[int] = None
|
|
3855
3887
|
):
|
|
3856
3888
|
self.can = can
|
|
3857
3889
|
self.id = id
|
|
@@ -3863,6 +3895,9 @@ class DashboardLayout(model.Model):
|
|
|
3863
3895
|
self.deleted = deleted
|
|
3864
3896
|
self.dashboard_title = dashboard_title
|
|
3865
3897
|
self.dashboard_layout_components = dashboard_layout_components
|
|
3898
|
+
self.label = label
|
|
3899
|
+
self.description = description
|
|
3900
|
+
self.order = order
|
|
3866
3901
|
|
|
3867
3902
|
|
|
3868
3903
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -5416,6 +5451,7 @@ class ExternalOauthApplication(model.Model):
|
|
|
5416
5451
|
client_secret: (Write-Only) The OAuth Client Secret for this application
|
|
5417
5452
|
tenant_id: The OAuth Tenant ID for this application
|
|
5418
5453
|
dialect_name: The database dialect for this application.
|
|
5454
|
+
bi_directional_data_access: Whether this application supports bi-directional data access.
|
|
5419
5455
|
created_at: Creation time for this application
|
|
5420
5456
|
"""
|
|
5421
5457
|
|
|
@@ -5426,6 +5462,7 @@ class ExternalOauthApplication(model.Model):
|
|
|
5426
5462
|
client_secret: Optional[str] = None
|
|
5427
5463
|
tenant_id: Optional[str] = None
|
|
5428
5464
|
dialect_name: Optional[str] = None
|
|
5465
|
+
bi_directional_data_access: Optional[bool] = None
|
|
5429
5466
|
created_at: Optional[datetime.datetime] = None
|
|
5430
5467
|
|
|
5431
5468
|
def __init__(
|
|
@@ -5438,6 +5475,7 @@ class ExternalOauthApplication(model.Model):
|
|
|
5438
5475
|
client_secret: Optional[str] = None,
|
|
5439
5476
|
tenant_id: Optional[str] = None,
|
|
5440
5477
|
dialect_name: Optional[str] = None,
|
|
5478
|
+
bi_directional_data_access: Optional[bool] = None,
|
|
5441
5479
|
created_at: Optional[datetime.datetime] = None
|
|
5442
5480
|
):
|
|
5443
5481
|
self.can = can
|
|
@@ -5447,6 +5485,7 @@ class ExternalOauthApplication(model.Model):
|
|
|
5447
5485
|
self.client_secret = client_secret
|
|
5448
5486
|
self.tenant_id = tenant_id
|
|
5449
5487
|
self.dialect_name = dialect_name
|
|
5488
|
+
self.bi_directional_data_access = bi_directional_data_access
|
|
5450
5489
|
self.created_at = created_at
|
|
5451
5490
|
|
|
5452
5491
|
|
|
@@ -6416,6 +6455,24 @@ class IntegrationHub(model.Model):
|
|
|
6416
6455
|
self.legal_agreement_text = legal_agreement_text
|
|
6417
6456
|
|
|
6418
6457
|
|
|
6458
|
+
@attr.s(auto_attribs=True, init=False)
|
|
6459
|
+
class IntegrationHubHealthResult(model.Model):
|
|
6460
|
+
"""
|
|
6461
|
+
Attributes:
|
|
6462
|
+
success: Whether or not the health check was successful
|
|
6463
|
+
message: A message representing the results of the health check.
|
|
6464
|
+
"""
|
|
6465
|
+
|
|
6466
|
+
success: Optional[bool] = None
|
|
6467
|
+
message: Optional[str] = None
|
|
6468
|
+
|
|
6469
|
+
def __init__(
|
|
6470
|
+
self, *, success: Optional[bool] = None, message: Optional[str] = None
|
|
6471
|
+
):
|
|
6472
|
+
self.success = success
|
|
6473
|
+
self.message = message
|
|
6474
|
+
|
|
6475
|
+
|
|
6419
6476
|
@attr.s(auto_attribs=True, init=False)
|
|
6420
6477
|
class IntegrationParam(model.Model):
|
|
6421
6478
|
"""
|
|
@@ -7393,6 +7450,7 @@ class Look(model.Model):
|
|
|
7393
7450
|
id: Unique Id
|
|
7394
7451
|
title: Look Title
|
|
7395
7452
|
user_id: User Id
|
|
7453
|
+
certification_metadata:
|
|
7396
7454
|
content_favorite_id: Content Favorite Id
|
|
7397
7455
|
created_at: Time that the Look was created.
|
|
7398
7456
|
deleted: Whether or not a look is 'soft' deleted.
|
|
@@ -7426,6 +7484,7 @@ class Look(model.Model):
|
|
|
7426
7484
|
id: Optional[str] = None
|
|
7427
7485
|
title: Optional[str] = None
|
|
7428
7486
|
user_id: Optional[str] = None
|
|
7487
|
+
certification_metadata: Optional["Certification"] = None
|
|
7429
7488
|
content_favorite_id: Optional[str] = None
|
|
7430
7489
|
created_at: Optional[datetime.datetime] = None
|
|
7431
7490
|
deleted: Optional[bool] = None
|
|
@@ -7461,6 +7520,7 @@ class Look(model.Model):
|
|
|
7461
7520
|
id: Optional[str] = None,
|
|
7462
7521
|
title: Optional[str] = None,
|
|
7463
7522
|
user_id: Optional[str] = None,
|
|
7523
|
+
certification_metadata: Optional["Certification"] = None,
|
|
7464
7524
|
content_favorite_id: Optional[str] = None,
|
|
7465
7525
|
created_at: Optional[datetime.datetime] = None,
|
|
7466
7526
|
deleted: Optional[bool] = None,
|
|
@@ -7493,6 +7553,7 @@ class Look(model.Model):
|
|
|
7493
7553
|
self.id = id
|
|
7494
7554
|
self.title = title
|
|
7495
7555
|
self.user_id = user_id
|
|
7556
|
+
self.certification_metadata = certification_metadata
|
|
7496
7557
|
self.content_favorite_id = content_favorite_id
|
|
7497
7558
|
self.created_at = created_at
|
|
7498
7559
|
self.deleted = deleted
|
|
@@ -7530,6 +7591,7 @@ class LookBasic(model.Model):
|
|
|
7530
7591
|
id: Unique Id
|
|
7531
7592
|
title: Look Title
|
|
7532
7593
|
user_id: User Id
|
|
7594
|
+
certification_metadata:
|
|
7533
7595
|
"""
|
|
7534
7596
|
|
|
7535
7597
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -7537,6 +7599,7 @@ class LookBasic(model.Model):
|
|
|
7537
7599
|
id: Optional[str] = None
|
|
7538
7600
|
title: Optional[str] = None
|
|
7539
7601
|
user_id: Optional[str] = None
|
|
7602
|
+
certification_metadata: Optional["Certification"] = None
|
|
7540
7603
|
|
|
7541
7604
|
def __init__(
|
|
7542
7605
|
self,
|
|
@@ -7545,13 +7608,15 @@ class LookBasic(model.Model):
|
|
|
7545
7608
|
content_metadata_id: Optional[str] = None,
|
|
7546
7609
|
id: Optional[str] = None,
|
|
7547
7610
|
title: Optional[str] = None,
|
|
7548
|
-
user_id: Optional[str] = None
|
|
7611
|
+
user_id: Optional[str] = None,
|
|
7612
|
+
certification_metadata: Optional["Certification"] = None
|
|
7549
7613
|
):
|
|
7550
7614
|
self.can = can
|
|
7551
7615
|
self.content_metadata_id = content_metadata_id
|
|
7552
7616
|
self.id = id
|
|
7553
7617
|
self.title = title
|
|
7554
7618
|
self.user_id = user_id
|
|
7619
|
+
self.certification_metadata = certification_metadata
|
|
7555
7620
|
|
|
7556
7621
|
|
|
7557
7622
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -7953,12 +8018,15 @@ class LookmlModelExploreField(model.Model):
|
|
|
7953
8018
|
type: The LookML type of the field.
|
|
7954
8019
|
user_attribute_filter_types: An array of user attribute types that are allowed to be used in filters on this field. Valid values are: "advanced_filter_string", "advanced_filter_number", "advanced_filter_datetime", "string", "number", "datetime", "relative_url", "yesno", "zipcode".
|
|
7955
8020
|
value_format: If specified, the LookML value format string for formatting values of this field.
|
|
8021
|
+
value_format_name: If specified, the name of the value format, as defined in the LookML model.
|
|
7956
8022
|
view: The name of the view this field belongs to.
|
|
7957
8023
|
view_label: The human-readable label of the view the field belongs to.
|
|
7958
8024
|
dynamic: Whether this field was specified in "dynamic_fields" and is not part of the model.
|
|
7959
8025
|
week_start_day: The name of the starting day of the week. Valid values are: "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday".
|
|
7960
8026
|
times_used: The number of times this field has been used in queries
|
|
7961
8027
|
original_view: The name of the view this field is defined in. This will be different than "view" when the view has been joined via a different name using the "from" parameter.
|
|
8028
|
+
datatype: The data_type for a date in lookml
|
|
8029
|
+
convert_tz: Whether time zones should be converted for datetime fields
|
|
7962
8030
|
"""
|
|
7963
8031
|
|
|
7964
8032
|
align: Optional["Align"] = None
|
|
@@ -8016,12 +8084,15 @@ class LookmlModelExploreField(model.Model):
|
|
|
8016
8084
|
type: Optional[str] = None
|
|
8017
8085
|
user_attribute_filter_types: Optional[Sequence["UserAttributeFilterTypes"]] = None
|
|
8018
8086
|
value_format: Optional[str] = None
|
|
8087
|
+
value_format_name: Optional[str] = None
|
|
8019
8088
|
view: Optional[str] = None
|
|
8020
8089
|
view_label: Optional[str] = None
|
|
8021
8090
|
dynamic: Optional[bool] = None
|
|
8022
8091
|
week_start_day: Optional["WeekStartDay"] = None
|
|
8023
8092
|
times_used: Optional[int] = None
|
|
8024
8093
|
original_view: Optional[str] = None
|
|
8094
|
+
datatype: Optional[str] = None
|
|
8095
|
+
convert_tz: Optional[bool] = None
|
|
8025
8096
|
|
|
8026
8097
|
def __init__(
|
|
8027
8098
|
self,
|
|
@@ -8083,12 +8154,15 @@ class LookmlModelExploreField(model.Model):
|
|
|
8083
8154
|
Sequence["UserAttributeFilterTypes"]
|
|
8084
8155
|
] = None,
|
|
8085
8156
|
value_format: Optional[str] = None,
|
|
8157
|
+
value_format_name: Optional[str] = None,
|
|
8086
8158
|
view: Optional[str] = None,
|
|
8087
8159
|
view_label: Optional[str] = None,
|
|
8088
8160
|
dynamic: Optional[bool] = None,
|
|
8089
8161
|
week_start_day: Optional["WeekStartDay"] = None,
|
|
8090
8162
|
times_used: Optional[int] = None,
|
|
8091
|
-
original_view: Optional[str] = None
|
|
8163
|
+
original_view: Optional[str] = None,
|
|
8164
|
+
datatype: Optional[str] = None,
|
|
8165
|
+
convert_tz: Optional[bool] = None
|
|
8092
8166
|
):
|
|
8093
8167
|
self.align = align
|
|
8094
8168
|
self.can_filter = can_filter
|
|
@@ -8143,12 +8217,15 @@ class LookmlModelExploreField(model.Model):
|
|
|
8143
8217
|
self.type = type
|
|
8144
8218
|
self.user_attribute_filter_types = user_attribute_filter_types
|
|
8145
8219
|
self.value_format = value_format
|
|
8220
|
+
self.value_format_name = value_format_name
|
|
8146
8221
|
self.view = view
|
|
8147
8222
|
self.view_label = view_label
|
|
8148
8223
|
self.dynamic = dynamic
|
|
8149
8224
|
self.week_start_day = week_start_day
|
|
8150
8225
|
self.times_used = times_used
|
|
8151
8226
|
self.original_view = original_view
|
|
8227
|
+
self.datatype = datatype
|
|
8228
|
+
self.convert_tz = convert_tz
|
|
8152
8229
|
|
|
8153
8230
|
|
|
8154
8231
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -8693,6 +8770,7 @@ class LookWithDashboards(model.Model):
|
|
|
8693
8770
|
id: Unique Id
|
|
8694
8771
|
title: Look Title
|
|
8695
8772
|
user_id: User Id
|
|
8773
|
+
certification_metadata:
|
|
8696
8774
|
content_favorite_id: Content Favorite Id
|
|
8697
8775
|
created_at: Time that the Look was created.
|
|
8698
8776
|
deleted: Whether or not a look is 'soft' deleted.
|
|
@@ -8727,6 +8805,7 @@ class LookWithDashboards(model.Model):
|
|
|
8727
8805
|
id: Optional[str] = None
|
|
8728
8806
|
title: Optional[str] = None
|
|
8729
8807
|
user_id: Optional[str] = None
|
|
8808
|
+
certification_metadata: Optional["Certification"] = None
|
|
8730
8809
|
content_favorite_id: Optional[str] = None
|
|
8731
8810
|
created_at: Optional[datetime.datetime] = None
|
|
8732
8811
|
deleted: Optional[bool] = None
|
|
@@ -8763,6 +8842,7 @@ class LookWithDashboards(model.Model):
|
|
|
8763
8842
|
id: Optional[str] = None,
|
|
8764
8843
|
title: Optional[str] = None,
|
|
8765
8844
|
user_id: Optional[str] = None,
|
|
8845
|
+
certification_metadata: Optional["Certification"] = None,
|
|
8766
8846
|
content_favorite_id: Optional[str] = None,
|
|
8767
8847
|
created_at: Optional[datetime.datetime] = None,
|
|
8768
8848
|
deleted: Optional[bool] = None,
|
|
@@ -8796,6 +8876,7 @@ class LookWithDashboards(model.Model):
|
|
|
8796
8876
|
self.id = id
|
|
8797
8877
|
self.title = title
|
|
8798
8878
|
self.user_id = user_id
|
|
8879
|
+
self.certification_metadata = certification_metadata
|
|
8799
8880
|
self.content_favorite_id = content_favorite_id
|
|
8800
8881
|
self.created_at = created_at
|
|
8801
8882
|
self.deleted = deleted
|
|
@@ -8834,6 +8915,7 @@ class LookWithQuery(model.Model):
|
|
|
8834
8915
|
id: Unique Id
|
|
8835
8916
|
title: Look Title
|
|
8836
8917
|
user_id: User Id
|
|
8918
|
+
certification_metadata:
|
|
8837
8919
|
content_favorite_id: Content Favorite Id
|
|
8838
8920
|
created_at: Time that the Look was created.
|
|
8839
8921
|
deleted: Whether or not a look is 'soft' deleted.
|
|
@@ -8869,6 +8951,7 @@ class LookWithQuery(model.Model):
|
|
|
8869
8951
|
id: Optional[str] = None
|
|
8870
8952
|
title: Optional[str] = None
|
|
8871
8953
|
user_id: Optional[str] = None
|
|
8954
|
+
certification_metadata: Optional["Certification"] = None
|
|
8872
8955
|
content_favorite_id: Optional[str] = None
|
|
8873
8956
|
created_at: Optional[datetime.datetime] = None
|
|
8874
8957
|
deleted: Optional[bool] = None
|
|
@@ -8906,6 +8989,7 @@ class LookWithQuery(model.Model):
|
|
|
8906
8989
|
id: Optional[str] = None,
|
|
8907
8990
|
title: Optional[str] = None,
|
|
8908
8991
|
user_id: Optional[str] = None,
|
|
8992
|
+
certification_metadata: Optional["Certification"] = None,
|
|
8909
8993
|
content_favorite_id: Optional[str] = None,
|
|
8910
8994
|
created_at: Optional[datetime.datetime] = None,
|
|
8911
8995
|
deleted: Optional[bool] = None,
|
|
@@ -8940,6 +9024,7 @@ class LookWithQuery(model.Model):
|
|
|
8940
9024
|
self.id = id
|
|
8941
9025
|
self.title = title
|
|
8942
9026
|
self.user_id = user_id
|
|
9027
|
+
self.certification_metadata = certification_metadata
|
|
8943
9028
|
self.content_favorite_id = content_favorite_id
|
|
8944
9029
|
self.created_at = created_at
|
|
8945
9030
|
self.deleted = deleted
|
|
@@ -10989,7 +11074,7 @@ class Run(model.Model):
|
|
|
10989
11074
|
status: Optional[str] = None
|
|
10990
11075
|
git_service: Optional[str] = None
|
|
10991
11076
|
git_state: Optional["CIGitState"] = None
|
|
10992
|
-
result: Optional["
|
|
11077
|
+
result: Optional["RunResult"] = None
|
|
10993
11078
|
schedule: Optional["CIScheduleTrigger"] = None
|
|
10994
11079
|
target_branch: Optional[str] = None
|
|
10995
11080
|
title: Optional[str] = None
|
|
@@ -11009,7 +11094,7 @@ class Run(model.Model):
|
|
|
11009
11094
|
status: Optional[str] = None,
|
|
11010
11095
|
git_service: Optional[str] = None,
|
|
11011
11096
|
git_state: Optional["CIGitState"] = None,
|
|
11012
|
-
result: Optional["
|
|
11097
|
+
result: Optional["RunResult"] = None,
|
|
11013
11098
|
schedule: Optional["CIScheduleTrigger"] = None,
|
|
11014
11099
|
target_branch: Optional[str] = None,
|
|
11015
11100
|
title: Optional[str] = None,
|
|
@@ -11137,6 +11222,55 @@ class RunningQueries(model.Model):
|
|
|
11137
11222
|
self.sql_interface_sql = sql_interface_sql
|
|
11138
11223
|
|
|
11139
11224
|
|
|
11225
|
+
@attr.s(auto_attribs=True, init=False)
|
|
11226
|
+
class RunResult(model.Model):
|
|
11227
|
+
"""
|
|
11228
|
+
Attributes:
|
|
11229
|
+
sql_result:
|
|
11230
|
+
sql_error:
|
|
11231
|
+
assert_result:
|
|
11232
|
+
assert_error:
|
|
11233
|
+
content_result:
|
|
11234
|
+
content_error:
|
|
11235
|
+
lookml_result:
|
|
11236
|
+
lookml_error:
|
|
11237
|
+
generic_error:
|
|
11238
|
+
"""
|
|
11239
|
+
|
|
11240
|
+
sql_result: Optional["SqlValidatorResult"] = None
|
|
11241
|
+
sql_error: Optional["GenericError"] = None
|
|
11242
|
+
assert_result: Optional["AssertValidatorResult"] = None
|
|
11243
|
+
assert_error: Optional["GenericError"] = None
|
|
11244
|
+
content_result: Optional["ContentValidatorResult"] = None
|
|
11245
|
+
content_error: Optional["GenericError"] = None
|
|
11246
|
+
lookml_result: Optional["LookMLValidatorResult"] = None
|
|
11247
|
+
lookml_error: Optional["GenericError"] = None
|
|
11248
|
+
generic_error: Optional["GenericError"] = None
|
|
11249
|
+
|
|
11250
|
+
def __init__(
|
|
11251
|
+
self,
|
|
11252
|
+
*,
|
|
11253
|
+
sql_result: Optional["SqlValidatorResult"] = None,
|
|
11254
|
+
sql_error: Optional["GenericError"] = None,
|
|
11255
|
+
assert_result: Optional["AssertValidatorResult"] = None,
|
|
11256
|
+
assert_error: Optional["GenericError"] = None,
|
|
11257
|
+
content_result: Optional["ContentValidatorResult"] = None,
|
|
11258
|
+
content_error: Optional["GenericError"] = None,
|
|
11259
|
+
lookml_result: Optional["LookMLValidatorResult"] = None,
|
|
11260
|
+
lookml_error: Optional["GenericError"] = None,
|
|
11261
|
+
generic_error: Optional["GenericError"] = None
|
|
11262
|
+
):
|
|
11263
|
+
self.sql_result = sql_result
|
|
11264
|
+
self.sql_error = sql_error
|
|
11265
|
+
self.assert_result = assert_result
|
|
11266
|
+
self.assert_error = assert_error
|
|
11267
|
+
self.content_result = content_result
|
|
11268
|
+
self.content_error = content_error
|
|
11269
|
+
self.lookml_result = lookml_result
|
|
11270
|
+
self.lookml_error = lookml_error
|
|
11271
|
+
self.generic_error = generic_error
|
|
11272
|
+
|
|
11273
|
+
|
|
11140
11274
|
@attr.s(auto_attribs=True, init=False)
|
|
11141
11275
|
class SamlConfig(model.Model):
|
|
11142
11276
|
"""
|
|
@@ -11844,6 +11978,59 @@ class SecretType(enum.Enum):
|
|
|
11844
11978
|
SecretType.__new__ = model.safe_enum__new__ # type: ignore
|
|
11845
11979
|
|
|
11846
11980
|
|
|
11981
|
+
@attr.s(auto_attribs=True, init=False)
|
|
11982
|
+
class ServiceAccount(model.Model):
|
|
11983
|
+
"""
|
|
11984
|
+
Attributes:
|
|
11985
|
+
can: Operations the current user is able to perform on this object
|
|
11986
|
+
id: Unique Id of the service account
|
|
11987
|
+
service_account_name: Display name of the service account.
|
|
11988
|
+
is_service_account: Indicates whether this user is a service account
|
|
11989
|
+
is_disabled: Indicates if the service account is disabled
|
|
11990
|
+
group_ids: Array of ids of the groups associated with this service account
|
|
11991
|
+
role_ids: Array of ids of the roles associated with this service account
|
|
11992
|
+
credentials_api3: API3 credentials for the service account
|
|
11993
|
+
created_at: Service account creation timestamp
|
|
11994
|
+
url: Link to get this item
|
|
11995
|
+
"""
|
|
11996
|
+
|
|
11997
|
+
can: Optional[MutableMapping[str, bool]] = None
|
|
11998
|
+
id: Optional[str] = None
|
|
11999
|
+
service_account_name: Optional[str] = None
|
|
12000
|
+
is_service_account: Optional[bool] = None
|
|
12001
|
+
is_disabled: Optional[bool] = None
|
|
12002
|
+
group_ids: Optional[Sequence[str]] = None
|
|
12003
|
+
role_ids: Optional[Sequence[str]] = None
|
|
12004
|
+
credentials_api3: Optional[Sequence["CredentialsApi3"]] = None
|
|
12005
|
+
created_at: Optional[datetime.datetime] = None
|
|
12006
|
+
url: Optional[str] = None
|
|
12007
|
+
|
|
12008
|
+
def __init__(
|
|
12009
|
+
self,
|
|
12010
|
+
*,
|
|
12011
|
+
can: Optional[MutableMapping[str, bool]] = None,
|
|
12012
|
+
id: Optional[str] = None,
|
|
12013
|
+
service_account_name: Optional[str] = None,
|
|
12014
|
+
is_service_account: Optional[bool] = None,
|
|
12015
|
+
is_disabled: Optional[bool] = None,
|
|
12016
|
+
group_ids: Optional[Sequence[str]] = None,
|
|
12017
|
+
role_ids: Optional[Sequence[str]] = None,
|
|
12018
|
+
credentials_api3: Optional[Sequence["CredentialsApi3"]] = None,
|
|
12019
|
+
created_at: Optional[datetime.datetime] = None,
|
|
12020
|
+
url: Optional[str] = None
|
|
12021
|
+
):
|
|
12022
|
+
self.can = can
|
|
12023
|
+
self.id = id
|
|
12024
|
+
self.service_account_name = service_account_name
|
|
12025
|
+
self.is_service_account = is_service_account
|
|
12026
|
+
self.is_disabled = is_disabled
|
|
12027
|
+
self.group_ids = group_ids
|
|
12028
|
+
self.role_ids = role_ids
|
|
12029
|
+
self.credentials_api3 = credentials_api3
|
|
12030
|
+
self.created_at = created_at
|
|
12031
|
+
self.url = url
|
|
12032
|
+
|
|
12033
|
+
|
|
11847
12034
|
@attr.s(auto_attribs=True, init=False)
|
|
11848
12035
|
class Session(model.Model):
|
|
11849
12036
|
"""
|
|
@@ -12105,6 +12292,11 @@ class SmtpSettings(model.Model):
|
|
|
12105
12292
|
port: SMTP Server's port
|
|
12106
12293
|
enable_starttls_auto: Is TLS encryption enabled?
|
|
12107
12294
|
ssl_version: TLS version selected Valid values are: "TLSv1_1", "SSLv23", "TLSv1_2".
|
|
12295
|
+
auth_type: Auth Type
|
|
12296
|
+
client_id: The OAuth Client ID
|
|
12297
|
+
client_secret: The OAuth Client Secret
|
|
12298
|
+
token_endpoint: The OAuth Token Endpoint
|
|
12299
|
+
scopes: The OAuth Scopes
|
|
12108
12300
|
default_smtp: Whether to enable built-in Looker SMTP
|
|
12109
12301
|
"""
|
|
12110
12302
|
|
|
@@ -12115,6 +12307,11 @@ class SmtpSettings(model.Model):
|
|
|
12115
12307
|
port: Optional[int] = None
|
|
12116
12308
|
enable_starttls_auto: Optional[bool] = None
|
|
12117
12309
|
ssl_version: Optional["SslVersion"] = None
|
|
12310
|
+
auth_type: Optional[str] = None
|
|
12311
|
+
client_id: Optional[str] = None
|
|
12312
|
+
client_secret: Optional[str] = None
|
|
12313
|
+
token_endpoint: Optional[str] = None
|
|
12314
|
+
scopes: Optional[str] = None
|
|
12118
12315
|
default_smtp: Optional[bool] = None
|
|
12119
12316
|
|
|
12120
12317
|
def __init__(
|
|
@@ -12127,6 +12324,11 @@ class SmtpSettings(model.Model):
|
|
|
12127
12324
|
port: Optional[int] = None,
|
|
12128
12325
|
enable_starttls_auto: Optional[bool] = None,
|
|
12129
12326
|
ssl_version: Optional["SslVersion"] = None,
|
|
12327
|
+
auth_type: Optional[str] = None,
|
|
12328
|
+
client_id: Optional[str] = None,
|
|
12329
|
+
client_secret: Optional[str] = None,
|
|
12330
|
+
token_endpoint: Optional[str] = None,
|
|
12331
|
+
scopes: Optional[str] = None,
|
|
12130
12332
|
default_smtp: Optional[bool] = None
|
|
12131
12333
|
):
|
|
12132
12334
|
self.address = address
|
|
@@ -12136,6 +12338,11 @@ class SmtpSettings(model.Model):
|
|
|
12136
12338
|
self.port = port
|
|
12137
12339
|
self.enable_starttls_auto = enable_starttls_auto
|
|
12138
12340
|
self.ssl_version = ssl_version
|
|
12341
|
+
self.auth_type = auth_type
|
|
12342
|
+
self.client_id = client_id
|
|
12343
|
+
self.client_secret = client_secret
|
|
12344
|
+
self.token_endpoint = token_endpoint
|
|
12345
|
+
self.scopes = scopes
|
|
12139
12346
|
self.default_smtp = default_smtp
|
|
12140
12347
|
|
|
12141
12348
|
|
|
@@ -13150,8 +13357,10 @@ class User(model.Model):
|
|
|
13150
13357
|
allow_normal_group_membership: User can be a direct member of a normal Looker group.
|
|
13151
13358
|
allow_roles_from_normal_groups: User can inherit roles from a normal Looker group.
|
|
13152
13359
|
embed_group_folder_id: (Embed only) ID of user's group folder based on the external_group_id optionally specified during embed user login
|
|
13153
|
-
is_iam_admin: User is an IAM Admin
|
|
13154
|
-
can_manage_api3_creds: Indicates if the user can manage API3 credentials
|
|
13360
|
+
is_iam_admin: User is an IAM Admin. This field may only be applicable for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). The is_iam_admin is not returned by default. Please explicitly request this attribute if needed via the fields query param. Note: Including the optional is_iam_admin attribute can increase API latency. For best performance, use this attribute only when filtering for users with the 'Admin via IAM' role. When using this filter, always paginate your results with the offset and limit fields to optimize response time.
|
|
13361
|
+
can_manage_api3_creds: Indicates if the user can manage API3 credentials. This field may only be applicable for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). This is an experimental feature and may not yet be available on your instance.
|
|
13362
|
+
is_service_account: Indicates if this user is a service account. This field may only be applicable for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). This is an experimental feature and may not yet be available on your instance.
|
|
13363
|
+
service_account_name: The display name of the service account. This field is omitted for non service account users. This field may only be applicable for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). This is an experimental feature and may not yet be available on your instance.
|
|
13155
13364
|
url: Link to get this item
|
|
13156
13365
|
"""
|
|
13157
13366
|
|
|
@@ -13192,6 +13401,8 @@ class User(model.Model):
|
|
|
13192
13401
|
embed_group_folder_id: Optional[str] = None
|
|
13193
13402
|
is_iam_admin: Optional[bool] = None
|
|
13194
13403
|
can_manage_api3_creds: Optional[bool] = None
|
|
13404
|
+
is_service_account: Optional[bool] = None
|
|
13405
|
+
service_account_name: Optional[str] = None
|
|
13195
13406
|
url: Optional[str] = None
|
|
13196
13407
|
|
|
13197
13408
|
def __init__(
|
|
@@ -13234,6 +13445,8 @@ class User(model.Model):
|
|
|
13234
13445
|
embed_group_folder_id: Optional[str] = None,
|
|
13235
13446
|
is_iam_admin: Optional[bool] = None,
|
|
13236
13447
|
can_manage_api3_creds: Optional[bool] = None,
|
|
13448
|
+
is_service_account: Optional[bool] = None,
|
|
13449
|
+
service_account_name: Optional[str] = None,
|
|
13237
13450
|
url: Optional[str] = None
|
|
13238
13451
|
):
|
|
13239
13452
|
self.can = can
|
|
@@ -13273,6 +13486,8 @@ class User(model.Model):
|
|
|
13273
13486
|
self.embed_group_folder_id = embed_group_folder_id
|
|
13274
13487
|
self.is_iam_admin = is_iam_admin
|
|
13275
13488
|
self.can_manage_api3_creds = can_manage_api3_creds
|
|
13489
|
+
self.is_service_account = is_service_account
|
|
13490
|
+
self.service_account_name = service_account_name
|
|
13276
13491
|
self.url = url
|
|
13277
13492
|
|
|
13278
13493
|
|
|
@@ -14085,6 +14300,30 @@ class WriteBoardSection(model.Model):
|
|
|
14085
14300
|
self.title = title
|
|
14086
14301
|
|
|
14087
14302
|
|
|
14303
|
+
@attr.s(auto_attribs=True, init=False)
|
|
14304
|
+
class WriteCertification(model.Model):
|
|
14305
|
+
"""
|
|
14306
|
+
Dynamic writeable type for Certification removes:
|
|
14307
|
+
user_name, updated_at
|
|
14308
|
+
|
|
14309
|
+
Attributes:
|
|
14310
|
+
certification_status: Certification status: "certified" or "revoked" Valid values are: "certified", "revoked".
|
|
14311
|
+
notes: Certification notes
|
|
14312
|
+
"""
|
|
14313
|
+
|
|
14314
|
+
certification_status: Optional["CertificationStatus"] = None
|
|
14315
|
+
notes: Optional[str] = None
|
|
14316
|
+
|
|
14317
|
+
def __init__(
|
|
14318
|
+
self,
|
|
14319
|
+
*,
|
|
14320
|
+
certification_status: Optional["CertificationStatus"] = None,
|
|
14321
|
+
notes: Optional[str] = None
|
|
14322
|
+
):
|
|
14323
|
+
self.certification_status = certification_status
|
|
14324
|
+
self.notes = notes
|
|
14325
|
+
|
|
14326
|
+
|
|
14088
14327
|
@attr.s(auto_attribs=True, init=False)
|
|
14089
14328
|
class WriteColorCollection(model.Model):
|
|
14090
14329
|
"""
|
|
@@ -14344,6 +14583,8 @@ class WriteDashboard(model.Model):
|
|
|
14344
14583
|
title: Dashboard Title
|
|
14345
14584
|
slug: Content Metadata Slug
|
|
14346
14585
|
preferred_viewer: The preferred route for viewing this dashboard (ie: dashboards or dashboards-next)
|
|
14586
|
+
certification_metadata: Dynamic writeable type for Certification removes:
|
|
14587
|
+
user_name, updated_at
|
|
14347
14588
|
alert_sync_with_dashboard_filter_enabled: Enables alerts to keep in sync with dashboard filter changes
|
|
14348
14589
|
background_color: Background color
|
|
14349
14590
|
crossfilter_enabled: Enables crossfiltering in dashboards - only available in dashboards-next (beta)
|
|
@@ -14371,6 +14612,7 @@ class WriteDashboard(model.Model):
|
|
|
14371
14612
|
title: Optional[str] = None
|
|
14372
14613
|
slug: Optional[str] = None
|
|
14373
14614
|
preferred_viewer: Optional[str] = None
|
|
14615
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
14374
14616
|
alert_sync_with_dashboard_filter_enabled: Optional[bool] = None
|
|
14375
14617
|
background_color: Optional[str] = None
|
|
14376
14618
|
crossfilter_enabled: Optional[bool] = None
|
|
@@ -14400,6 +14642,7 @@ class WriteDashboard(model.Model):
|
|
|
14400
14642
|
title: Optional[str] = None,
|
|
14401
14643
|
slug: Optional[str] = None,
|
|
14402
14644
|
preferred_viewer: Optional[str] = None,
|
|
14645
|
+
certification_metadata: Optional["WriteCertification"] = None,
|
|
14403
14646
|
alert_sync_with_dashboard_filter_enabled: Optional[bool] = None,
|
|
14404
14647
|
background_color: Optional[str] = None,
|
|
14405
14648
|
crossfilter_enabled: Optional[bool] = None,
|
|
@@ -14426,6 +14669,7 @@ class WriteDashboard(model.Model):
|
|
|
14426
14669
|
self.title = title
|
|
14427
14670
|
self.slug = slug
|
|
14428
14671
|
self.preferred_viewer = preferred_viewer
|
|
14672
|
+
self.certification_metadata = certification_metadata
|
|
14429
14673
|
self.alert_sync_with_dashboard_filter_enabled = (
|
|
14430
14674
|
alert_sync_with_dashboard_filter_enabled
|
|
14431
14675
|
)
|
|
@@ -14456,12 +14700,21 @@ class WriteDashboardBase(model.Model):
|
|
|
14456
14700
|
Attributes:
|
|
14457
14701
|
folder: Dynamic writeable type for FolderBase removes:
|
|
14458
14702
|
id, content_metadata_id, created_at, creator_id, child_count, external_id, is_embed, is_embed_shared_root, is_embed_users_root, is_personal, is_personal_descendant, is_shared_root, is_users_root, can
|
|
14703
|
+
certification_metadata: Dynamic writeable type for Certification removes:
|
|
14704
|
+
user_name, updated_at
|
|
14459
14705
|
"""
|
|
14460
14706
|
|
|
14461
14707
|
folder: Optional["WriteFolderBase"] = None
|
|
14708
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
14462
14709
|
|
|
14463
|
-
def __init__(
|
|
14710
|
+
def __init__(
|
|
14711
|
+
self,
|
|
14712
|
+
*,
|
|
14713
|
+
folder: Optional["WriteFolderBase"] = None,
|
|
14714
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
14715
|
+
):
|
|
14464
14716
|
self.folder = folder
|
|
14717
|
+
self.certification_metadata = certification_metadata
|
|
14465
14718
|
|
|
14466
14719
|
|
|
14467
14720
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -14473,6 +14726,7 @@ class WriteDashboardElement(model.Model):
|
|
|
14473
14726
|
Attributes:
|
|
14474
14727
|
body_text: Text tile body text
|
|
14475
14728
|
dashboard_id: Id of Dashboard
|
|
14729
|
+
dashboard_layout_id: Id of Dashboard Layout
|
|
14476
14730
|
look: Dynamic writeable type for LookWithQuery removes:
|
|
14477
14731
|
can, content_metadata_id, id, content_favorite_id, created_at, deleted_at, deleter_id, embed_url, excel_file_url, favorite_count, google_spreadsheet_formula, image_embed_url, last_accessed_at, last_updater_id, last_viewed_at, model, public_slug, public_url, short_url, updated_at, user_name, view_count, url
|
|
14478
14732
|
look_id: Id Of Look
|
|
@@ -14494,10 +14748,12 @@ class WriteDashboardElement(model.Model):
|
|
|
14494
14748
|
type: Type
|
|
14495
14749
|
rich_content_json: JSON with all the properties required for rich editor and buttons elements
|
|
14496
14750
|
extension_id: Extension ID
|
|
14751
|
+
aria_description: Custom ARIA description text
|
|
14497
14752
|
"""
|
|
14498
14753
|
|
|
14499
14754
|
body_text: Optional[str] = None
|
|
14500
14755
|
dashboard_id: Optional[str] = None
|
|
14756
|
+
dashboard_layout_id: Optional[str] = None
|
|
14501
14757
|
look: Optional["WriteLookWithQuery"] = None
|
|
14502
14758
|
look_id: Optional[str] = None
|
|
14503
14759
|
merge_result_id: Optional[str] = None
|
|
@@ -14516,12 +14772,14 @@ class WriteDashboardElement(model.Model):
|
|
|
14516
14772
|
type: Optional[str] = None
|
|
14517
14773
|
rich_content_json: Optional[str] = None
|
|
14518
14774
|
extension_id: Optional[str] = None
|
|
14775
|
+
aria_description: Optional[str] = None
|
|
14519
14776
|
|
|
14520
14777
|
def __init__(
|
|
14521
14778
|
self,
|
|
14522
14779
|
*,
|
|
14523
14780
|
body_text: Optional[str] = None,
|
|
14524
14781
|
dashboard_id: Optional[str] = None,
|
|
14782
|
+
dashboard_layout_id: Optional[str] = None,
|
|
14525
14783
|
look: Optional["WriteLookWithQuery"] = None,
|
|
14526
14784
|
look_id: Optional[str] = None,
|
|
14527
14785
|
merge_result_id: Optional[str] = None,
|
|
@@ -14541,10 +14799,12 @@ class WriteDashboardElement(model.Model):
|
|
|
14541
14799
|
title_text: Optional[str] = None,
|
|
14542
14800
|
type: Optional[str] = None,
|
|
14543
14801
|
rich_content_json: Optional[str] = None,
|
|
14544
|
-
extension_id: Optional[str] = None
|
|
14802
|
+
extension_id: Optional[str] = None,
|
|
14803
|
+
aria_description: Optional[str] = None
|
|
14545
14804
|
):
|
|
14546
14805
|
self.body_text = body_text
|
|
14547
14806
|
self.dashboard_id = dashboard_id
|
|
14807
|
+
self.dashboard_layout_id = dashboard_layout_id
|
|
14548
14808
|
self.look = look
|
|
14549
14809
|
self.look_id = look_id
|
|
14550
14810
|
self.merge_result_id = merge_result_id
|
|
@@ -14563,6 +14823,7 @@ class WriteDashboardElement(model.Model):
|
|
|
14563
14823
|
self.type = type
|
|
14564
14824
|
self.rich_content_json = rich_content_json
|
|
14565
14825
|
self.extension_id = extension_id
|
|
14826
|
+
self.aria_description = aria_description
|
|
14566
14827
|
|
|
14567
14828
|
|
|
14568
14829
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -14641,6 +14902,9 @@ class WriteDashboardLayout(model.Model):
|
|
|
14641
14902
|
active: Is Active
|
|
14642
14903
|
column_width: Column Width
|
|
14643
14904
|
width: Width
|
|
14905
|
+
label: Label
|
|
14906
|
+
description: Description
|
|
14907
|
+
order: Order
|
|
14644
14908
|
"""
|
|
14645
14909
|
|
|
14646
14910
|
dashboard_id: Optional[str] = None
|
|
@@ -14648,6 +14912,9 @@ class WriteDashboardLayout(model.Model):
|
|
|
14648
14912
|
active: Optional[bool] = None
|
|
14649
14913
|
column_width: Optional[int] = None
|
|
14650
14914
|
width: Optional[int] = None
|
|
14915
|
+
label: Optional[str] = None
|
|
14916
|
+
description: Optional[str] = None
|
|
14917
|
+
order: Optional[int] = None
|
|
14651
14918
|
|
|
14652
14919
|
def __init__(
|
|
14653
14920
|
self,
|
|
@@ -14656,13 +14923,19 @@ class WriteDashboardLayout(model.Model):
|
|
|
14656
14923
|
type: Optional[str] = None,
|
|
14657
14924
|
active: Optional[bool] = None,
|
|
14658
14925
|
column_width: Optional[int] = None,
|
|
14659
|
-
width: Optional[int] = None
|
|
14926
|
+
width: Optional[int] = None,
|
|
14927
|
+
label: Optional[str] = None,
|
|
14928
|
+
description: Optional[str] = None,
|
|
14929
|
+
order: Optional[int] = None
|
|
14660
14930
|
):
|
|
14661
14931
|
self.dashboard_id = dashboard_id
|
|
14662
14932
|
self.type = type
|
|
14663
14933
|
self.active = active
|
|
14664
14934
|
self.column_width = column_width
|
|
14665
14935
|
self.width = width
|
|
14936
|
+
self.label = label
|
|
14937
|
+
self.description = description
|
|
14938
|
+
self.order = order
|
|
14666
14939
|
|
|
14667
14940
|
|
|
14668
14941
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -15148,6 +15421,7 @@ class WriteExternalOauthApplication(model.Model):
|
|
|
15148
15421
|
client_secret: (Write-Only) The OAuth Client Secret for this application
|
|
15149
15422
|
tenant_id: The OAuth Tenant ID for this application
|
|
15150
15423
|
dialect_name: The database dialect for this application.
|
|
15424
|
+
bi_directional_data_access: Whether this application supports bi-directional data access.
|
|
15151
15425
|
"""
|
|
15152
15426
|
|
|
15153
15427
|
name: Optional[str] = None
|
|
@@ -15155,6 +15429,7 @@ class WriteExternalOauthApplication(model.Model):
|
|
|
15155
15429
|
client_secret: Optional[str] = None
|
|
15156
15430
|
tenant_id: Optional[str] = None
|
|
15157
15431
|
dialect_name: Optional[str] = None
|
|
15432
|
+
bi_directional_data_access: Optional[bool] = None
|
|
15158
15433
|
|
|
15159
15434
|
def __init__(
|
|
15160
15435
|
self,
|
|
@@ -15163,13 +15438,15 @@ class WriteExternalOauthApplication(model.Model):
|
|
|
15163
15438
|
client_id: Optional[str] = None,
|
|
15164
15439
|
client_secret: Optional[str] = None,
|
|
15165
15440
|
tenant_id: Optional[str] = None,
|
|
15166
|
-
dialect_name: Optional[str] = None
|
|
15441
|
+
dialect_name: Optional[str] = None,
|
|
15442
|
+
bi_directional_data_access: Optional[bool] = None
|
|
15167
15443
|
):
|
|
15168
15444
|
self.name = name
|
|
15169
15445
|
self.client_id = client_id
|
|
15170
15446
|
self.client_secret = client_secret
|
|
15171
15447
|
self.tenant_id = tenant_id
|
|
15172
15448
|
self.dialect_name = dialect_name
|
|
15449
|
+
self.bi_directional_data_access = bi_directional_data_access
|
|
15173
15450
|
|
|
15174
15451
|
|
|
15175
15452
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -15499,12 +15776,21 @@ class WriteLookBasic(model.Model):
|
|
|
15499
15776
|
|
|
15500
15777
|
Attributes:
|
|
15501
15778
|
user_id: User Id
|
|
15779
|
+
certification_metadata: Dynamic writeable type for Certification removes:
|
|
15780
|
+
user_name, updated_at
|
|
15502
15781
|
"""
|
|
15503
15782
|
|
|
15504
15783
|
user_id: Optional[str] = None
|
|
15784
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
15505
15785
|
|
|
15506
|
-
def __init__(
|
|
15786
|
+
def __init__(
|
|
15787
|
+
self,
|
|
15788
|
+
*,
|
|
15789
|
+
user_id: Optional[str] = None,
|
|
15790
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
15791
|
+
):
|
|
15507
15792
|
self.user_id = user_id
|
|
15793
|
+
self.certification_metadata = certification_metadata
|
|
15508
15794
|
|
|
15509
15795
|
|
|
15510
15796
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -15548,6 +15834,8 @@ class WriteLookWithQuery(model.Model):
|
|
|
15548
15834
|
Attributes:
|
|
15549
15835
|
title: Look Title
|
|
15550
15836
|
user_id: User Id
|
|
15837
|
+
certification_metadata: Dynamic writeable type for Certification removes:
|
|
15838
|
+
user_name, updated_at
|
|
15551
15839
|
deleted: Whether or not a look is 'soft' deleted.
|
|
15552
15840
|
description: Description
|
|
15553
15841
|
is_run_on_load: auto-run query when Look viewed
|
|
@@ -15562,6 +15850,7 @@ class WriteLookWithQuery(model.Model):
|
|
|
15562
15850
|
|
|
15563
15851
|
title: Optional[str] = None
|
|
15564
15852
|
user_id: Optional[str] = None
|
|
15853
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
15565
15854
|
deleted: Optional[bool] = None
|
|
15566
15855
|
description: Optional[str] = None
|
|
15567
15856
|
is_run_on_load: Optional[bool] = None
|
|
@@ -15576,6 +15865,7 @@ class WriteLookWithQuery(model.Model):
|
|
|
15576
15865
|
*,
|
|
15577
15866
|
title: Optional[str] = None,
|
|
15578
15867
|
user_id: Optional[str] = None,
|
|
15868
|
+
certification_metadata: Optional["WriteCertification"] = None,
|
|
15579
15869
|
deleted: Optional[bool] = None,
|
|
15580
15870
|
description: Optional[str] = None,
|
|
15581
15871
|
is_run_on_load: Optional[bool] = None,
|
|
@@ -15587,6 +15877,7 @@ class WriteLookWithQuery(model.Model):
|
|
|
15587
15877
|
):
|
|
15588
15878
|
self.title = title
|
|
15589
15879
|
self.user_id = user_id
|
|
15880
|
+
self.certification_metadata = certification_metadata
|
|
15590
15881
|
self.deleted = deleted
|
|
15591
15882
|
self.description = description
|
|
15592
15883
|
self.is_run_on_load = is_run_on_load
|
|
@@ -16496,6 +16787,30 @@ class WriteScheduledPlan(model.Model):
|
|
|
16496
16787
|
self.query_id = query_id
|
|
16497
16788
|
|
|
16498
16789
|
|
|
16790
|
+
@attr.s(auto_attribs=True, init=False)
|
|
16791
|
+
class WriteServiceAccount(model.Model):
|
|
16792
|
+
"""
|
|
16793
|
+
Dynamic writeable type for ServiceAccount removes:
|
|
16794
|
+
can, id, is_service_account, group_ids, role_ids, credentials_api3, created_at, url
|
|
16795
|
+
|
|
16796
|
+
Attributes:
|
|
16797
|
+
service_account_name: Display name of the service account.
|
|
16798
|
+
is_disabled: Indicates if the service account is disabled
|
|
16799
|
+
"""
|
|
16800
|
+
|
|
16801
|
+
service_account_name: Optional[str] = None
|
|
16802
|
+
is_disabled: Optional[bool] = None
|
|
16803
|
+
|
|
16804
|
+
def __init__(
|
|
16805
|
+
self,
|
|
16806
|
+
*,
|
|
16807
|
+
service_account_name: Optional[str] = None,
|
|
16808
|
+
is_disabled: Optional[bool] = None
|
|
16809
|
+
):
|
|
16810
|
+
self.service_account_name = service_account_name
|
|
16811
|
+
self.is_disabled = is_disabled
|
|
16812
|
+
|
|
16813
|
+
|
|
16499
16814
|
@attr.s(auto_attribs=True, init=False)
|
|
16500
16815
|
class WriteSessionConfig(model.Model):
|
|
16501
16816
|
"""
|
|
@@ -16751,7 +17066,7 @@ class WriteTheme(model.Model):
|
|
|
16751
17066
|
class WriteUser(model.Model):
|
|
16752
17067
|
"""
|
|
16753
17068
|
Dynamic writeable type for User removes:
|
|
16754
|
-
can, avatar_url, avatar_url_without_sizing, credentials_api3, credentials_embed, credentials_google, credentials_ldap, credentials_looker_openid, credentials_oidc, credentials_saml, credentials_totp, display_name, email, embed_group_space_id, group_ids, id, looker_versions, personal_folder_id, presumed_looker_employee, role_ids, sessions, verified_looker_employee, roles_externally_managed, allow_direct_roles, allow_normal_group_membership, allow_roles_from_normal_groups, embed_group_folder_id, is_iam_admin, url
|
|
17069
|
+
can, avatar_url, avatar_url_without_sizing, credentials_api3, credentials_embed, credentials_google, credentials_ldap, credentials_looker_openid, credentials_oidc, credentials_saml, credentials_totp, display_name, email, embed_group_space_id, group_ids, id, looker_versions, personal_folder_id, presumed_looker_employee, role_ids, sessions, verified_looker_employee, roles_externally_managed, allow_direct_roles, allow_normal_group_membership, allow_roles_from_normal_groups, embed_group_folder_id, is_iam_admin, is_service_account, service_account_name, url
|
|
16755
17070
|
|
|
16756
17071
|
Attributes:
|
|
16757
17072
|
credentials_email: Dynamic writeable type for CredentialsEmail removes:
|
|
@@ -16763,7 +17078,7 @@ class WriteUser(model.Model):
|
|
|
16763
17078
|
locale: User's preferred locale. User locale takes precedence over Looker's system-wide default locale. Locale determines language of display strings and date and numeric formatting in API responses. Locale string must be a 2 letter language code or a combination of language code and region code: 'en' or 'en-US', for example.
|
|
16764
17079
|
models_dir_validated: User's dev workspace has been checked for presence of applicable production projects
|
|
16765
17080
|
ui_state: Per user dictionary of undocumented state information owned by the Looker UI.
|
|
16766
|
-
can_manage_api3_creds: Indicates if the user can manage API3 credentials
|
|
17081
|
+
can_manage_api3_creds: Indicates if the user can manage API3 credentials. This field may only be applicable for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). This is an experimental feature and may not yet be available on your instance.
|
|
16767
17082
|
"""
|
|
16768
17083
|
|
|
16769
17084
|
credentials_email: Optional["WriteCredentialsEmail"] = None
|