looker-sdk 25.18.0__py3-none-any.whl → 26.0.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 +107 -63
- looker_sdk/sdk/api40/models.py +361 -76
- looker_sdk/sdk/constants.py +1 -1
- looker_sdk/version.py +1 -1
- {looker_sdk-25.18.0.dist-info → looker_sdk-26.0.0.dist-info}/METADATA +13 -3
- {looker_sdk-25.18.0.dist-info → looker_sdk-26.0.0.dist-info}/RECORD +9 -9
- {looker_sdk-25.18.0.dist-info → looker_sdk-26.0.0.dist-info}/WHEEL +1 -1
- {looker_sdk-25.18.0.dist-info → looker_sdk-26.0.0.dist-info/licenses}/LICENSE.txt +0 -0
- {looker_sdk-25.18.0.dist-info → looker_sdk-26.0.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
|
+
# 381 API models: 291 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
|
"""
|
|
@@ -1545,6 +1544,8 @@ class ContentSearch(model.Model):
|
|
|
1545
1544
|
view_count: Number of times the content has been viewed
|
|
1546
1545
|
preferred_viewer: Preferred way of viewing the content (only applies to dashboards)
|
|
1547
1546
|
model: Name of the model the explore belongs to
|
|
1547
|
+
created_by_id: Creator Id of the content
|
|
1548
|
+
certification_status: Certification status of the content
|
|
1548
1549
|
"""
|
|
1549
1550
|
|
|
1550
1551
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -1557,6 +1558,8 @@ class ContentSearch(model.Model):
|
|
|
1557
1558
|
view_count: Optional[int] = None
|
|
1558
1559
|
preferred_viewer: Optional[str] = None
|
|
1559
1560
|
model: Optional[str] = None
|
|
1561
|
+
created_by_id: Optional[int] = None
|
|
1562
|
+
certification_status: Optional[str] = None
|
|
1560
1563
|
|
|
1561
1564
|
def __init__(
|
|
1562
1565
|
self,
|
|
@@ -1570,7 +1573,9 @@ class ContentSearch(model.Model):
|
|
|
1570
1573
|
folder_name: Optional[str] = None,
|
|
1571
1574
|
view_count: Optional[int] = None,
|
|
1572
1575
|
preferred_viewer: Optional[str] = None,
|
|
1573
|
-
model: Optional[str] = None
|
|
1576
|
+
model: Optional[str] = None,
|
|
1577
|
+
created_by_id: Optional[int] = None,
|
|
1578
|
+
certification_status: Optional[str] = None
|
|
1574
1579
|
):
|
|
1575
1580
|
self.can = can
|
|
1576
1581
|
self.content_id = content_id
|
|
@@ -1582,6 +1587,8 @@ class ContentSearch(model.Model):
|
|
|
1582
1587
|
self.view_count = view_count
|
|
1583
1588
|
self.preferred_viewer = preferred_viewer
|
|
1584
1589
|
self.model = model
|
|
1590
|
+
self.created_by_id = created_by_id
|
|
1591
|
+
self.certification_status = certification_status
|
|
1585
1592
|
|
|
1586
1593
|
|
|
1587
1594
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -1607,6 +1614,7 @@ class ContentSummary(model.Model):
|
|
|
1607
1614
|
group_weighted_score:
|
|
1608
1615
|
suggestion_score:
|
|
1609
1616
|
preferred_viewer: The preferred route for viewing this content (ie: dashboards or dashboards-next)
|
|
1617
|
+
certification_metadata:
|
|
1610
1618
|
"""
|
|
1611
1619
|
|
|
1612
1620
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -1628,6 +1636,7 @@ class ContentSummary(model.Model):
|
|
|
1628
1636
|
group_weighted_score: Optional[float] = None
|
|
1629
1637
|
suggestion_score: Optional[float] = None
|
|
1630
1638
|
preferred_viewer: Optional[str] = None
|
|
1639
|
+
certification_metadata: Optional["Certification"] = None
|
|
1631
1640
|
|
|
1632
1641
|
def __init__(
|
|
1633
1642
|
self,
|
|
@@ -1650,7 +1659,8 @@ class ContentSummary(model.Model):
|
|
|
1650
1659
|
weighted_score: Optional[float] = None,
|
|
1651
1660
|
group_weighted_score: Optional[float] = None,
|
|
1652
1661
|
suggestion_score: Optional[float] = None,
|
|
1653
|
-
preferred_viewer: Optional[str] = None
|
|
1662
|
+
preferred_viewer: Optional[str] = None,
|
|
1663
|
+
certification_metadata: Optional["Certification"] = None
|
|
1654
1664
|
):
|
|
1655
1665
|
self.can = can
|
|
1656
1666
|
self.id = id
|
|
@@ -1671,6 +1681,7 @@ class ContentSummary(model.Model):
|
|
|
1671
1681
|
self.group_weighted_score = group_weighted_score
|
|
1672
1682
|
self.suggestion_score = suggestion_score
|
|
1673
1683
|
self.preferred_viewer = preferred_viewer
|
|
1684
|
+
self.certification_metadata = certification_metadata
|
|
1674
1685
|
|
|
1675
1686
|
|
|
1676
1687
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -3274,6 +3285,7 @@ class Dashboard(model.Model):
|
|
|
3274
3285
|
user_id: Id of User
|
|
3275
3286
|
slug: Content Metadata Slug
|
|
3276
3287
|
preferred_viewer: The preferred route for viewing this dashboard (ie: dashboards or dashboards-next)
|
|
3288
|
+
certification_metadata:
|
|
3277
3289
|
alert_sync_with_dashboard_filter_enabled: Enables alerts to keep in sync with dashboard filter changes
|
|
3278
3290
|
background_color: Background color
|
|
3279
3291
|
created_at: Time that the Dashboard was created.
|
|
@@ -3307,6 +3319,7 @@ class Dashboard(model.Model):
|
|
|
3307
3319
|
view_count: Number of times viewed in the Looker web UI
|
|
3308
3320
|
appearance:
|
|
3309
3321
|
url: Relative URL of the dashboard
|
|
3322
|
+
layout_granularity: The layout granularity to apply to this dashboard (ie: default or granular)
|
|
3310
3323
|
"""
|
|
3311
3324
|
|
|
3312
3325
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -3325,6 +3338,7 @@ class Dashboard(model.Model):
|
|
|
3325
3338
|
user_id: Optional[str] = None
|
|
3326
3339
|
slug: Optional[str] = None
|
|
3327
3340
|
preferred_viewer: Optional[str] = None
|
|
3341
|
+
certification_metadata: Optional["Certification"] = None
|
|
3328
3342
|
alert_sync_with_dashboard_filter_enabled: Optional[bool] = None
|
|
3329
3343
|
background_color: Optional[str] = None
|
|
3330
3344
|
created_at: Optional[datetime.datetime] = None
|
|
@@ -3358,6 +3372,7 @@ class Dashboard(model.Model):
|
|
|
3358
3372
|
view_count: Optional[int] = None
|
|
3359
3373
|
appearance: Optional["DashboardAppearance"] = None
|
|
3360
3374
|
url: Optional[str] = None
|
|
3375
|
+
layout_granularity: Optional[str] = None
|
|
3361
3376
|
|
|
3362
3377
|
def __init__(
|
|
3363
3378
|
self,
|
|
@@ -3378,6 +3393,7 @@ class Dashboard(model.Model):
|
|
|
3378
3393
|
user_id: Optional[str] = None,
|
|
3379
3394
|
slug: Optional[str] = None,
|
|
3380
3395
|
preferred_viewer: Optional[str] = None,
|
|
3396
|
+
certification_metadata: Optional["Certification"] = None,
|
|
3381
3397
|
alert_sync_with_dashboard_filter_enabled: Optional[bool] = None,
|
|
3382
3398
|
background_color: Optional[str] = None,
|
|
3383
3399
|
created_at: Optional[datetime.datetime] = None,
|
|
@@ -3410,7 +3426,8 @@ class Dashboard(model.Model):
|
|
|
3410
3426
|
title_color: Optional[str] = None,
|
|
3411
3427
|
view_count: Optional[int] = None,
|
|
3412
3428
|
appearance: Optional["DashboardAppearance"] = None,
|
|
3413
|
-
url: Optional[str] = None
|
|
3429
|
+
url: Optional[str] = None,
|
|
3430
|
+
layout_granularity: Optional[str] = None
|
|
3414
3431
|
):
|
|
3415
3432
|
self.can = can
|
|
3416
3433
|
self.content_favorite_id = content_favorite_id
|
|
@@ -3428,6 +3445,7 @@ class Dashboard(model.Model):
|
|
|
3428
3445
|
self.user_id = user_id
|
|
3429
3446
|
self.slug = slug
|
|
3430
3447
|
self.preferred_viewer = preferred_viewer
|
|
3448
|
+
self.certification_metadata = certification_metadata
|
|
3431
3449
|
self.alert_sync_with_dashboard_filter_enabled = (
|
|
3432
3450
|
alert_sync_with_dashboard_filter_enabled
|
|
3433
3451
|
)
|
|
@@ -3463,6 +3481,7 @@ class Dashboard(model.Model):
|
|
|
3463
3481
|
self.view_count = view_count
|
|
3464
3482
|
self.appearance = appearance
|
|
3465
3483
|
self.url = url
|
|
3484
|
+
self.layout_granularity = layout_granularity
|
|
3466
3485
|
|
|
3467
3486
|
|
|
3468
3487
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -3547,6 +3566,7 @@ class DashboardBase(model.Model):
|
|
|
3547
3566
|
user_id: Id of User
|
|
3548
3567
|
slug: Content Metadata Slug
|
|
3549
3568
|
preferred_viewer: The preferred route for viewing this dashboard (ie: dashboards or dashboards-next)
|
|
3569
|
+
certification_metadata:
|
|
3550
3570
|
"""
|
|
3551
3571
|
|
|
3552
3572
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -3565,6 +3585,7 @@ class DashboardBase(model.Model):
|
|
|
3565
3585
|
user_id: Optional[str] = None
|
|
3566
3586
|
slug: Optional[str] = None
|
|
3567
3587
|
preferred_viewer: Optional[str] = None
|
|
3588
|
+
certification_metadata: Optional["Certification"] = None
|
|
3568
3589
|
|
|
3569
3590
|
def __init__(
|
|
3570
3591
|
self,
|
|
@@ -3584,7 +3605,8 @@ class DashboardBase(model.Model):
|
|
|
3584
3605
|
title: Optional[str] = None,
|
|
3585
3606
|
user_id: Optional[str] = None,
|
|
3586
3607
|
slug: Optional[str] = None,
|
|
3587
|
-
preferred_viewer: Optional[str] = None
|
|
3608
|
+
preferred_viewer: Optional[str] = None,
|
|
3609
|
+
certification_metadata: Optional["Certification"] = None
|
|
3588
3610
|
):
|
|
3589
3611
|
self.can = can
|
|
3590
3612
|
self.content_favorite_id = content_favorite_id
|
|
@@ -3602,6 +3624,7 @@ class DashboardBase(model.Model):
|
|
|
3602
3624
|
self.user_id = user_id
|
|
3603
3625
|
self.slug = slug
|
|
3604
3626
|
self.preferred_viewer = preferred_viewer
|
|
3627
|
+
self.certification_metadata = certification_metadata
|
|
3605
3628
|
|
|
3606
3629
|
|
|
3607
3630
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -3612,6 +3635,7 @@ class DashboardElement(model.Model):
|
|
|
3612
3635
|
body_text: Text tile body text
|
|
3613
3636
|
body_text_as_html: Text tile body text as Html
|
|
3614
3637
|
dashboard_id: Id of Dashboard
|
|
3638
|
+
dashboard_layout_id: Id of Dashboard Layout
|
|
3615
3639
|
edit_uri: Relative path of URI of LookML file to edit the dashboard element (LookML dashboard only).
|
|
3616
3640
|
id: Unique Id
|
|
3617
3641
|
look:
|
|
@@ -3645,6 +3669,7 @@ class DashboardElement(model.Model):
|
|
|
3645
3669
|
body_text: Optional[str] = None
|
|
3646
3670
|
body_text_as_html: Optional[str] = None
|
|
3647
3671
|
dashboard_id: Optional[str] = None
|
|
3672
|
+
dashboard_layout_id: Optional[str] = None
|
|
3648
3673
|
edit_uri: Optional[str] = None
|
|
3649
3674
|
id: Optional[str] = None
|
|
3650
3675
|
look: Optional["LookWithQuery"] = None
|
|
@@ -3680,6 +3705,7 @@ class DashboardElement(model.Model):
|
|
|
3680
3705
|
body_text: Optional[str] = None,
|
|
3681
3706
|
body_text_as_html: Optional[str] = None,
|
|
3682
3707
|
dashboard_id: Optional[str] = None,
|
|
3708
|
+
dashboard_layout_id: Optional[str] = None,
|
|
3683
3709
|
edit_uri: Optional[str] = None,
|
|
3684
3710
|
id: Optional[str] = None,
|
|
3685
3711
|
look: Optional["LookWithQuery"] = None,
|
|
@@ -3712,6 +3738,7 @@ class DashboardElement(model.Model):
|
|
|
3712
3738
|
self.body_text = body_text
|
|
3713
3739
|
self.body_text_as_html = body_text_as_html
|
|
3714
3740
|
self.dashboard_id = dashboard_id
|
|
3741
|
+
self.dashboard_layout_id = dashboard_layout_id
|
|
3715
3742
|
self.edit_uri = edit_uri
|
|
3716
3743
|
self.id = id
|
|
3717
3744
|
self.look = look
|
|
@@ -3901,6 +3928,10 @@ class DashboardLayoutComponent(model.Model):
|
|
|
3901
3928
|
element_title: Dashboard element title, extracted from the Dashboard Element.
|
|
3902
3929
|
element_title_hidden: Whether or not the dashboard element title is displayed.
|
|
3903
3930
|
vis_type: Visualization type, extracted from a query's vis_config
|
|
3931
|
+
granular_row: Row (granular layout)
|
|
3932
|
+
granular_column: Column (granular layout)
|
|
3933
|
+
granular_width: Width (granular layout)
|
|
3934
|
+
granular_height: Height (granular layout)
|
|
3904
3935
|
"""
|
|
3905
3936
|
|
|
3906
3937
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -3915,6 +3946,10 @@ class DashboardLayoutComponent(model.Model):
|
|
|
3915
3946
|
element_title: Optional[str] = None
|
|
3916
3947
|
element_title_hidden: Optional[bool] = None
|
|
3917
3948
|
vis_type: Optional[str] = None
|
|
3949
|
+
granular_row: Optional[int] = None
|
|
3950
|
+
granular_column: Optional[int] = None
|
|
3951
|
+
granular_width: Optional[int] = None
|
|
3952
|
+
granular_height: Optional[int] = None
|
|
3918
3953
|
|
|
3919
3954
|
def __init__(
|
|
3920
3955
|
self,
|
|
@@ -3930,7 +3965,11 @@ class DashboardLayoutComponent(model.Model):
|
|
|
3930
3965
|
deleted: Optional[bool] = None,
|
|
3931
3966
|
element_title: Optional[str] = None,
|
|
3932
3967
|
element_title_hidden: Optional[bool] = None,
|
|
3933
|
-
vis_type: Optional[str] = None
|
|
3968
|
+
vis_type: Optional[str] = None,
|
|
3969
|
+
granular_row: Optional[int] = None,
|
|
3970
|
+
granular_column: Optional[int] = None,
|
|
3971
|
+
granular_width: Optional[int] = None,
|
|
3972
|
+
granular_height: Optional[int] = None
|
|
3934
3973
|
):
|
|
3935
3974
|
self.can = can
|
|
3936
3975
|
self.id = id
|
|
@@ -3944,6 +3983,10 @@ class DashboardLayoutComponent(model.Model):
|
|
|
3944
3983
|
self.element_title = element_title
|
|
3945
3984
|
self.element_title_hidden = element_title_hidden
|
|
3946
3985
|
self.vis_type = vis_type
|
|
3986
|
+
self.granular_row = granular_row
|
|
3987
|
+
self.granular_column = granular_column
|
|
3988
|
+
self.granular_width = granular_width
|
|
3989
|
+
self.granular_height = granular_height
|
|
3947
3990
|
|
|
3948
3991
|
|
|
3949
3992
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -4197,6 +4240,7 @@ class DBConnection(model.Model):
|
|
|
4197
4240
|
port: Port number on server. If the connection is over an SSH tunnel, then the local port associated with the SSH tunnel.
|
|
4198
4241
|
username: Username for server authentication
|
|
4199
4242
|
password: (Write-Only) Password for server authentication
|
|
4243
|
+
has_password: Whether or not the password is present
|
|
4200
4244
|
uses_oauth: Whether the connection uses OAuth for authentication.
|
|
4201
4245
|
uses_key_pair_auth: Whether the connection uses key-pair for authentication.
|
|
4202
4246
|
uses_instance_oauth: Whether the integration uses the oauth instance account.
|
|
@@ -4262,6 +4306,7 @@ class DBConnection(model.Model):
|
|
|
4262
4306
|
port: Optional[str] = None
|
|
4263
4307
|
username: Optional[str] = None
|
|
4264
4308
|
password: Optional[str] = None
|
|
4309
|
+
has_password: Optional[bool] = None
|
|
4265
4310
|
uses_oauth: Optional[bool] = None
|
|
4266
4311
|
uses_key_pair_auth: Optional[bool] = None
|
|
4267
4312
|
uses_instance_oauth: Optional[bool] = None
|
|
@@ -4329,6 +4374,7 @@ class DBConnection(model.Model):
|
|
|
4329
4374
|
port: Optional[str] = None,
|
|
4330
4375
|
username: Optional[str] = None,
|
|
4331
4376
|
password: Optional[str] = None,
|
|
4377
|
+
has_password: Optional[bool] = None,
|
|
4332
4378
|
uses_oauth: Optional[bool] = None,
|
|
4333
4379
|
uses_key_pair_auth: Optional[bool] = None,
|
|
4334
4380
|
uses_instance_oauth: Optional[bool] = None,
|
|
@@ -4393,6 +4439,7 @@ class DBConnection(model.Model):
|
|
|
4393
4439
|
self.port = port
|
|
4394
4440
|
self.username = username
|
|
4395
4441
|
self.password = password
|
|
4442
|
+
self.has_password = has_password
|
|
4396
4443
|
self.uses_oauth = uses_oauth
|
|
4397
4444
|
self.uses_key_pair_auth = uses_key_pair_auth
|
|
4398
4445
|
self.uses_instance_oauth = uses_instance_oauth
|
|
@@ -4871,6 +4918,7 @@ class DialectInfoOptions(model.Model):
|
|
|
4871
4918
|
disable_context_comment: Can disable query context comments
|
|
4872
4919
|
host: Host is required
|
|
4873
4920
|
instance_name: Instance name is required
|
|
4921
|
+
key_pair_authentication: Has support for key pair authentication
|
|
4874
4922
|
max_billing_gigabytes: Has max billing gigabytes support
|
|
4875
4923
|
oauth_credentials: Has support for a service account
|
|
4876
4924
|
pdts_for_oauth: Has OAuth for PDT support
|
|
@@ -4895,6 +4943,7 @@ class DialectInfoOptions(model.Model):
|
|
|
4895
4943
|
disable_context_comment: Optional[bool] = None
|
|
4896
4944
|
host: Optional[bool] = None
|
|
4897
4945
|
instance_name: Optional[bool] = None
|
|
4946
|
+
key_pair_authentication: Optional[bool] = None
|
|
4898
4947
|
max_billing_gigabytes: Optional[bool] = None
|
|
4899
4948
|
oauth_credentials: Optional[bool] = None
|
|
4900
4949
|
pdts_for_oauth: Optional[bool] = None
|
|
@@ -4921,6 +4970,7 @@ class DialectInfoOptions(model.Model):
|
|
|
4921
4970
|
disable_context_comment: Optional[bool] = None,
|
|
4922
4971
|
host: Optional[bool] = None,
|
|
4923
4972
|
instance_name: Optional[bool] = None,
|
|
4973
|
+
key_pair_authentication: Optional[bool] = None,
|
|
4924
4974
|
max_billing_gigabytes: Optional[bool] = None,
|
|
4925
4975
|
oauth_credentials: Optional[bool] = None,
|
|
4926
4976
|
pdts_for_oauth: Optional[bool] = None,
|
|
@@ -4944,6 +4994,7 @@ class DialectInfoOptions(model.Model):
|
|
|
4944
4994
|
self.disable_context_comment = disable_context_comment
|
|
4945
4995
|
self.host = host
|
|
4946
4996
|
self.instance_name = instance_name
|
|
4997
|
+
self.key_pair_authentication = key_pair_authentication
|
|
4947
4998
|
self.max_billing_gigabytes = max_billing_gigabytes
|
|
4948
4999
|
self.oauth_credentials = oauth_credentials
|
|
4949
5000
|
self.pdts_for_oauth = pdts_for_oauth
|
|
@@ -5436,6 +5487,7 @@ class ExternalOauthApplication(model.Model):
|
|
|
5436
5487
|
client_secret: (Write-Only) The OAuth Client Secret for this application
|
|
5437
5488
|
tenant_id: The OAuth Tenant ID for this application
|
|
5438
5489
|
dialect_name: The database dialect for this application.
|
|
5490
|
+
bi_directional_data_access: Whether this application supports bi-directional data access.
|
|
5439
5491
|
created_at: Creation time for this application
|
|
5440
5492
|
"""
|
|
5441
5493
|
|
|
@@ -5446,6 +5498,7 @@ class ExternalOauthApplication(model.Model):
|
|
|
5446
5498
|
client_secret: Optional[str] = None
|
|
5447
5499
|
tenant_id: Optional[str] = None
|
|
5448
5500
|
dialect_name: Optional[str] = None
|
|
5501
|
+
bi_directional_data_access: Optional[bool] = None
|
|
5449
5502
|
created_at: Optional[datetime.datetime] = None
|
|
5450
5503
|
|
|
5451
5504
|
def __init__(
|
|
@@ -5458,6 +5511,7 @@ class ExternalOauthApplication(model.Model):
|
|
|
5458
5511
|
client_secret: Optional[str] = None,
|
|
5459
5512
|
tenant_id: Optional[str] = None,
|
|
5460
5513
|
dialect_name: Optional[str] = None,
|
|
5514
|
+
bi_directional_data_access: Optional[bool] = None,
|
|
5461
5515
|
created_at: Optional[datetime.datetime] = None
|
|
5462
5516
|
):
|
|
5463
5517
|
self.can = can
|
|
@@ -5467,6 +5521,7 @@ class ExternalOauthApplication(model.Model):
|
|
|
5467
5521
|
self.client_secret = client_secret
|
|
5468
5522
|
self.tenant_id = tenant_id
|
|
5469
5523
|
self.dialect_name = dialect_name
|
|
5524
|
+
self.bi_directional_data_access = bi_directional_data_access
|
|
5470
5525
|
self.created_at = created_at
|
|
5471
5526
|
|
|
5472
5527
|
|
|
@@ -7431,6 +7486,7 @@ class Look(model.Model):
|
|
|
7431
7486
|
id: Unique Id
|
|
7432
7487
|
title: Look Title
|
|
7433
7488
|
user_id: User Id
|
|
7489
|
+
certification_metadata:
|
|
7434
7490
|
content_favorite_id: Content Favorite Id
|
|
7435
7491
|
created_at: Time that the Look was created.
|
|
7436
7492
|
deleted: Whether or not a look is 'soft' deleted.
|
|
@@ -7464,6 +7520,7 @@ class Look(model.Model):
|
|
|
7464
7520
|
id: Optional[str] = None
|
|
7465
7521
|
title: Optional[str] = None
|
|
7466
7522
|
user_id: Optional[str] = None
|
|
7523
|
+
certification_metadata: Optional["Certification"] = None
|
|
7467
7524
|
content_favorite_id: Optional[str] = None
|
|
7468
7525
|
created_at: Optional[datetime.datetime] = None
|
|
7469
7526
|
deleted: Optional[bool] = None
|
|
@@ -7499,6 +7556,7 @@ class Look(model.Model):
|
|
|
7499
7556
|
id: Optional[str] = None,
|
|
7500
7557
|
title: Optional[str] = None,
|
|
7501
7558
|
user_id: Optional[str] = None,
|
|
7559
|
+
certification_metadata: Optional["Certification"] = None,
|
|
7502
7560
|
content_favorite_id: Optional[str] = None,
|
|
7503
7561
|
created_at: Optional[datetime.datetime] = None,
|
|
7504
7562
|
deleted: Optional[bool] = None,
|
|
@@ -7531,6 +7589,7 @@ class Look(model.Model):
|
|
|
7531
7589
|
self.id = id
|
|
7532
7590
|
self.title = title
|
|
7533
7591
|
self.user_id = user_id
|
|
7592
|
+
self.certification_metadata = certification_metadata
|
|
7534
7593
|
self.content_favorite_id = content_favorite_id
|
|
7535
7594
|
self.created_at = created_at
|
|
7536
7595
|
self.deleted = deleted
|
|
@@ -7568,6 +7627,7 @@ class LookBasic(model.Model):
|
|
|
7568
7627
|
id: Unique Id
|
|
7569
7628
|
title: Look Title
|
|
7570
7629
|
user_id: User Id
|
|
7630
|
+
certification_metadata:
|
|
7571
7631
|
"""
|
|
7572
7632
|
|
|
7573
7633
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -7575,6 +7635,7 @@ class LookBasic(model.Model):
|
|
|
7575
7635
|
id: Optional[str] = None
|
|
7576
7636
|
title: Optional[str] = None
|
|
7577
7637
|
user_id: Optional[str] = None
|
|
7638
|
+
certification_metadata: Optional["Certification"] = None
|
|
7578
7639
|
|
|
7579
7640
|
def __init__(
|
|
7580
7641
|
self,
|
|
@@ -7583,13 +7644,15 @@ class LookBasic(model.Model):
|
|
|
7583
7644
|
content_metadata_id: Optional[str] = None,
|
|
7584
7645
|
id: Optional[str] = None,
|
|
7585
7646
|
title: Optional[str] = None,
|
|
7586
|
-
user_id: Optional[str] = None
|
|
7647
|
+
user_id: Optional[str] = None,
|
|
7648
|
+
certification_metadata: Optional["Certification"] = None
|
|
7587
7649
|
):
|
|
7588
7650
|
self.can = can
|
|
7589
7651
|
self.content_metadata_id = content_metadata_id
|
|
7590
7652
|
self.id = id
|
|
7591
7653
|
self.title = title
|
|
7592
7654
|
self.user_id = user_id
|
|
7655
|
+
self.certification_metadata = certification_metadata
|
|
7593
7656
|
|
|
7594
7657
|
|
|
7595
7658
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -7998,6 +8061,8 @@ class LookmlModelExploreField(model.Model):
|
|
|
7998
8061
|
week_start_day: The name of the starting day of the week. Valid values are: "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday".
|
|
7999
8062
|
times_used: The number of times this field has been used in queries
|
|
8000
8063
|
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.
|
|
8064
|
+
datatype: The data_type for a date in lookml
|
|
8065
|
+
convert_tz: Whether time zones should be converted for datetime fields
|
|
8001
8066
|
"""
|
|
8002
8067
|
|
|
8003
8068
|
align: Optional["Align"] = None
|
|
@@ -8062,6 +8127,8 @@ class LookmlModelExploreField(model.Model):
|
|
|
8062
8127
|
week_start_day: Optional["WeekStartDay"] = None
|
|
8063
8128
|
times_used: Optional[int] = None
|
|
8064
8129
|
original_view: Optional[str] = None
|
|
8130
|
+
datatype: Optional[str] = None
|
|
8131
|
+
convert_tz: Optional[bool] = None
|
|
8065
8132
|
|
|
8066
8133
|
def __init__(
|
|
8067
8134
|
self,
|
|
@@ -8129,7 +8196,9 @@ class LookmlModelExploreField(model.Model):
|
|
|
8129
8196
|
dynamic: Optional[bool] = None,
|
|
8130
8197
|
week_start_day: Optional["WeekStartDay"] = None,
|
|
8131
8198
|
times_used: Optional[int] = None,
|
|
8132
|
-
original_view: Optional[str] = None
|
|
8199
|
+
original_view: Optional[str] = None,
|
|
8200
|
+
datatype: Optional[str] = None,
|
|
8201
|
+
convert_tz: Optional[bool] = None
|
|
8133
8202
|
):
|
|
8134
8203
|
self.align = align
|
|
8135
8204
|
self.can_filter = can_filter
|
|
@@ -8191,6 +8260,8 @@ class LookmlModelExploreField(model.Model):
|
|
|
8191
8260
|
self.week_start_day = week_start_day
|
|
8192
8261
|
self.times_used = times_used
|
|
8193
8262
|
self.original_view = original_view
|
|
8263
|
+
self.datatype = datatype
|
|
8264
|
+
self.convert_tz = convert_tz
|
|
8194
8265
|
|
|
8195
8266
|
|
|
8196
8267
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -8735,6 +8806,7 @@ class LookWithDashboards(model.Model):
|
|
|
8735
8806
|
id: Unique Id
|
|
8736
8807
|
title: Look Title
|
|
8737
8808
|
user_id: User Id
|
|
8809
|
+
certification_metadata:
|
|
8738
8810
|
content_favorite_id: Content Favorite Id
|
|
8739
8811
|
created_at: Time that the Look was created.
|
|
8740
8812
|
deleted: Whether or not a look is 'soft' deleted.
|
|
@@ -8769,6 +8841,7 @@ class LookWithDashboards(model.Model):
|
|
|
8769
8841
|
id: Optional[str] = None
|
|
8770
8842
|
title: Optional[str] = None
|
|
8771
8843
|
user_id: Optional[str] = None
|
|
8844
|
+
certification_metadata: Optional["Certification"] = None
|
|
8772
8845
|
content_favorite_id: Optional[str] = None
|
|
8773
8846
|
created_at: Optional[datetime.datetime] = None
|
|
8774
8847
|
deleted: Optional[bool] = None
|
|
@@ -8805,6 +8878,7 @@ class LookWithDashboards(model.Model):
|
|
|
8805
8878
|
id: Optional[str] = None,
|
|
8806
8879
|
title: Optional[str] = None,
|
|
8807
8880
|
user_id: Optional[str] = None,
|
|
8881
|
+
certification_metadata: Optional["Certification"] = None,
|
|
8808
8882
|
content_favorite_id: Optional[str] = None,
|
|
8809
8883
|
created_at: Optional[datetime.datetime] = None,
|
|
8810
8884
|
deleted: Optional[bool] = None,
|
|
@@ -8838,6 +8912,7 @@ class LookWithDashboards(model.Model):
|
|
|
8838
8912
|
self.id = id
|
|
8839
8913
|
self.title = title
|
|
8840
8914
|
self.user_id = user_id
|
|
8915
|
+
self.certification_metadata = certification_metadata
|
|
8841
8916
|
self.content_favorite_id = content_favorite_id
|
|
8842
8917
|
self.created_at = created_at
|
|
8843
8918
|
self.deleted = deleted
|
|
@@ -8876,6 +8951,7 @@ class LookWithQuery(model.Model):
|
|
|
8876
8951
|
id: Unique Id
|
|
8877
8952
|
title: Look Title
|
|
8878
8953
|
user_id: User Id
|
|
8954
|
+
certification_metadata:
|
|
8879
8955
|
content_favorite_id: Content Favorite Id
|
|
8880
8956
|
created_at: Time that the Look was created.
|
|
8881
8957
|
deleted: Whether or not a look is 'soft' deleted.
|
|
@@ -8911,6 +8987,7 @@ class LookWithQuery(model.Model):
|
|
|
8911
8987
|
id: Optional[str] = None
|
|
8912
8988
|
title: Optional[str] = None
|
|
8913
8989
|
user_id: Optional[str] = None
|
|
8990
|
+
certification_metadata: Optional["Certification"] = None
|
|
8914
8991
|
content_favorite_id: Optional[str] = None
|
|
8915
8992
|
created_at: Optional[datetime.datetime] = None
|
|
8916
8993
|
deleted: Optional[bool] = None
|
|
@@ -8948,6 +9025,7 @@ class LookWithQuery(model.Model):
|
|
|
8948
9025
|
id: Optional[str] = None,
|
|
8949
9026
|
title: Optional[str] = None,
|
|
8950
9027
|
user_id: Optional[str] = None,
|
|
9028
|
+
certification_metadata: Optional["Certification"] = None,
|
|
8951
9029
|
content_favorite_id: Optional[str] = None,
|
|
8952
9030
|
created_at: Optional[datetime.datetime] = None,
|
|
8953
9031
|
deleted: Optional[bool] = None,
|
|
@@ -8982,6 +9060,7 @@ class LookWithQuery(model.Model):
|
|
|
8982
9060
|
self.id = id
|
|
8983
9061
|
self.title = title
|
|
8984
9062
|
self.user_id = user_id
|
|
9063
|
+
self.certification_metadata = certification_metadata
|
|
8985
9064
|
self.content_favorite_id = content_favorite_id
|
|
8986
9065
|
self.created_at = created_at
|
|
8987
9066
|
self.deleted = deleted
|
|
@@ -9787,6 +9866,9 @@ class PasswordConfig(model.Model):
|
|
|
9787
9866
|
require_numeric: Require at least one numeric character
|
|
9788
9867
|
require_upperlower: Require at least one uppercase and one lowercase letter
|
|
9789
9868
|
require_special: Require at least one special character
|
|
9869
|
+
expiration_enabled: Enable/Disable password expiration policy.
|
|
9870
|
+
expiration_duration_days: Number of days before passwords expire. Must be between 30 and 365.
|
|
9871
|
+
policy_enabled_at: The timestamp of when the password expiration policy was last enabled.
|
|
9790
9872
|
"""
|
|
9791
9873
|
|
|
9792
9874
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -9794,6 +9876,9 @@ class PasswordConfig(model.Model):
|
|
|
9794
9876
|
require_numeric: Optional[bool] = None
|
|
9795
9877
|
require_upperlower: Optional[bool] = None
|
|
9796
9878
|
require_special: Optional[bool] = None
|
|
9879
|
+
expiration_enabled: Optional[bool] = None
|
|
9880
|
+
expiration_duration_days: Optional[int] = None
|
|
9881
|
+
policy_enabled_at: Optional[datetime.datetime] = None
|
|
9797
9882
|
|
|
9798
9883
|
def __init__(
|
|
9799
9884
|
self,
|
|
@@ -9802,13 +9887,19 @@ class PasswordConfig(model.Model):
|
|
|
9802
9887
|
min_length: Optional[int] = None,
|
|
9803
9888
|
require_numeric: Optional[bool] = None,
|
|
9804
9889
|
require_upperlower: Optional[bool] = None,
|
|
9805
|
-
require_special: Optional[bool] = None
|
|
9890
|
+
require_special: Optional[bool] = None,
|
|
9891
|
+
expiration_enabled: Optional[bool] = None,
|
|
9892
|
+
expiration_duration_days: Optional[int] = None,
|
|
9893
|
+
policy_enabled_at: Optional[datetime.datetime] = None
|
|
9806
9894
|
):
|
|
9807
9895
|
self.can = can
|
|
9808
9896
|
self.min_length = min_length
|
|
9809
9897
|
self.require_numeric = require_numeric
|
|
9810
9898
|
self.require_upperlower = require_upperlower
|
|
9811
9899
|
self.require_special = require_special
|
|
9900
|
+
self.expiration_enabled = expiration_enabled
|
|
9901
|
+
self.expiration_duration_days = expiration_duration_days
|
|
9902
|
+
self.policy_enabled_at = policy_enabled_at
|
|
9812
9903
|
|
|
9813
9904
|
|
|
9814
9905
|
class Period(enum.Enum):
|
|
@@ -10014,6 +10105,7 @@ class Project(model.Model):
|
|
|
10014
10105
|
git_release_mgmt_enabled: If true, advanced git release management is enabled for this project
|
|
10015
10106
|
allow_warnings: Validation policy: If true, the project can be committed with warnings when `validation_required` is true. (`allow_warnings` does nothing if `validation_required` is false).
|
|
10016
10107
|
is_example: If true the project is an example project and cannot be modified
|
|
10108
|
+
has_production_counterpart: If true the project has been pushed to production.
|
|
10017
10109
|
dependency_status: Status of dependencies in your manifest & lockfile
|
|
10018
10110
|
"""
|
|
10019
10111
|
|
|
@@ -10038,6 +10130,7 @@ class Project(model.Model):
|
|
|
10038
10130
|
git_release_mgmt_enabled: Optional[bool] = None
|
|
10039
10131
|
allow_warnings: Optional[bool] = None
|
|
10040
10132
|
is_example: Optional[bool] = None
|
|
10133
|
+
has_production_counterpart: Optional[bool] = None
|
|
10041
10134
|
dependency_status: Optional[str] = None
|
|
10042
10135
|
|
|
10043
10136
|
def __init__(
|
|
@@ -10064,6 +10157,7 @@ class Project(model.Model):
|
|
|
10064
10157
|
git_release_mgmt_enabled: Optional[bool] = None,
|
|
10065
10158
|
allow_warnings: Optional[bool] = None,
|
|
10066
10159
|
is_example: Optional[bool] = None,
|
|
10160
|
+
has_production_counterpart: Optional[bool] = None,
|
|
10067
10161
|
dependency_status: Optional[str] = None
|
|
10068
10162
|
):
|
|
10069
10163
|
self.can = can
|
|
@@ -10087,6 +10181,7 @@ class Project(model.Model):
|
|
|
10087
10181
|
self.git_release_mgmt_enabled = git_release_mgmt_enabled
|
|
10088
10182
|
self.allow_warnings = allow_warnings
|
|
10089
10183
|
self.is_example = is_example
|
|
10184
|
+
self.has_production_counterpart = has_production_counterpart
|
|
10090
10185
|
self.dependency_status = dependency_status
|
|
10091
10186
|
|
|
10092
10187
|
|
|
@@ -10910,6 +11005,7 @@ class Role(model.Model):
|
|
|
10910
11005
|
permission_set_id: (Write-Only) Id of permission set
|
|
10911
11006
|
model_set:
|
|
10912
11007
|
model_set_id: (Write-Only) Id of model set
|
|
11008
|
+
internal: Is this a Looker internal role
|
|
10913
11009
|
url: Link to get this item
|
|
10914
11010
|
users_url: Link to get list of users with this role
|
|
10915
11011
|
"""
|
|
@@ -10921,6 +11017,7 @@ class Role(model.Model):
|
|
|
10921
11017
|
permission_set_id: Optional[str] = None
|
|
10922
11018
|
model_set: Optional["ModelSet"] = None
|
|
10923
11019
|
model_set_id: Optional[str] = None
|
|
11020
|
+
internal: Optional[bool] = None
|
|
10924
11021
|
url: Optional[str] = None
|
|
10925
11022
|
users_url: Optional[str] = None
|
|
10926
11023
|
|
|
@@ -10934,6 +11031,7 @@ class Role(model.Model):
|
|
|
10934
11031
|
permission_set_id: Optional[str] = None,
|
|
10935
11032
|
model_set: Optional["ModelSet"] = None,
|
|
10936
11033
|
model_set_id: Optional[str] = None,
|
|
11034
|
+
internal: Optional[bool] = None,
|
|
10937
11035
|
url: Optional[str] = None,
|
|
10938
11036
|
users_url: Optional[str] = None
|
|
10939
11037
|
):
|
|
@@ -10944,6 +11042,7 @@ class Role(model.Model):
|
|
|
10944
11042
|
self.permission_set_id = permission_set_id
|
|
10945
11043
|
self.model_set = model_set
|
|
10946
11044
|
self.model_set_id = model_set_id
|
|
11045
|
+
self.internal = internal
|
|
10947
11046
|
self.url = url
|
|
10948
11047
|
self.users_url = users_url
|
|
10949
11048
|
|
|
@@ -10959,6 +11058,7 @@ class RoleSearch(model.Model):
|
|
|
10959
11058
|
permission_set_id: (Write-Only) Id of permission set
|
|
10960
11059
|
model_set:
|
|
10961
11060
|
model_set_id: (Write-Only) Id of model set
|
|
11061
|
+
internal: Is this a Looker internal role
|
|
10962
11062
|
user_count: Count of users with this role
|
|
10963
11063
|
url: Link to get this item
|
|
10964
11064
|
users_url: Link to get list of users with this role
|
|
@@ -10971,6 +11071,7 @@ class RoleSearch(model.Model):
|
|
|
10971
11071
|
permission_set_id: Optional[str] = None
|
|
10972
11072
|
model_set: Optional["ModelSet"] = None
|
|
10973
11073
|
model_set_id: Optional[str] = None
|
|
11074
|
+
internal: Optional[bool] = None
|
|
10974
11075
|
user_count: Optional[int] = None
|
|
10975
11076
|
url: Optional[str] = None
|
|
10976
11077
|
users_url: Optional[str] = None
|
|
@@ -10985,6 +11086,7 @@ class RoleSearch(model.Model):
|
|
|
10985
11086
|
permission_set_id: Optional[str] = None,
|
|
10986
11087
|
model_set: Optional["ModelSet"] = None,
|
|
10987
11088
|
model_set_id: Optional[str] = None,
|
|
11089
|
+
internal: Optional[bool] = None,
|
|
10988
11090
|
user_count: Optional[int] = None,
|
|
10989
11091
|
url: Optional[str] = None,
|
|
10990
11092
|
users_url: Optional[str] = None
|
|
@@ -10996,6 +11098,7 @@ class RoleSearch(model.Model):
|
|
|
10996
11098
|
self.permission_set_id = permission_set_id
|
|
10997
11099
|
self.model_set = model_set
|
|
10998
11100
|
self.model_set_id = model_set_id
|
|
11101
|
+
self.internal = internal
|
|
10999
11102
|
self.user_count = user_count
|
|
11000
11103
|
self.url = url
|
|
11001
11104
|
self.users_url = users_url
|
|
@@ -11031,7 +11134,7 @@ class Run(model.Model):
|
|
|
11031
11134
|
status: Optional[str] = None
|
|
11032
11135
|
git_service: Optional[str] = None
|
|
11033
11136
|
git_state: Optional["CIGitState"] = None
|
|
11034
|
-
result: Optional["
|
|
11137
|
+
result: Optional["RunResult"] = None
|
|
11035
11138
|
schedule: Optional["CIScheduleTrigger"] = None
|
|
11036
11139
|
target_branch: Optional[str] = None
|
|
11037
11140
|
title: Optional[str] = None
|
|
@@ -11051,7 +11154,7 @@ class Run(model.Model):
|
|
|
11051
11154
|
status: Optional[str] = None,
|
|
11052
11155
|
git_service: Optional[str] = None,
|
|
11053
11156
|
git_state: Optional["CIGitState"] = None,
|
|
11054
|
-
result: Optional["
|
|
11157
|
+
result: Optional["RunResult"] = None,
|
|
11055
11158
|
schedule: Optional["CIScheduleTrigger"] = None,
|
|
11056
11159
|
target_branch: Optional[str] = None,
|
|
11057
11160
|
title: Optional[str] = None,
|
|
@@ -11179,6 +11282,55 @@ class RunningQueries(model.Model):
|
|
|
11179
11282
|
self.sql_interface_sql = sql_interface_sql
|
|
11180
11283
|
|
|
11181
11284
|
|
|
11285
|
+
@attr.s(auto_attribs=True, init=False)
|
|
11286
|
+
class RunResult(model.Model):
|
|
11287
|
+
"""
|
|
11288
|
+
Attributes:
|
|
11289
|
+
sql_result:
|
|
11290
|
+
sql_error:
|
|
11291
|
+
assert_result:
|
|
11292
|
+
assert_error:
|
|
11293
|
+
content_result:
|
|
11294
|
+
content_error:
|
|
11295
|
+
lookml_result:
|
|
11296
|
+
lookml_error:
|
|
11297
|
+
generic_error:
|
|
11298
|
+
"""
|
|
11299
|
+
|
|
11300
|
+
sql_result: Optional["SqlValidatorResult"] = None
|
|
11301
|
+
sql_error: Optional["GenericError"] = None
|
|
11302
|
+
assert_result: Optional["AssertValidatorResult"] = None
|
|
11303
|
+
assert_error: Optional["GenericError"] = None
|
|
11304
|
+
content_result: Optional["ContentValidatorResult"] = None
|
|
11305
|
+
content_error: Optional["GenericError"] = None
|
|
11306
|
+
lookml_result: Optional["LookMLValidatorResult"] = None
|
|
11307
|
+
lookml_error: Optional["GenericError"] = None
|
|
11308
|
+
generic_error: Optional["GenericError"] = None
|
|
11309
|
+
|
|
11310
|
+
def __init__(
|
|
11311
|
+
self,
|
|
11312
|
+
*,
|
|
11313
|
+
sql_result: Optional["SqlValidatorResult"] = None,
|
|
11314
|
+
sql_error: Optional["GenericError"] = None,
|
|
11315
|
+
assert_result: Optional["AssertValidatorResult"] = None,
|
|
11316
|
+
assert_error: Optional["GenericError"] = None,
|
|
11317
|
+
content_result: Optional["ContentValidatorResult"] = None,
|
|
11318
|
+
content_error: Optional["GenericError"] = None,
|
|
11319
|
+
lookml_result: Optional["LookMLValidatorResult"] = None,
|
|
11320
|
+
lookml_error: Optional["GenericError"] = None,
|
|
11321
|
+
generic_error: Optional["GenericError"] = None
|
|
11322
|
+
):
|
|
11323
|
+
self.sql_result = sql_result
|
|
11324
|
+
self.sql_error = sql_error
|
|
11325
|
+
self.assert_result = assert_result
|
|
11326
|
+
self.assert_error = assert_error
|
|
11327
|
+
self.content_result = content_result
|
|
11328
|
+
self.content_error = content_error
|
|
11329
|
+
self.lookml_result = lookml_result
|
|
11330
|
+
self.lookml_error = lookml_error
|
|
11331
|
+
self.generic_error = generic_error
|
|
11332
|
+
|
|
11333
|
+
|
|
11182
11334
|
@attr.s(auto_attribs=True, init=False)
|
|
11183
11335
|
class SamlConfig(model.Model):
|
|
11184
11336
|
"""
|
|
@@ -11186,6 +11338,8 @@ class SamlConfig(model.Model):
|
|
|
11186
11338
|
can: Operations the current user is able to perform on this object
|
|
11187
11339
|
enabled: Enable/Disable Saml authentication for the server
|
|
11188
11340
|
idp_cert: Identity Provider Certificate (provided by IdP)
|
|
11341
|
+
idp_cert_multi:
|
|
11342
|
+
multi_certs_supported: Indicates whether this SAML configuration is set up to use multiple Identity Provider certificates (idp_cert_multi) or a single certificate (idp_cert). When true, idp_cert_multi is used; otherwise, idp_cert is used.
|
|
11189
11343
|
idp_url: Identity Provider Url (provided by IdP)
|
|
11190
11344
|
idp_issuer: Identity Provider Issuer (provided by IdP)
|
|
11191
11345
|
idp_audience: Identity Provider Audience (set in IdP config). Optional in Looker. Set this only if you want Looker to validate the audience value returned by the IdP.
|
|
@@ -11221,6 +11375,8 @@ class SamlConfig(model.Model):
|
|
|
11221
11375
|
can: Optional[MutableMapping[str, bool]] = None
|
|
11222
11376
|
enabled: Optional[bool] = None
|
|
11223
11377
|
idp_cert: Optional[str] = None
|
|
11378
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None
|
|
11379
|
+
multi_certs_supported: Optional[bool] = None
|
|
11224
11380
|
idp_url: Optional[str] = None
|
|
11225
11381
|
idp_issuer: Optional[str] = None
|
|
11226
11382
|
idp_audience: Optional[str] = None
|
|
@@ -11258,6 +11414,8 @@ class SamlConfig(model.Model):
|
|
|
11258
11414
|
can: Optional[MutableMapping[str, bool]] = None,
|
|
11259
11415
|
enabled: Optional[bool] = None,
|
|
11260
11416
|
idp_cert: Optional[str] = None,
|
|
11417
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None,
|
|
11418
|
+
multi_certs_supported: Optional[bool] = None,
|
|
11261
11419
|
idp_url: Optional[str] = None,
|
|
11262
11420
|
idp_issuer: Optional[str] = None,
|
|
11263
11421
|
idp_audience: Optional[str] = None,
|
|
@@ -11292,6 +11450,8 @@ class SamlConfig(model.Model):
|
|
|
11292
11450
|
self.can = can
|
|
11293
11451
|
self.enabled = enabled
|
|
11294
11452
|
self.idp_cert = idp_cert
|
|
11453
|
+
self.idp_cert_multi = idp_cert_multi
|
|
11454
|
+
self.multi_certs_supported = multi_certs_supported
|
|
11295
11455
|
self.idp_url = idp_url
|
|
11296
11456
|
self.idp_issuer = idp_issuer
|
|
11297
11457
|
self.idp_audience = idp_audience
|
|
@@ -11398,6 +11558,19 @@ class SamlGroupWrite(model.Model):
|
|
|
11398
11558
|
self.url = url
|
|
11399
11559
|
|
|
11400
11560
|
|
|
11561
|
+
@attr.s(auto_attribs=True, init=False)
|
|
11562
|
+
class SamlIdpCertMulti(model.Model):
|
|
11563
|
+
"""
|
|
11564
|
+
Attributes:
|
|
11565
|
+
signing: List of signing certificates. Values should be without pre-encapsulation and post-encapsulation boundaries
|
|
11566
|
+
"""
|
|
11567
|
+
|
|
11568
|
+
signing: Optional[Sequence[str]] = None
|
|
11569
|
+
|
|
11570
|
+
def __init__(self, *, signing: Optional[Sequence[str]] = None):
|
|
11571
|
+
self.signing = signing
|
|
11572
|
+
|
|
11573
|
+
|
|
11401
11574
|
@attr.s(auto_attribs=True, init=False)
|
|
11402
11575
|
class SamlMetadataParseResult(model.Model):
|
|
11403
11576
|
"""
|
|
@@ -11406,12 +11579,14 @@ class SamlMetadataParseResult(model.Model):
|
|
|
11406
11579
|
idp_issuer: Identify Provider Issuer
|
|
11407
11580
|
idp_url: Identify Provider Url
|
|
11408
11581
|
idp_cert: Identify Provider Certificate
|
|
11582
|
+
idp_cert_multi:
|
|
11409
11583
|
"""
|
|
11410
11584
|
|
|
11411
11585
|
can: Optional[MutableMapping[str, bool]] = None
|
|
11412
11586
|
idp_issuer: Optional[str] = None
|
|
11413
11587
|
idp_url: Optional[str] = None
|
|
11414
11588
|
idp_cert: Optional[str] = None
|
|
11589
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None
|
|
11415
11590
|
|
|
11416
11591
|
def __init__(
|
|
11417
11592
|
self,
|
|
@@ -11419,12 +11594,14 @@ class SamlMetadataParseResult(model.Model):
|
|
|
11419
11594
|
can: Optional[MutableMapping[str, bool]] = None,
|
|
11420
11595
|
idp_issuer: Optional[str] = None,
|
|
11421
11596
|
idp_url: Optional[str] = None,
|
|
11422
|
-
idp_cert: Optional[str] = None
|
|
11597
|
+
idp_cert: Optional[str] = None,
|
|
11598
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None
|
|
11423
11599
|
):
|
|
11424
11600
|
self.can = can
|
|
11425
11601
|
self.idp_issuer = idp_issuer
|
|
11426
11602
|
self.idp_url = idp_url
|
|
11427
11603
|
self.idp_cert = idp_cert
|
|
11604
|
+
self.idp_cert_multi = idp_cert_multi
|
|
11428
11605
|
|
|
11429
11606
|
|
|
11430
11607
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -12078,6 +12255,7 @@ class Setting(model.Model):
|
|
|
12078
12255
|
dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
|
|
12079
12256
|
dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
|
|
12080
12257
|
managed_certificate_uri: Array of URIs pointing to the location of a root certificate in Secret Manager
|
|
12258
|
+
content_certification_documentation_link: Link to content certification documentation.
|
|
12081
12259
|
"""
|
|
12082
12260
|
|
|
12083
12261
|
instance_config: Optional["InstanceConfig"] = None
|
|
@@ -12105,6 +12283,7 @@ class Setting(model.Model):
|
|
|
12105
12283
|
dashboard_auto_refresh_restriction: Optional[bool] = None
|
|
12106
12284
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None
|
|
12107
12285
|
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
12286
|
+
content_certification_documentation_link: Optional[str] = None
|
|
12108
12287
|
|
|
12109
12288
|
def __init__(
|
|
12110
12289
|
self,
|
|
@@ -12133,7 +12312,8 @@ class Setting(model.Model):
|
|
|
12133
12312
|
login_notification_text: Optional[str] = None,
|
|
12134
12313
|
dashboard_auto_refresh_restriction: Optional[bool] = None,
|
|
12135
12314
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None,
|
|
12136
|
-
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
12315
|
+
managed_certificate_uri: Optional[Sequence[str]] = None,
|
|
12316
|
+
content_certification_documentation_link: Optional[str] = None
|
|
12137
12317
|
):
|
|
12138
12318
|
self.instance_config = instance_config
|
|
12139
12319
|
self.extension_framework_enabled = extension_framework_enabled
|
|
@@ -12162,6 +12342,9 @@ class Setting(model.Model):
|
|
|
12162
12342
|
dashboard_auto_refresh_minimum_interval
|
|
12163
12343
|
)
|
|
12164
12344
|
self.managed_certificate_uri = managed_certificate_uri
|
|
12345
|
+
self.content_certification_documentation_link = (
|
|
12346
|
+
content_certification_documentation_link
|
|
12347
|
+
)
|
|
12165
12348
|
|
|
12166
12349
|
|
|
12167
12350
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -13267,8 +13450,8 @@ class User(model.Model):
|
|
|
13267
13450
|
embed_group_folder_id: (Embed only) ID of user's group folder based on the external_group_id optionally specified during embed user login
|
|
13268
13451
|
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.
|
|
13269
13452
|
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.
|
|
13270
|
-
is_service_account: Indicates if this user is a service account.
|
|
13271
|
-
service_account_name: The display name of the service account. This field is omitted for non service account users.
|
|
13453
|
+
is_service_account: Indicates if this user is a service account.
|
|
13454
|
+
service_account_name: The display name of the service account. This field is omitted for non service account users.
|
|
13272
13455
|
url: Link to get this item
|
|
13273
13456
|
"""
|
|
13274
13457
|
|
|
@@ -14208,6 +14391,30 @@ class WriteBoardSection(model.Model):
|
|
|
14208
14391
|
self.title = title
|
|
14209
14392
|
|
|
14210
14393
|
|
|
14394
|
+
@attr.s(auto_attribs=True, init=False)
|
|
14395
|
+
class WriteCertification(model.Model):
|
|
14396
|
+
"""
|
|
14397
|
+
Dynamic writeable type for Certification removes:
|
|
14398
|
+
user_name, updated_at
|
|
14399
|
+
|
|
14400
|
+
Attributes:
|
|
14401
|
+
certification_status: Certification status: "certified" or "revoked" Valid values are: "certified", "revoked".
|
|
14402
|
+
notes: Certification notes
|
|
14403
|
+
"""
|
|
14404
|
+
|
|
14405
|
+
certification_status: Optional["CertificationStatus"] = None
|
|
14406
|
+
notes: Optional[str] = None
|
|
14407
|
+
|
|
14408
|
+
def __init__(
|
|
14409
|
+
self,
|
|
14410
|
+
*,
|
|
14411
|
+
certification_status: Optional["CertificationStatus"] = None,
|
|
14412
|
+
notes: Optional[str] = None
|
|
14413
|
+
):
|
|
14414
|
+
self.certification_status = certification_status
|
|
14415
|
+
self.notes = notes
|
|
14416
|
+
|
|
14417
|
+
|
|
14211
14418
|
@attr.s(auto_attribs=True, init=False)
|
|
14212
14419
|
class WriteColorCollection(model.Model):
|
|
14213
14420
|
"""
|
|
@@ -14467,6 +14674,8 @@ class WriteDashboard(model.Model):
|
|
|
14467
14674
|
title: Dashboard Title
|
|
14468
14675
|
slug: Content Metadata Slug
|
|
14469
14676
|
preferred_viewer: The preferred route for viewing this dashboard (ie: dashboards or dashboards-next)
|
|
14677
|
+
certification_metadata: Dynamic writeable type for Certification removes:
|
|
14678
|
+
user_name, updated_at
|
|
14470
14679
|
alert_sync_with_dashboard_filter_enabled: Enables alerts to keep in sync with dashboard filter changes
|
|
14471
14680
|
background_color: Background color
|
|
14472
14681
|
crossfilter_enabled: Enables crossfiltering in dashboards - only available in dashboards-next (beta)
|
|
@@ -14484,6 +14693,7 @@ class WriteDashboard(model.Model):
|
|
|
14484
14693
|
tile_text_color: Tile text color
|
|
14485
14694
|
title_color: Title color
|
|
14486
14695
|
appearance:
|
|
14696
|
+
layout_granularity: The layout granularity to apply to this dashboard (ie: default or granular)
|
|
14487
14697
|
"""
|
|
14488
14698
|
|
|
14489
14699
|
description: Optional[str] = None
|
|
@@ -14494,6 +14704,7 @@ class WriteDashboard(model.Model):
|
|
|
14494
14704
|
title: Optional[str] = None
|
|
14495
14705
|
slug: Optional[str] = None
|
|
14496
14706
|
preferred_viewer: Optional[str] = None
|
|
14707
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
14497
14708
|
alert_sync_with_dashboard_filter_enabled: Optional[bool] = None
|
|
14498
14709
|
background_color: Optional[str] = None
|
|
14499
14710
|
crossfilter_enabled: Optional[bool] = None
|
|
@@ -14511,6 +14722,7 @@ class WriteDashboard(model.Model):
|
|
|
14511
14722
|
tile_text_color: Optional[str] = None
|
|
14512
14723
|
title_color: Optional[str] = None
|
|
14513
14724
|
appearance: Optional["DashboardAppearance"] = None
|
|
14725
|
+
layout_granularity: Optional[str] = None
|
|
14514
14726
|
|
|
14515
14727
|
def __init__(
|
|
14516
14728
|
self,
|
|
@@ -14523,6 +14735,7 @@ class WriteDashboard(model.Model):
|
|
|
14523
14735
|
title: Optional[str] = None,
|
|
14524
14736
|
slug: Optional[str] = None,
|
|
14525
14737
|
preferred_viewer: Optional[str] = None,
|
|
14738
|
+
certification_metadata: Optional["WriteCertification"] = None,
|
|
14526
14739
|
alert_sync_with_dashboard_filter_enabled: Optional[bool] = None,
|
|
14527
14740
|
background_color: Optional[str] = None,
|
|
14528
14741
|
crossfilter_enabled: Optional[bool] = None,
|
|
@@ -14539,7 +14752,8 @@ class WriteDashboard(model.Model):
|
|
|
14539
14752
|
tile_background_color: Optional[str] = None,
|
|
14540
14753
|
tile_text_color: Optional[str] = None,
|
|
14541
14754
|
title_color: Optional[str] = None,
|
|
14542
|
-
appearance: Optional["DashboardAppearance"] = None
|
|
14755
|
+
appearance: Optional["DashboardAppearance"] = None,
|
|
14756
|
+
layout_granularity: Optional[str] = None
|
|
14543
14757
|
):
|
|
14544
14758
|
self.description = description
|
|
14545
14759
|
self.hidden = hidden
|
|
@@ -14549,6 +14763,7 @@ class WriteDashboard(model.Model):
|
|
|
14549
14763
|
self.title = title
|
|
14550
14764
|
self.slug = slug
|
|
14551
14765
|
self.preferred_viewer = preferred_viewer
|
|
14766
|
+
self.certification_metadata = certification_metadata
|
|
14552
14767
|
self.alert_sync_with_dashboard_filter_enabled = (
|
|
14553
14768
|
alert_sync_with_dashboard_filter_enabled
|
|
14554
14769
|
)
|
|
@@ -14568,6 +14783,7 @@ class WriteDashboard(model.Model):
|
|
|
14568
14783
|
self.tile_text_color = tile_text_color
|
|
14569
14784
|
self.title_color = title_color
|
|
14570
14785
|
self.appearance = appearance
|
|
14786
|
+
self.layout_granularity = layout_granularity
|
|
14571
14787
|
|
|
14572
14788
|
|
|
14573
14789
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -14579,12 +14795,21 @@ class WriteDashboardBase(model.Model):
|
|
|
14579
14795
|
Attributes:
|
|
14580
14796
|
folder: Dynamic writeable type for FolderBase removes:
|
|
14581
14797
|
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
|
|
14798
|
+
certification_metadata: Dynamic writeable type for Certification removes:
|
|
14799
|
+
user_name, updated_at
|
|
14582
14800
|
"""
|
|
14583
14801
|
|
|
14584
14802
|
folder: Optional["WriteFolderBase"] = None
|
|
14803
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
14585
14804
|
|
|
14586
|
-
def __init__(
|
|
14805
|
+
def __init__(
|
|
14806
|
+
self,
|
|
14807
|
+
*,
|
|
14808
|
+
folder: Optional["WriteFolderBase"] = None,
|
|
14809
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
14810
|
+
):
|
|
14587
14811
|
self.folder = folder
|
|
14812
|
+
self.certification_metadata = certification_metadata
|
|
14588
14813
|
|
|
14589
14814
|
|
|
14590
14815
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -14596,6 +14821,7 @@ class WriteDashboardElement(model.Model):
|
|
|
14596
14821
|
Attributes:
|
|
14597
14822
|
body_text: Text tile body text
|
|
14598
14823
|
dashboard_id: Id of Dashboard
|
|
14824
|
+
dashboard_layout_id: Id of Dashboard Layout
|
|
14599
14825
|
look: Dynamic writeable type for LookWithQuery removes:
|
|
14600
14826
|
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
|
|
14601
14827
|
look_id: Id Of Look
|
|
@@ -14622,6 +14848,7 @@ class WriteDashboardElement(model.Model):
|
|
|
14622
14848
|
|
|
14623
14849
|
body_text: Optional[str] = None
|
|
14624
14850
|
dashboard_id: Optional[str] = None
|
|
14851
|
+
dashboard_layout_id: Optional[str] = None
|
|
14625
14852
|
look: Optional["WriteLookWithQuery"] = None
|
|
14626
14853
|
look_id: Optional[str] = None
|
|
14627
14854
|
merge_result_id: Optional[str] = None
|
|
@@ -14647,6 +14874,7 @@ class WriteDashboardElement(model.Model):
|
|
|
14647
14874
|
*,
|
|
14648
14875
|
body_text: Optional[str] = None,
|
|
14649
14876
|
dashboard_id: Optional[str] = None,
|
|
14877
|
+
dashboard_layout_id: Optional[str] = None,
|
|
14650
14878
|
look: Optional["WriteLookWithQuery"] = None,
|
|
14651
14879
|
look_id: Optional[str] = None,
|
|
14652
14880
|
merge_result_id: Optional[str] = None,
|
|
@@ -14671,6 +14899,7 @@ class WriteDashboardElement(model.Model):
|
|
|
14671
14899
|
):
|
|
14672
14900
|
self.body_text = body_text
|
|
14673
14901
|
self.dashboard_id = dashboard_id
|
|
14902
|
+
self.dashboard_layout_id = dashboard_layout_id
|
|
14674
14903
|
self.look = look
|
|
14675
14904
|
self.look_id = look_id
|
|
14676
14905
|
self.merge_result_id = merge_result_id
|
|
@@ -14817,6 +15046,10 @@ class WriteDashboardLayoutComponent(model.Model):
|
|
|
14817
15046
|
column: Column
|
|
14818
15047
|
width: Width
|
|
14819
15048
|
height: Height
|
|
15049
|
+
granular_row: Row (granular layout)
|
|
15050
|
+
granular_column: Column (granular layout)
|
|
15051
|
+
granular_width: Width (granular layout)
|
|
15052
|
+
granular_height: Height (granular layout)
|
|
14820
15053
|
"""
|
|
14821
15054
|
|
|
14822
15055
|
dashboard_layout_id: Optional[str] = None
|
|
@@ -14825,6 +15058,10 @@ class WriteDashboardLayoutComponent(model.Model):
|
|
|
14825
15058
|
column: Optional[int] = None
|
|
14826
15059
|
width: Optional[int] = None
|
|
14827
15060
|
height: Optional[int] = None
|
|
15061
|
+
granular_row: Optional[int] = None
|
|
15062
|
+
granular_column: Optional[int] = None
|
|
15063
|
+
granular_width: Optional[int] = None
|
|
15064
|
+
granular_height: Optional[int] = None
|
|
14828
15065
|
|
|
14829
15066
|
def __init__(
|
|
14830
15067
|
self,
|
|
@@ -14834,7 +15071,11 @@ class WriteDashboardLayoutComponent(model.Model):
|
|
|
14834
15071
|
row: Optional[int] = None,
|
|
14835
15072
|
column: Optional[int] = None,
|
|
14836
15073
|
width: Optional[int] = None,
|
|
14837
|
-
height: Optional[int] = None
|
|
15074
|
+
height: Optional[int] = None,
|
|
15075
|
+
granular_row: Optional[int] = None,
|
|
15076
|
+
granular_column: Optional[int] = None,
|
|
15077
|
+
granular_width: Optional[int] = None,
|
|
15078
|
+
granular_height: Optional[int] = None
|
|
14838
15079
|
):
|
|
14839
15080
|
self.dashboard_layout_id = dashboard_layout_id
|
|
14840
15081
|
self.dashboard_element_id = dashboard_element_id
|
|
@@ -14842,6 +15083,10 @@ class WriteDashboardLayoutComponent(model.Model):
|
|
|
14842
15083
|
self.column = column
|
|
14843
15084
|
self.width = width
|
|
14844
15085
|
self.height = height
|
|
15086
|
+
self.granular_row = granular_row
|
|
15087
|
+
self.granular_column = granular_column
|
|
15088
|
+
self.granular_width = granular_width
|
|
15089
|
+
self.granular_height = granular_height
|
|
14845
15090
|
|
|
14846
15091
|
|
|
14847
15092
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -14890,7 +15135,7 @@ class WriteDatagroup(model.Model):
|
|
|
14890
15135
|
class WriteDBConnection(model.Model):
|
|
14891
15136
|
"""
|
|
14892
15137
|
Dynamic writeable type for DBConnection removes:
|
|
14893
|
-
can, dialect, snippets, pdts_enabled, named_driver_version_actual, uses_oauth, uses_instance_oauth, uses_service_auth, supports_data_studio_link, created_at, user_id, example, last_regen_at, last_reap_at, managed, default_bq_connection, p4sa_name
|
|
15138
|
+
can, dialect, snippets, pdts_enabled, named_driver_version_actual, has_password, uses_oauth, uses_instance_oauth, uses_service_auth, supports_data_studio_link, created_at, user_id, example, last_regen_at, last_reap_at, managed, default_bq_connection, p4sa_name
|
|
14894
15139
|
|
|
14895
15140
|
Attributes:
|
|
14896
15141
|
name: Name of the connection. Also used as the unique identifier
|
|
@@ -15287,6 +15532,7 @@ class WriteExternalOauthApplication(model.Model):
|
|
|
15287
15532
|
client_secret: (Write-Only) The OAuth Client Secret for this application
|
|
15288
15533
|
tenant_id: The OAuth Tenant ID for this application
|
|
15289
15534
|
dialect_name: The database dialect for this application.
|
|
15535
|
+
bi_directional_data_access: Whether this application supports bi-directional data access.
|
|
15290
15536
|
"""
|
|
15291
15537
|
|
|
15292
15538
|
name: Optional[str] = None
|
|
@@ -15294,6 +15540,7 @@ class WriteExternalOauthApplication(model.Model):
|
|
|
15294
15540
|
client_secret: Optional[str] = None
|
|
15295
15541
|
tenant_id: Optional[str] = None
|
|
15296
15542
|
dialect_name: Optional[str] = None
|
|
15543
|
+
bi_directional_data_access: Optional[bool] = None
|
|
15297
15544
|
|
|
15298
15545
|
def __init__(
|
|
15299
15546
|
self,
|
|
@@ -15302,13 +15549,15 @@ class WriteExternalOauthApplication(model.Model):
|
|
|
15302
15549
|
client_id: Optional[str] = None,
|
|
15303
15550
|
client_secret: Optional[str] = None,
|
|
15304
15551
|
tenant_id: Optional[str] = None,
|
|
15305
|
-
dialect_name: Optional[str] = None
|
|
15552
|
+
dialect_name: Optional[str] = None,
|
|
15553
|
+
bi_directional_data_access: Optional[bool] = None
|
|
15306
15554
|
):
|
|
15307
15555
|
self.name = name
|
|
15308
15556
|
self.client_id = client_id
|
|
15309
15557
|
self.client_secret = client_secret
|
|
15310
15558
|
self.tenant_id = tenant_id
|
|
15311
15559
|
self.dialect_name = dialect_name
|
|
15560
|
+
self.bi_directional_data_access = bi_directional_data_access
|
|
15312
15561
|
|
|
15313
15562
|
|
|
15314
15563
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -15638,12 +15887,21 @@ class WriteLookBasic(model.Model):
|
|
|
15638
15887
|
|
|
15639
15888
|
Attributes:
|
|
15640
15889
|
user_id: User Id
|
|
15890
|
+
certification_metadata: Dynamic writeable type for Certification removes:
|
|
15891
|
+
user_name, updated_at
|
|
15641
15892
|
"""
|
|
15642
15893
|
|
|
15643
15894
|
user_id: Optional[str] = None
|
|
15895
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
15644
15896
|
|
|
15645
|
-
def __init__(
|
|
15897
|
+
def __init__(
|
|
15898
|
+
self,
|
|
15899
|
+
*,
|
|
15900
|
+
user_id: Optional[str] = None,
|
|
15901
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
15902
|
+
):
|
|
15646
15903
|
self.user_id = user_id
|
|
15904
|
+
self.certification_metadata = certification_metadata
|
|
15647
15905
|
|
|
15648
15906
|
|
|
15649
15907
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -15687,6 +15945,8 @@ class WriteLookWithQuery(model.Model):
|
|
|
15687
15945
|
Attributes:
|
|
15688
15946
|
title: Look Title
|
|
15689
15947
|
user_id: User Id
|
|
15948
|
+
certification_metadata: Dynamic writeable type for Certification removes:
|
|
15949
|
+
user_name, updated_at
|
|
15690
15950
|
deleted: Whether or not a look is 'soft' deleted.
|
|
15691
15951
|
description: Description
|
|
15692
15952
|
is_run_on_load: auto-run query when Look viewed
|
|
@@ -15701,6 +15961,7 @@ class WriteLookWithQuery(model.Model):
|
|
|
15701
15961
|
|
|
15702
15962
|
title: Optional[str] = None
|
|
15703
15963
|
user_id: Optional[str] = None
|
|
15964
|
+
certification_metadata: Optional["WriteCertification"] = None
|
|
15704
15965
|
deleted: Optional[bool] = None
|
|
15705
15966
|
description: Optional[str] = None
|
|
15706
15967
|
is_run_on_load: Optional[bool] = None
|
|
@@ -15715,6 +15976,7 @@ class WriteLookWithQuery(model.Model):
|
|
|
15715
15976
|
*,
|
|
15716
15977
|
title: Optional[str] = None,
|
|
15717
15978
|
user_id: Optional[str] = None,
|
|
15979
|
+
certification_metadata: Optional["WriteCertification"] = None,
|
|
15718
15980
|
deleted: Optional[bool] = None,
|
|
15719
15981
|
description: Optional[str] = None,
|
|
15720
15982
|
is_run_on_load: Optional[bool] = None,
|
|
@@ -15726,6 +15988,7 @@ class WriteLookWithQuery(model.Model):
|
|
|
15726
15988
|
):
|
|
15727
15989
|
self.title = title
|
|
15728
15990
|
self.user_id = user_id
|
|
15991
|
+
self.certification_metadata = certification_metadata
|
|
15729
15992
|
self.deleted = deleted
|
|
15730
15993
|
self.description = description
|
|
15731
15994
|
self.is_run_on_load = is_run_on_load
|
|
@@ -15973,19 +16236,23 @@ class WriteOIDCConfig(model.Model):
|
|
|
15973
16236
|
class WritePasswordConfig(model.Model):
|
|
15974
16237
|
"""
|
|
15975
16238
|
Dynamic writeable type for PasswordConfig removes:
|
|
15976
|
-
can
|
|
16239
|
+
can, policy_enabled_at
|
|
15977
16240
|
|
|
15978
16241
|
Attributes:
|
|
15979
16242
|
min_length: Minimum number of characters required for a new password. Must be between 7 and 100
|
|
15980
16243
|
require_numeric: Require at least one numeric character
|
|
15981
16244
|
require_upperlower: Require at least one uppercase and one lowercase letter
|
|
15982
16245
|
require_special: Require at least one special character
|
|
16246
|
+
expiration_enabled: Enable/Disable password expiration policy.
|
|
16247
|
+
expiration_duration_days: Number of days before passwords expire. Must be between 30 and 365.
|
|
15983
16248
|
"""
|
|
15984
16249
|
|
|
15985
16250
|
min_length: Optional[int] = None
|
|
15986
16251
|
require_numeric: Optional[bool] = None
|
|
15987
16252
|
require_upperlower: Optional[bool] = None
|
|
15988
16253
|
require_special: Optional[bool] = None
|
|
16254
|
+
expiration_enabled: Optional[bool] = None
|
|
16255
|
+
expiration_duration_days: Optional[int] = None
|
|
15989
16256
|
|
|
15990
16257
|
def __init__(
|
|
15991
16258
|
self,
|
|
@@ -15993,12 +16260,16 @@ class WritePasswordConfig(model.Model):
|
|
|
15993
16260
|
min_length: Optional[int] = None,
|
|
15994
16261
|
require_numeric: Optional[bool] = None,
|
|
15995
16262
|
require_upperlower: Optional[bool] = None,
|
|
15996
|
-
require_special: Optional[bool] = None
|
|
16263
|
+
require_special: Optional[bool] = None,
|
|
16264
|
+
expiration_enabled: Optional[bool] = None,
|
|
16265
|
+
expiration_duration_days: Optional[int] = None
|
|
15997
16266
|
):
|
|
15998
16267
|
self.min_length = min_length
|
|
15999
16268
|
self.require_numeric = require_numeric
|
|
16000
16269
|
self.require_upperlower = require_upperlower
|
|
16001
16270
|
self.require_special = require_special
|
|
16271
|
+
self.expiration_enabled = expiration_enabled
|
|
16272
|
+
self.expiration_duration_days = expiration_duration_days
|
|
16002
16273
|
|
|
16003
16274
|
|
|
16004
16275
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -16094,7 +16365,7 @@ class WritePrivatelabelConfiguration(model.Model):
|
|
|
16094
16365
|
class WriteProject(model.Model):
|
|
16095
16366
|
"""
|
|
16096
16367
|
Dynamic writeable type for Project removes:
|
|
16097
|
-
can, id, uses_git, is_example
|
|
16368
|
+
can, id, uses_git, is_example, has_production_counterpart
|
|
16098
16369
|
|
|
16099
16370
|
Attributes:
|
|
16100
16371
|
name: Project display name
|
|
@@ -16351,7 +16622,7 @@ class WriteResultMakerWithIdVisConfigAndDynamicFields(model.Model):
|
|
|
16351
16622
|
class WriteRole(model.Model):
|
|
16352
16623
|
"""
|
|
16353
16624
|
Dynamic writeable type for Role removes:
|
|
16354
|
-
can, id, url, users_url
|
|
16625
|
+
can, id, internal, url, users_url
|
|
16355
16626
|
|
|
16356
16627
|
Attributes:
|
|
16357
16628
|
name: Name of Role
|
|
@@ -16394,6 +16665,8 @@ class WriteSamlConfig(model.Model):
|
|
|
16394
16665
|
Attributes:
|
|
16395
16666
|
enabled: Enable/Disable Saml authentication for the server
|
|
16396
16667
|
idp_cert: Identity Provider Certificate (provided by IdP)
|
|
16668
|
+
idp_cert_multi:
|
|
16669
|
+
multi_certs_supported: Indicates whether this SAML configuration is set up to use multiple Identity Provider certificates (idp_cert_multi) or a single certificate (idp_cert). When true, idp_cert_multi is used; otherwise, idp_cert is used.
|
|
16397
16670
|
idp_url: Identity Provider Url (provided by IdP)
|
|
16398
16671
|
idp_issuer: Identity Provider Issuer (provided by IdP)
|
|
16399
16672
|
idp_audience: Identity Provider Audience (set in IdP config). Optional in Looker. Set this only if you want Looker to validate the audience value returned by the IdP.
|
|
@@ -16420,6 +16693,8 @@ class WriteSamlConfig(model.Model):
|
|
|
16420
16693
|
|
|
16421
16694
|
enabled: Optional[bool] = None
|
|
16422
16695
|
idp_cert: Optional[str] = None
|
|
16696
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None
|
|
16697
|
+
multi_certs_supported: Optional[bool] = None
|
|
16423
16698
|
idp_url: Optional[str] = None
|
|
16424
16699
|
idp_issuer: Optional[str] = None
|
|
16425
16700
|
idp_audience: Optional[str] = None
|
|
@@ -16448,6 +16723,8 @@ class WriteSamlConfig(model.Model):
|
|
|
16448
16723
|
*,
|
|
16449
16724
|
enabled: Optional[bool] = None,
|
|
16450
16725
|
idp_cert: Optional[str] = None,
|
|
16726
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None,
|
|
16727
|
+
multi_certs_supported: Optional[bool] = None,
|
|
16451
16728
|
idp_url: Optional[str] = None,
|
|
16452
16729
|
idp_issuer: Optional[str] = None,
|
|
16453
16730
|
idp_audience: Optional[str] = None,
|
|
@@ -16473,6 +16750,8 @@ class WriteSamlConfig(model.Model):
|
|
|
16473
16750
|
):
|
|
16474
16751
|
self.enabled = enabled
|
|
16475
16752
|
self.idp_cert = idp_cert
|
|
16753
|
+
self.idp_cert_multi = idp_cert_multi
|
|
16754
|
+
self.multi_certs_supported = multi_certs_supported
|
|
16476
16755
|
self.idp_url = idp_url
|
|
16477
16756
|
self.idp_issuer = idp_issuer
|
|
16478
16757
|
self.idp_audience = idp_audience
|
|
@@ -16724,6 +17003,7 @@ class WriteSetting(model.Model):
|
|
|
16724
17003
|
dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
|
|
16725
17004
|
dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
|
|
16726
17005
|
managed_certificate_uri: Array of URIs pointing to the location of a root certificate in Secret Manager
|
|
17006
|
+
content_certification_documentation_link: Link to content certification documentation.
|
|
16727
17007
|
"""
|
|
16728
17008
|
|
|
16729
17009
|
extension_framework_enabled: Optional[bool] = None
|
|
@@ -16746,6 +17026,7 @@ class WriteSetting(model.Model):
|
|
|
16746
17026
|
dashboard_auto_refresh_restriction: Optional[bool] = None
|
|
16747
17027
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None
|
|
16748
17028
|
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
17029
|
+
content_certification_documentation_link: Optional[str] = None
|
|
16749
17030
|
|
|
16750
17031
|
def __init__(
|
|
16751
17032
|
self,
|
|
@@ -16769,7 +17050,8 @@ class WriteSetting(model.Model):
|
|
|
16769
17050
|
embed_config: Optional["WriteEmbedConfig"] = None,
|
|
16770
17051
|
dashboard_auto_refresh_restriction: Optional[bool] = None,
|
|
16771
17052
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None,
|
|
16772
|
-
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
17053
|
+
managed_certificate_uri: Optional[Sequence[str]] = None,
|
|
17054
|
+
content_certification_documentation_link: Optional[str] = None
|
|
16773
17055
|
):
|
|
16774
17056
|
self.extension_framework_enabled = extension_framework_enabled
|
|
16775
17057
|
self.extension_load_url_enabled = extension_load_url_enabled
|
|
@@ -16793,6 +17075,9 @@ class WriteSetting(model.Model):
|
|
|
16793
17075
|
dashboard_auto_refresh_minimum_interval
|
|
16794
17076
|
)
|
|
16795
17077
|
self.managed_certificate_uri = managed_certificate_uri
|
|
17078
|
+
self.content_certification_documentation_link = (
|
|
17079
|
+
content_certification_documentation_link
|
|
17080
|
+
)
|
|
16796
17081
|
|
|
16797
17082
|
|
|
16798
17083
|
@attr.s(auto_attribs=True, init=False)
|