looker-sdk 25.20.0__tar.gz → 26.0.0__tar.gz
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-25.20.0/looker_sdk.egg-info → looker_sdk-26.0.0}/PKG-INFO +1 -1
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/sdk/api40/methods.py +104 -63
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/sdk/api40/models.py +150 -17
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/sdk/constants.py +1 -1
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/version.py +1 -1
- {looker_sdk-25.20.0 → looker_sdk-26.0.0/looker_sdk.egg-info}/PKG-INFO +1 -1
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/LICENSE.txt +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/MANIFEST.in +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/README.rst +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/__init__.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/error.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/py.typed +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/__init__.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/api_methods.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/api_settings.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/auth_session.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/auth_token.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/constants.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/hooks.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/model.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/requests_transport.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/serialize.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/rtl/transport.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/sdk/__init__.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk/sdk/api40/__init__.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk.egg-info/SOURCES.txt +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk.egg-info/dependency_links.txt +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk.egg-info/requires.txt +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/looker_sdk.egg-info/top_level.txt +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/setup.cfg +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/setup.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/integration/__init__.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/integration/test_methods.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/integration/test_netrc.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/rtl/__init__.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/rtl/test_api_methods.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/rtl/test_api_settings.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/rtl/test_auth_session.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/rtl/test_auth_token.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/rtl/test_requests_transport.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/rtl/test_serialize.py +0 -0
- {looker_sdk-25.20.0 → looker_sdk-26.0.0}/tests/rtl/test_transport.py +0 -0
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
# SOFTWARE.
|
|
22
22
|
#
|
|
23
23
|
|
|
24
|
-
#
|
|
24
|
+
# 478 API methods
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
|
|
@@ -3779,6 +3779,29 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
3779
3779
|
)
|
|
3780
3780
|
return response
|
|
3781
3781
|
|
|
3782
|
+
# ### Delete an OAuth Application.
|
|
3783
|
+
#
|
|
3784
|
+
# This is an OAuth Application which Looker uses to access external systems.
|
|
3785
|
+
#
|
|
3786
|
+
# DELETE /external_oauth_applications/{client_id} -> str
|
|
3787
|
+
def delete_external_oauth_application(
|
|
3788
|
+
self,
|
|
3789
|
+
# The client ID of the OAuth App to delete
|
|
3790
|
+
client_id: str,
|
|
3791
|
+
transport_options: Optional[transport.TransportOptions] = None,
|
|
3792
|
+
) -> str:
|
|
3793
|
+
"""Delete External OAuth Application"""
|
|
3794
|
+
client_id = self.encode_path_param(client_id)
|
|
3795
|
+
response = cast(
|
|
3796
|
+
str,
|
|
3797
|
+
self.delete(
|
|
3798
|
+
path=f"/external_oauth_applications/{client_id}",
|
|
3799
|
+
structure=str,
|
|
3800
|
+
transport_options=transport_options,
|
|
3801
|
+
),
|
|
3802
|
+
)
|
|
3803
|
+
return response
|
|
3804
|
+
|
|
3782
3805
|
# ### Create OAuth User state.
|
|
3783
3806
|
#
|
|
3784
3807
|
# POST /external_oauth_applications/user_state -> mdls.CreateOAuthApplicationUserStateResponse
|
|
@@ -4115,6 +4138,8 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
4115
4138
|
look_id: Optional[str] = None,
|
|
4116
4139
|
# Match board id(s). To create a list of multiple ids, use commas as separators
|
|
4117
4140
|
board_id: Optional[str] = None,
|
|
4141
|
+
# Match lookml dashboard id(s). To create a list of multiple ids, use commas as separators
|
|
4142
|
+
lookml_dashboard_id: Optional[str] = None,
|
|
4118
4143
|
# If true, and board_id is provided, returns the content favorites for all items on the board. If false, returns the content favorite for the board itself.
|
|
4119
4144
|
include_board_items: Optional[bool] = None,
|
|
4120
4145
|
# Number of results to return. (used with offset)
|
|
@@ -4142,6 +4167,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
4142
4167
|
"dashboard_id": dashboard_id,
|
|
4143
4168
|
"look_id": look_id,
|
|
4144
4169
|
"board_id": board_id,
|
|
4170
|
+
"lookml_dashboard_id": lookml_dashboard_id,
|
|
4145
4171
|
"include_board_items": include_board_items,
|
|
4146
4172
|
"limit": limit,
|
|
4147
4173
|
"offset": offset,
|
|
@@ -8536,6 +8562,10 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
8536
8562
|
# metadata. The remote git repository MUST be configured with the Looker-generated deploy
|
|
8537
8563
|
# key for this project prior to setting the project's `git_remote_url`.
|
|
8538
8564
|
#
|
|
8565
|
+
# Note that Looker will validate the git connection when the `git_remote_url` is modified.
|
|
8566
|
+
# If Looker cannot connect to the remote repository (e.g. because the deploy key has not
|
|
8567
|
+
# been added), the update will fail with a 400 Bad Request error.
|
|
8568
|
+
#
|
|
8539
8569
|
# To set up a Looker project with a git repository residing on the Looker server (a 'bare' git repo):
|
|
8540
8570
|
#
|
|
8541
8571
|
# 1. Call `update_session` to select the 'dev' workspace.
|
|
@@ -12130,7 +12160,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12130
12160
|
group_id: Optional[str] = None,
|
|
12131
12161
|
# Search for users who 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). Availability of this filter is limited to users with permission to view complete user details. This is an experimental feature and may not yet be available on your instance.
|
|
12132
12162
|
can_manage_api3_creds: Optional[bool] = None,
|
|
12133
|
-
# Search for service account users. Send true to get only service accounts, or false to get all other types of users.
|
|
12163
|
+
# Search for service account users. Send true to get only service accounts, or false to get all other types of users. Availability of this filter is limited to users with permission to view complete user details.
|
|
12134
12164
|
is_service_account: Optional[bool] = None,
|
|
12135
12165
|
transport_options: Optional[transport.TransportOptions] = None,
|
|
12136
12166
|
) -> Sequence[mdls.User]:
|
|
@@ -12285,7 +12315,19 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12285
12315
|
|
|
12286
12316
|
# ### Delete the user with a specific id.
|
|
12287
12317
|
#
|
|
12288
|
-
# **
|
|
12318
|
+
# **This action cannot be undone.** If you want to keep the user's content, we recommend disabling their accounts instead of deleting them.
|
|
12319
|
+
#
|
|
12320
|
+
# Deletion will have the following impact:
|
|
12321
|
+
# * Their reports, Looks and dashboards will be moved to Trash.
|
|
12322
|
+
# * Any public URLs owned by them will no longer work.
|
|
12323
|
+
# * Schedules created by the users or that use their content will be deleted.
|
|
12324
|
+
# * Alerts will continue to run, but will not be visible or editable from the dashboard.
|
|
12325
|
+
#
|
|
12326
|
+
# The user cannot delete themselves.
|
|
12327
|
+
# The last administrator user cannot be deleted.
|
|
12328
|
+
#
|
|
12329
|
+
# Deleting Service Accounts via this endpoint is deprecated and can be blocked in future versions.
|
|
12330
|
+
# Please use the dedicated `delete_service_account` endpoint.
|
|
12289
12331
|
#
|
|
12290
12332
|
# DELETE /users/{user_id} -> str
|
|
12291
12333
|
def delete_user(
|
|
@@ -12362,6 +12404,65 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12362
12404
|
)
|
|
12363
12405
|
return response
|
|
12364
12406
|
|
|
12407
|
+
# ### Update information for a specific service account. This action is restricted to Looker admins.
|
|
12408
|
+
#
|
|
12409
|
+
# This endpoint is exclusively for updating service accounts. To update a regular user, please use the `PATCH /api/3.x/users/:user_id` endpoint instead.
|
|
12410
|
+
#
|
|
12411
|
+
# PATCH /users/service_accounts/{user_id} -> mdls.ServiceAccount
|
|
12412
|
+
def update_service_account(
|
|
12413
|
+
self,
|
|
12414
|
+
# Id of service account
|
|
12415
|
+
user_id: str,
|
|
12416
|
+
body: mdls.WriteServiceAccount,
|
|
12417
|
+
# Requested fields.
|
|
12418
|
+
fields: Optional[str] = None,
|
|
12419
|
+
transport_options: Optional[transport.TransportOptions] = None,
|
|
12420
|
+
) -> mdls.ServiceAccount:
|
|
12421
|
+
"""Update Service Account"""
|
|
12422
|
+
user_id = self.encode_path_param(user_id)
|
|
12423
|
+
response = cast(
|
|
12424
|
+
mdls.ServiceAccount,
|
|
12425
|
+
self.patch(
|
|
12426
|
+
path=f"/users/service_accounts/{user_id}",
|
|
12427
|
+
structure=mdls.ServiceAccount,
|
|
12428
|
+
query_params={"fields": fields},
|
|
12429
|
+
body=body,
|
|
12430
|
+
transport_options=transport_options,
|
|
12431
|
+
),
|
|
12432
|
+
)
|
|
12433
|
+
return response
|
|
12434
|
+
|
|
12435
|
+
# ### Delete the service account with a specific id.
|
|
12436
|
+
#
|
|
12437
|
+
# **This action cannot be undone.** If you want to keep the service account's content, we recommend disabling their accounts instead of deleting them.
|
|
12438
|
+
#
|
|
12439
|
+
# Deletion will have the following impact:
|
|
12440
|
+
# * Their reports, Looks and dashboards will be moved to Trash.
|
|
12441
|
+
# * Any public URLs owned by them will no longer work.
|
|
12442
|
+
# * Schedules created by the service account or that use their content will be deleted.
|
|
12443
|
+
# * Alerts will continue to run, but will not be visible or editable from the dashboard.
|
|
12444
|
+
#
|
|
12445
|
+
# The service account cannot delete itself.
|
|
12446
|
+
#
|
|
12447
|
+
# DELETE /users/service_accounts/{user_id} -> str
|
|
12448
|
+
def delete_service_account(
|
|
12449
|
+
self,
|
|
12450
|
+
# Id of service account user
|
|
12451
|
+
user_id: str,
|
|
12452
|
+
transport_options: Optional[transport.TransportOptions] = None,
|
|
12453
|
+
) -> str:
|
|
12454
|
+
"""Delete Service Account"""
|
|
12455
|
+
user_id = self.encode_path_param(user_id)
|
|
12456
|
+
response = cast(
|
|
12457
|
+
str,
|
|
12458
|
+
self.delete(
|
|
12459
|
+
path=f"/users/service_accounts/{user_id}",
|
|
12460
|
+
structure=str,
|
|
12461
|
+
transport_options=transport_options,
|
|
12462
|
+
),
|
|
12463
|
+
)
|
|
12464
|
+
return response
|
|
12465
|
+
|
|
12365
12466
|
# ### Email/password login information for the specified user.
|
|
12366
12467
|
#
|
|
12367
12468
|
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
@@ -12596,8 +12697,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12596
12697
|
|
|
12597
12698
|
# ### Google authentication login information for the specified user.
|
|
12598
12699
|
#
|
|
12599
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12600
|
-
#
|
|
12601
12700
|
# GET /users/{user_id}/credentials_google -> mdls.CredentialsGoogle
|
|
12602
12701
|
def user_credentials_google(
|
|
12603
12702
|
self,
|
|
@@ -12622,8 +12721,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12622
12721
|
|
|
12623
12722
|
# ### Google authentication login information for the specified user.
|
|
12624
12723
|
#
|
|
12625
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12626
|
-
#
|
|
12627
12724
|
# DELETE /users/{user_id}/credentials_google -> str
|
|
12628
12725
|
def delete_user_credentials_google(
|
|
12629
12726
|
self,
|
|
@@ -12645,8 +12742,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12645
12742
|
|
|
12646
12743
|
# ### Saml authentication login information for the specified user.
|
|
12647
12744
|
#
|
|
12648
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12649
|
-
#
|
|
12650
12745
|
# GET /users/{user_id}/credentials_saml -> mdls.CredentialsSaml
|
|
12651
12746
|
def user_credentials_saml(
|
|
12652
12747
|
self,
|
|
@@ -12671,8 +12766,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12671
12766
|
|
|
12672
12767
|
# ### Saml authentication login information for the specified user.
|
|
12673
12768
|
#
|
|
12674
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12675
|
-
#
|
|
12676
12769
|
# DELETE /users/{user_id}/credentials_saml -> str
|
|
12677
12770
|
def delete_user_credentials_saml(
|
|
12678
12771
|
self,
|
|
@@ -12694,8 +12787,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12694
12787
|
|
|
12695
12788
|
# ### OpenID Connect (OIDC) authentication login information for the specified user.
|
|
12696
12789
|
#
|
|
12697
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12698
|
-
#
|
|
12699
12790
|
# GET /users/{user_id}/credentials_oidc -> mdls.CredentialsOIDC
|
|
12700
12791
|
def user_credentials_oidc(
|
|
12701
12792
|
self,
|
|
@@ -12720,8 +12811,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12720
12811
|
|
|
12721
12812
|
# ### OpenID Connect (OIDC) authentication login information for the specified user.
|
|
12722
12813
|
#
|
|
12723
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12724
|
-
#
|
|
12725
12814
|
# DELETE /users/{user_id}/credentials_oidc -> str
|
|
12726
12815
|
def delete_user_credentials_oidc(
|
|
12727
12816
|
self,
|
|
@@ -12743,8 +12832,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12743
12832
|
|
|
12744
12833
|
# ### API login information for the specified user. This is for the newer API keys that can be added for any user.
|
|
12745
12834
|
#
|
|
12746
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12747
|
-
#
|
|
12748
12835
|
# GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> mdls.CredentialsApi3
|
|
12749
12836
|
def user_credentials_api3(
|
|
12750
12837
|
self,
|
|
@@ -12772,8 +12859,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12772
12859
|
|
|
12773
12860
|
# ### API login information for the specified user. This is for the newer API keys that can be added for any user.
|
|
12774
12861
|
#
|
|
12775
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12776
|
-
#
|
|
12777
12862
|
# PATCH /users/{user_id}/credentials_api3/{credentials_api3_id} -> mdls.CredentialsApi3
|
|
12778
12863
|
def update_user_credentials_api3(
|
|
12779
12864
|
self,
|
|
@@ -12803,8 +12888,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12803
12888
|
|
|
12804
12889
|
# ### API login information for the specified user. This is for the newer API keys that can be added for any user.
|
|
12805
12890
|
#
|
|
12806
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12807
|
-
#
|
|
12808
12891
|
# DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> str
|
|
12809
12892
|
def delete_user_credentials_api3(
|
|
12810
12893
|
self,
|
|
@@ -12829,8 +12912,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12829
12912
|
|
|
12830
12913
|
# ### API login information for the specified user. This is for the newer API keys that can be added for any user.
|
|
12831
12914
|
#
|
|
12832
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12833
|
-
#
|
|
12834
12915
|
# GET /users/{user_id}/credentials_api3 -> Sequence[mdls.CredentialsApi3]
|
|
12835
12916
|
def all_user_credentials_api3s(
|
|
12836
12917
|
self,
|
|
@@ -12855,8 +12936,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
12855
12936
|
|
|
12856
12937
|
# ### API login information for the specified user. This is for the newer API keys that can be added for any user.
|
|
12857
12938
|
#
|
|
12858
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
12859
|
-
#
|
|
12860
12939
|
# POST /users/{user_id}/credentials_api3 -> mdls.CreateCredentialsApi3
|
|
12861
12940
|
def create_user_credentials_api3(
|
|
12862
12941
|
self,
|
|
@@ -13011,8 +13090,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
13011
13090
|
|
|
13012
13091
|
# ### Web login session for the specified user.
|
|
13013
13092
|
#
|
|
13014
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
13015
|
-
#
|
|
13016
13093
|
# GET /users/{user_id}/sessions/{session_id} -> mdls.Session
|
|
13017
13094
|
def user_session(
|
|
13018
13095
|
self,
|
|
@@ -13040,8 +13117,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
13040
13117
|
|
|
13041
13118
|
# ### Web login session for the specified user.
|
|
13042
13119
|
#
|
|
13043
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
13044
|
-
#
|
|
13045
13120
|
# DELETE /users/{user_id}/sessions/{session_id} -> str
|
|
13046
13121
|
def delete_user_session(
|
|
13047
13122
|
self,
|
|
@@ -13066,8 +13141,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
13066
13141
|
|
|
13067
13142
|
# ### Web login session for the specified user.
|
|
13068
13143
|
#
|
|
13069
|
-
# Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
13070
|
-
#
|
|
13071
13144
|
# GET /users/{user_id}/sessions -> Sequence[mdls.Session]
|
|
13072
13145
|
def all_user_sessions(
|
|
13073
13146
|
self,
|
|
@@ -13378,8 +13451,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
13378
13451
|
|
|
13379
13452
|
# ### Create a service account with the specified information. This action is restricted to Looker admins.
|
|
13380
13453
|
#
|
|
13381
|
-
# Calls to this endpoint may only be available for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
13382
|
-
#
|
|
13383
13454
|
# POST /users/service_accounts -> mdls.ServiceAccount
|
|
13384
13455
|
def create_service_account(
|
|
13385
13456
|
self,
|
|
@@ -13401,36 +13472,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
13401
13472
|
)
|
|
13402
13473
|
return response
|
|
13403
13474
|
|
|
13404
|
-
# ### Update information for a specific service account. This action is restricted to Looker admins.
|
|
13405
|
-
#
|
|
13406
|
-
# This endpoint is exclusively for updating service accounts. To update a regular user, please use the `PATCH /api/3.x/users/:user_id` endpoint instead.
|
|
13407
|
-
#
|
|
13408
|
-
# Calls to this endpoint may only be available for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
|
|
13409
|
-
#
|
|
13410
|
-
# PATCH /users/service_accounts/{user_id} -> mdls.ServiceAccount
|
|
13411
|
-
def update_service_account(
|
|
13412
|
-
self,
|
|
13413
|
-
# Id of service account
|
|
13414
|
-
user_id: str,
|
|
13415
|
-
body: mdls.WriteServiceAccount,
|
|
13416
|
-
# Requested fields.
|
|
13417
|
-
fields: Optional[str] = None,
|
|
13418
|
-
transport_options: Optional[transport.TransportOptions] = None,
|
|
13419
|
-
) -> mdls.ServiceAccount:
|
|
13420
|
-
"""Update Service Account"""
|
|
13421
|
-
user_id = self.encode_path_param(user_id)
|
|
13422
|
-
response = cast(
|
|
13423
|
-
mdls.ServiceAccount,
|
|
13424
|
-
self.patch(
|
|
13425
|
-
path=f"/users/service_accounts/{user_id}",
|
|
13426
|
-
structure=mdls.ServiceAccount,
|
|
13427
|
-
query_params={"fields": fields},
|
|
13428
|
-
body=body,
|
|
13429
|
-
transport_options=transport_options,
|
|
13430
|
-
),
|
|
13431
|
-
)
|
|
13432
|
-
return response
|
|
13433
|
-
|
|
13434
13475
|
# endregion
|
|
13435
13476
|
|
|
13436
13477
|
# region UserAttribute: Manage User Attributes
|
|
@@ -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
|
|
@@ -1544,6 +1544,8 @@ class ContentSearch(model.Model):
|
|
|
1544
1544
|
view_count: Number of times the content has been viewed
|
|
1545
1545
|
preferred_viewer: Preferred way of viewing the content (only applies to dashboards)
|
|
1546
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
|
|
1547
1549
|
"""
|
|
1548
1550
|
|
|
1549
1551
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -1556,6 +1558,8 @@ class ContentSearch(model.Model):
|
|
|
1556
1558
|
view_count: Optional[int] = None
|
|
1557
1559
|
preferred_viewer: Optional[str] = None
|
|
1558
1560
|
model: Optional[str] = None
|
|
1561
|
+
created_by_id: Optional[int] = None
|
|
1562
|
+
certification_status: Optional[str] = None
|
|
1559
1563
|
|
|
1560
1564
|
def __init__(
|
|
1561
1565
|
self,
|
|
@@ -1569,7 +1573,9 @@ class ContentSearch(model.Model):
|
|
|
1569
1573
|
folder_name: Optional[str] = None,
|
|
1570
1574
|
view_count: Optional[int] = None,
|
|
1571
1575
|
preferred_viewer: Optional[str] = None,
|
|
1572
|
-
model: Optional[str] = None
|
|
1576
|
+
model: Optional[str] = None,
|
|
1577
|
+
created_by_id: Optional[int] = None,
|
|
1578
|
+
certification_status: Optional[str] = None
|
|
1573
1579
|
):
|
|
1574
1580
|
self.can = can
|
|
1575
1581
|
self.content_id = content_id
|
|
@@ -1581,6 +1587,8 @@ class ContentSearch(model.Model):
|
|
|
1581
1587
|
self.view_count = view_count
|
|
1582
1588
|
self.preferred_viewer = preferred_viewer
|
|
1583
1589
|
self.model = model
|
|
1590
|
+
self.created_by_id = created_by_id
|
|
1591
|
+
self.certification_status = certification_status
|
|
1584
1592
|
|
|
1585
1593
|
|
|
1586
1594
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -3311,6 +3319,7 @@ class Dashboard(model.Model):
|
|
|
3311
3319
|
view_count: Number of times viewed in the Looker web UI
|
|
3312
3320
|
appearance:
|
|
3313
3321
|
url: Relative URL of the dashboard
|
|
3322
|
+
layout_granularity: The layout granularity to apply to this dashboard (ie: default or granular)
|
|
3314
3323
|
"""
|
|
3315
3324
|
|
|
3316
3325
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -3363,6 +3372,7 @@ class Dashboard(model.Model):
|
|
|
3363
3372
|
view_count: Optional[int] = None
|
|
3364
3373
|
appearance: Optional["DashboardAppearance"] = None
|
|
3365
3374
|
url: Optional[str] = None
|
|
3375
|
+
layout_granularity: Optional[str] = None
|
|
3366
3376
|
|
|
3367
3377
|
def __init__(
|
|
3368
3378
|
self,
|
|
@@ -3416,7 +3426,8 @@ class Dashboard(model.Model):
|
|
|
3416
3426
|
title_color: Optional[str] = None,
|
|
3417
3427
|
view_count: Optional[int] = None,
|
|
3418
3428
|
appearance: Optional["DashboardAppearance"] = None,
|
|
3419
|
-
url: Optional[str] = None
|
|
3429
|
+
url: Optional[str] = None,
|
|
3430
|
+
layout_granularity: Optional[str] = None
|
|
3420
3431
|
):
|
|
3421
3432
|
self.can = can
|
|
3422
3433
|
self.content_favorite_id = content_favorite_id
|
|
@@ -3470,6 +3481,7 @@ class Dashboard(model.Model):
|
|
|
3470
3481
|
self.view_count = view_count
|
|
3471
3482
|
self.appearance = appearance
|
|
3472
3483
|
self.url = url
|
|
3484
|
+
self.layout_granularity = layout_granularity
|
|
3473
3485
|
|
|
3474
3486
|
|
|
3475
3487
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -3916,6 +3928,10 @@ class DashboardLayoutComponent(model.Model):
|
|
|
3916
3928
|
element_title: Dashboard element title, extracted from the Dashboard Element.
|
|
3917
3929
|
element_title_hidden: Whether or not the dashboard element title is displayed.
|
|
3918
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)
|
|
3919
3935
|
"""
|
|
3920
3936
|
|
|
3921
3937
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -3930,6 +3946,10 @@ class DashboardLayoutComponent(model.Model):
|
|
|
3930
3946
|
element_title: Optional[str] = None
|
|
3931
3947
|
element_title_hidden: Optional[bool] = None
|
|
3932
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
|
|
3933
3953
|
|
|
3934
3954
|
def __init__(
|
|
3935
3955
|
self,
|
|
@@ -3945,7 +3965,11 @@ class DashboardLayoutComponent(model.Model):
|
|
|
3945
3965
|
deleted: Optional[bool] = None,
|
|
3946
3966
|
element_title: Optional[str] = None,
|
|
3947
3967
|
element_title_hidden: Optional[bool] = None,
|
|
3948
|
-
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
|
|
3949
3973
|
):
|
|
3950
3974
|
self.can = can
|
|
3951
3975
|
self.id = id
|
|
@@ -3959,6 +3983,10 @@ class DashboardLayoutComponent(model.Model):
|
|
|
3959
3983
|
self.element_title = element_title
|
|
3960
3984
|
self.element_title_hidden = element_title_hidden
|
|
3961
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
|
|
3962
3990
|
|
|
3963
3991
|
|
|
3964
3992
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -4212,6 +4240,7 @@ class DBConnection(model.Model):
|
|
|
4212
4240
|
port: Port number on server. If the connection is over an SSH tunnel, then the local port associated with the SSH tunnel.
|
|
4213
4241
|
username: Username for server authentication
|
|
4214
4242
|
password: (Write-Only) Password for server authentication
|
|
4243
|
+
has_password: Whether or not the password is present
|
|
4215
4244
|
uses_oauth: Whether the connection uses OAuth for authentication.
|
|
4216
4245
|
uses_key_pair_auth: Whether the connection uses key-pair for authentication.
|
|
4217
4246
|
uses_instance_oauth: Whether the integration uses the oauth instance account.
|
|
@@ -4277,6 +4306,7 @@ class DBConnection(model.Model):
|
|
|
4277
4306
|
port: Optional[str] = None
|
|
4278
4307
|
username: Optional[str] = None
|
|
4279
4308
|
password: Optional[str] = None
|
|
4309
|
+
has_password: Optional[bool] = None
|
|
4280
4310
|
uses_oauth: Optional[bool] = None
|
|
4281
4311
|
uses_key_pair_auth: Optional[bool] = None
|
|
4282
4312
|
uses_instance_oauth: Optional[bool] = None
|
|
@@ -4344,6 +4374,7 @@ class DBConnection(model.Model):
|
|
|
4344
4374
|
port: Optional[str] = None,
|
|
4345
4375
|
username: Optional[str] = None,
|
|
4346
4376
|
password: Optional[str] = None,
|
|
4377
|
+
has_password: Optional[bool] = None,
|
|
4347
4378
|
uses_oauth: Optional[bool] = None,
|
|
4348
4379
|
uses_key_pair_auth: Optional[bool] = None,
|
|
4349
4380
|
uses_instance_oauth: Optional[bool] = None,
|
|
@@ -4408,6 +4439,7 @@ class DBConnection(model.Model):
|
|
|
4408
4439
|
self.port = port
|
|
4409
4440
|
self.username = username
|
|
4410
4441
|
self.password = password
|
|
4442
|
+
self.has_password = has_password
|
|
4411
4443
|
self.uses_oauth = uses_oauth
|
|
4412
4444
|
self.uses_key_pair_auth = uses_key_pair_auth
|
|
4413
4445
|
self.uses_instance_oauth = uses_instance_oauth
|
|
@@ -4886,6 +4918,7 @@ class DialectInfoOptions(model.Model):
|
|
|
4886
4918
|
disable_context_comment: Can disable query context comments
|
|
4887
4919
|
host: Host is required
|
|
4888
4920
|
instance_name: Instance name is required
|
|
4921
|
+
key_pair_authentication: Has support for key pair authentication
|
|
4889
4922
|
max_billing_gigabytes: Has max billing gigabytes support
|
|
4890
4923
|
oauth_credentials: Has support for a service account
|
|
4891
4924
|
pdts_for_oauth: Has OAuth for PDT support
|
|
@@ -4910,6 +4943,7 @@ class DialectInfoOptions(model.Model):
|
|
|
4910
4943
|
disable_context_comment: Optional[bool] = None
|
|
4911
4944
|
host: Optional[bool] = None
|
|
4912
4945
|
instance_name: Optional[bool] = None
|
|
4946
|
+
key_pair_authentication: Optional[bool] = None
|
|
4913
4947
|
max_billing_gigabytes: Optional[bool] = None
|
|
4914
4948
|
oauth_credentials: Optional[bool] = None
|
|
4915
4949
|
pdts_for_oauth: Optional[bool] = None
|
|
@@ -4936,6 +4970,7 @@ class DialectInfoOptions(model.Model):
|
|
|
4936
4970
|
disable_context_comment: Optional[bool] = None,
|
|
4937
4971
|
host: Optional[bool] = None,
|
|
4938
4972
|
instance_name: Optional[bool] = None,
|
|
4973
|
+
key_pair_authentication: Optional[bool] = None,
|
|
4939
4974
|
max_billing_gigabytes: Optional[bool] = None,
|
|
4940
4975
|
oauth_credentials: Optional[bool] = None,
|
|
4941
4976
|
pdts_for_oauth: Optional[bool] = None,
|
|
@@ -4959,6 +4994,7 @@ class DialectInfoOptions(model.Model):
|
|
|
4959
4994
|
self.disable_context_comment = disable_context_comment
|
|
4960
4995
|
self.host = host
|
|
4961
4996
|
self.instance_name = instance_name
|
|
4997
|
+
self.key_pair_authentication = key_pair_authentication
|
|
4962
4998
|
self.max_billing_gigabytes = max_billing_gigabytes
|
|
4963
4999
|
self.oauth_credentials = oauth_credentials
|
|
4964
5000
|
self.pdts_for_oauth = pdts_for_oauth
|
|
@@ -9830,6 +9866,9 @@ class PasswordConfig(model.Model):
|
|
|
9830
9866
|
require_numeric: Require at least one numeric character
|
|
9831
9867
|
require_upperlower: Require at least one uppercase and one lowercase letter
|
|
9832
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.
|
|
9833
9872
|
"""
|
|
9834
9873
|
|
|
9835
9874
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -9837,6 +9876,9 @@ class PasswordConfig(model.Model):
|
|
|
9837
9876
|
require_numeric: Optional[bool] = None
|
|
9838
9877
|
require_upperlower: Optional[bool] = None
|
|
9839
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
|
|
9840
9882
|
|
|
9841
9883
|
def __init__(
|
|
9842
9884
|
self,
|
|
@@ -9845,13 +9887,19 @@ class PasswordConfig(model.Model):
|
|
|
9845
9887
|
min_length: Optional[int] = None,
|
|
9846
9888
|
require_numeric: Optional[bool] = None,
|
|
9847
9889
|
require_upperlower: Optional[bool] = None,
|
|
9848
|
-
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
|
|
9849
9894
|
):
|
|
9850
9895
|
self.can = can
|
|
9851
9896
|
self.min_length = min_length
|
|
9852
9897
|
self.require_numeric = require_numeric
|
|
9853
9898
|
self.require_upperlower = require_upperlower
|
|
9854
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
|
|
9855
9903
|
|
|
9856
9904
|
|
|
9857
9905
|
class Period(enum.Enum):
|
|
@@ -10057,6 +10105,7 @@ class Project(model.Model):
|
|
|
10057
10105
|
git_release_mgmt_enabled: If true, advanced git release management is enabled for this project
|
|
10058
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).
|
|
10059
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.
|
|
10060
10109
|
dependency_status: Status of dependencies in your manifest & lockfile
|
|
10061
10110
|
"""
|
|
10062
10111
|
|
|
@@ -10081,6 +10130,7 @@ class Project(model.Model):
|
|
|
10081
10130
|
git_release_mgmt_enabled: Optional[bool] = None
|
|
10082
10131
|
allow_warnings: Optional[bool] = None
|
|
10083
10132
|
is_example: Optional[bool] = None
|
|
10133
|
+
has_production_counterpart: Optional[bool] = None
|
|
10084
10134
|
dependency_status: Optional[str] = None
|
|
10085
10135
|
|
|
10086
10136
|
def __init__(
|
|
@@ -10107,6 +10157,7 @@ class Project(model.Model):
|
|
|
10107
10157
|
git_release_mgmt_enabled: Optional[bool] = None,
|
|
10108
10158
|
allow_warnings: Optional[bool] = None,
|
|
10109
10159
|
is_example: Optional[bool] = None,
|
|
10160
|
+
has_production_counterpart: Optional[bool] = None,
|
|
10110
10161
|
dependency_status: Optional[str] = None
|
|
10111
10162
|
):
|
|
10112
10163
|
self.can = can
|
|
@@ -10130,6 +10181,7 @@ class Project(model.Model):
|
|
|
10130
10181
|
self.git_release_mgmt_enabled = git_release_mgmt_enabled
|
|
10131
10182
|
self.allow_warnings = allow_warnings
|
|
10132
10183
|
self.is_example = is_example
|
|
10184
|
+
self.has_production_counterpart = has_production_counterpart
|
|
10133
10185
|
self.dependency_status = dependency_status
|
|
10134
10186
|
|
|
10135
10187
|
|
|
@@ -10953,6 +11005,7 @@ class Role(model.Model):
|
|
|
10953
11005
|
permission_set_id: (Write-Only) Id of permission set
|
|
10954
11006
|
model_set:
|
|
10955
11007
|
model_set_id: (Write-Only) Id of model set
|
|
11008
|
+
internal: Is this a Looker internal role
|
|
10956
11009
|
url: Link to get this item
|
|
10957
11010
|
users_url: Link to get list of users with this role
|
|
10958
11011
|
"""
|
|
@@ -10964,6 +11017,7 @@ class Role(model.Model):
|
|
|
10964
11017
|
permission_set_id: Optional[str] = None
|
|
10965
11018
|
model_set: Optional["ModelSet"] = None
|
|
10966
11019
|
model_set_id: Optional[str] = None
|
|
11020
|
+
internal: Optional[bool] = None
|
|
10967
11021
|
url: Optional[str] = None
|
|
10968
11022
|
users_url: Optional[str] = None
|
|
10969
11023
|
|
|
@@ -10977,6 +11031,7 @@ class Role(model.Model):
|
|
|
10977
11031
|
permission_set_id: Optional[str] = None,
|
|
10978
11032
|
model_set: Optional["ModelSet"] = None,
|
|
10979
11033
|
model_set_id: Optional[str] = None,
|
|
11034
|
+
internal: Optional[bool] = None,
|
|
10980
11035
|
url: Optional[str] = None,
|
|
10981
11036
|
users_url: Optional[str] = None
|
|
10982
11037
|
):
|
|
@@ -10987,6 +11042,7 @@ class Role(model.Model):
|
|
|
10987
11042
|
self.permission_set_id = permission_set_id
|
|
10988
11043
|
self.model_set = model_set
|
|
10989
11044
|
self.model_set_id = model_set_id
|
|
11045
|
+
self.internal = internal
|
|
10990
11046
|
self.url = url
|
|
10991
11047
|
self.users_url = users_url
|
|
10992
11048
|
|
|
@@ -11002,6 +11058,7 @@ class RoleSearch(model.Model):
|
|
|
11002
11058
|
permission_set_id: (Write-Only) Id of permission set
|
|
11003
11059
|
model_set:
|
|
11004
11060
|
model_set_id: (Write-Only) Id of model set
|
|
11061
|
+
internal: Is this a Looker internal role
|
|
11005
11062
|
user_count: Count of users with this role
|
|
11006
11063
|
url: Link to get this item
|
|
11007
11064
|
users_url: Link to get list of users with this role
|
|
@@ -11014,6 +11071,7 @@ class RoleSearch(model.Model):
|
|
|
11014
11071
|
permission_set_id: Optional[str] = None
|
|
11015
11072
|
model_set: Optional["ModelSet"] = None
|
|
11016
11073
|
model_set_id: Optional[str] = None
|
|
11074
|
+
internal: Optional[bool] = None
|
|
11017
11075
|
user_count: Optional[int] = None
|
|
11018
11076
|
url: Optional[str] = None
|
|
11019
11077
|
users_url: Optional[str] = None
|
|
@@ -11028,6 +11086,7 @@ class RoleSearch(model.Model):
|
|
|
11028
11086
|
permission_set_id: Optional[str] = None,
|
|
11029
11087
|
model_set: Optional["ModelSet"] = None,
|
|
11030
11088
|
model_set_id: Optional[str] = None,
|
|
11089
|
+
internal: Optional[bool] = None,
|
|
11031
11090
|
user_count: Optional[int] = None,
|
|
11032
11091
|
url: Optional[str] = None,
|
|
11033
11092
|
users_url: Optional[str] = None
|
|
@@ -11039,6 +11098,7 @@ class RoleSearch(model.Model):
|
|
|
11039
11098
|
self.permission_set_id = permission_set_id
|
|
11040
11099
|
self.model_set = model_set
|
|
11041
11100
|
self.model_set_id = model_set_id
|
|
11101
|
+
self.internal = internal
|
|
11042
11102
|
self.user_count = user_count
|
|
11043
11103
|
self.url = url
|
|
11044
11104
|
self.users_url = users_url
|
|
@@ -11278,6 +11338,8 @@ class SamlConfig(model.Model):
|
|
|
11278
11338
|
can: Operations the current user is able to perform on this object
|
|
11279
11339
|
enabled: Enable/Disable Saml authentication for the server
|
|
11280
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.
|
|
11281
11343
|
idp_url: Identity Provider Url (provided by IdP)
|
|
11282
11344
|
idp_issuer: Identity Provider Issuer (provided by IdP)
|
|
11283
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.
|
|
@@ -11313,6 +11375,8 @@ class SamlConfig(model.Model):
|
|
|
11313
11375
|
can: Optional[MutableMapping[str, bool]] = None
|
|
11314
11376
|
enabled: Optional[bool] = None
|
|
11315
11377
|
idp_cert: Optional[str] = None
|
|
11378
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None
|
|
11379
|
+
multi_certs_supported: Optional[bool] = None
|
|
11316
11380
|
idp_url: Optional[str] = None
|
|
11317
11381
|
idp_issuer: Optional[str] = None
|
|
11318
11382
|
idp_audience: Optional[str] = None
|
|
@@ -11350,6 +11414,8 @@ class SamlConfig(model.Model):
|
|
|
11350
11414
|
can: Optional[MutableMapping[str, bool]] = None,
|
|
11351
11415
|
enabled: Optional[bool] = None,
|
|
11352
11416
|
idp_cert: Optional[str] = None,
|
|
11417
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None,
|
|
11418
|
+
multi_certs_supported: Optional[bool] = None,
|
|
11353
11419
|
idp_url: Optional[str] = None,
|
|
11354
11420
|
idp_issuer: Optional[str] = None,
|
|
11355
11421
|
idp_audience: Optional[str] = None,
|
|
@@ -11384,6 +11450,8 @@ class SamlConfig(model.Model):
|
|
|
11384
11450
|
self.can = can
|
|
11385
11451
|
self.enabled = enabled
|
|
11386
11452
|
self.idp_cert = idp_cert
|
|
11453
|
+
self.idp_cert_multi = idp_cert_multi
|
|
11454
|
+
self.multi_certs_supported = multi_certs_supported
|
|
11387
11455
|
self.idp_url = idp_url
|
|
11388
11456
|
self.idp_issuer = idp_issuer
|
|
11389
11457
|
self.idp_audience = idp_audience
|
|
@@ -11490,6 +11558,19 @@ class SamlGroupWrite(model.Model):
|
|
|
11490
11558
|
self.url = url
|
|
11491
11559
|
|
|
11492
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
|
+
|
|
11493
11574
|
@attr.s(auto_attribs=True, init=False)
|
|
11494
11575
|
class SamlMetadataParseResult(model.Model):
|
|
11495
11576
|
"""
|
|
@@ -11498,12 +11579,14 @@ class SamlMetadataParseResult(model.Model):
|
|
|
11498
11579
|
idp_issuer: Identify Provider Issuer
|
|
11499
11580
|
idp_url: Identify Provider Url
|
|
11500
11581
|
idp_cert: Identify Provider Certificate
|
|
11582
|
+
idp_cert_multi:
|
|
11501
11583
|
"""
|
|
11502
11584
|
|
|
11503
11585
|
can: Optional[MutableMapping[str, bool]] = None
|
|
11504
11586
|
idp_issuer: Optional[str] = None
|
|
11505
11587
|
idp_url: Optional[str] = None
|
|
11506
11588
|
idp_cert: Optional[str] = None
|
|
11589
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None
|
|
11507
11590
|
|
|
11508
11591
|
def __init__(
|
|
11509
11592
|
self,
|
|
@@ -11511,12 +11594,14 @@ class SamlMetadataParseResult(model.Model):
|
|
|
11511
11594
|
can: Optional[MutableMapping[str, bool]] = None,
|
|
11512
11595
|
idp_issuer: Optional[str] = None,
|
|
11513
11596
|
idp_url: Optional[str] = None,
|
|
11514
|
-
idp_cert: Optional[str] = None
|
|
11597
|
+
idp_cert: Optional[str] = None,
|
|
11598
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None
|
|
11515
11599
|
):
|
|
11516
11600
|
self.can = can
|
|
11517
11601
|
self.idp_issuer = idp_issuer
|
|
11518
11602
|
self.idp_url = idp_url
|
|
11519
11603
|
self.idp_cert = idp_cert
|
|
11604
|
+
self.idp_cert_multi = idp_cert_multi
|
|
11520
11605
|
|
|
11521
11606
|
|
|
11522
11607
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -12170,6 +12255,7 @@ class Setting(model.Model):
|
|
|
12170
12255
|
dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
|
|
12171
12256
|
dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
|
|
12172
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.
|
|
12173
12259
|
"""
|
|
12174
12260
|
|
|
12175
12261
|
instance_config: Optional["InstanceConfig"] = None
|
|
@@ -12197,6 +12283,7 @@ class Setting(model.Model):
|
|
|
12197
12283
|
dashboard_auto_refresh_restriction: Optional[bool] = None
|
|
12198
12284
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None
|
|
12199
12285
|
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
12286
|
+
content_certification_documentation_link: Optional[str] = None
|
|
12200
12287
|
|
|
12201
12288
|
def __init__(
|
|
12202
12289
|
self,
|
|
@@ -12225,7 +12312,8 @@ class Setting(model.Model):
|
|
|
12225
12312
|
login_notification_text: Optional[str] = None,
|
|
12226
12313
|
dashboard_auto_refresh_restriction: Optional[bool] = None,
|
|
12227
12314
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None,
|
|
12228
|
-
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
12315
|
+
managed_certificate_uri: Optional[Sequence[str]] = None,
|
|
12316
|
+
content_certification_documentation_link: Optional[str] = None
|
|
12229
12317
|
):
|
|
12230
12318
|
self.instance_config = instance_config
|
|
12231
12319
|
self.extension_framework_enabled = extension_framework_enabled
|
|
@@ -12254,6 +12342,9 @@ class Setting(model.Model):
|
|
|
12254
12342
|
dashboard_auto_refresh_minimum_interval
|
|
12255
12343
|
)
|
|
12256
12344
|
self.managed_certificate_uri = managed_certificate_uri
|
|
12345
|
+
self.content_certification_documentation_link = (
|
|
12346
|
+
content_certification_documentation_link
|
|
12347
|
+
)
|
|
12257
12348
|
|
|
12258
12349
|
|
|
12259
12350
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -13359,8 +13450,8 @@ class User(model.Model):
|
|
|
13359
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
|
|
13360
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.
|
|
13361
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.
|
|
13362
|
-
is_service_account: Indicates if this user is a service account.
|
|
13363
|
-
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.
|
|
13364
13455
|
url: Link to get this item
|
|
13365
13456
|
"""
|
|
13366
13457
|
|
|
@@ -14602,6 +14693,7 @@ class WriteDashboard(model.Model):
|
|
|
14602
14693
|
tile_text_color: Tile text color
|
|
14603
14694
|
title_color: Title color
|
|
14604
14695
|
appearance:
|
|
14696
|
+
layout_granularity: The layout granularity to apply to this dashboard (ie: default or granular)
|
|
14605
14697
|
"""
|
|
14606
14698
|
|
|
14607
14699
|
description: Optional[str] = None
|
|
@@ -14630,6 +14722,7 @@ class WriteDashboard(model.Model):
|
|
|
14630
14722
|
tile_text_color: Optional[str] = None
|
|
14631
14723
|
title_color: Optional[str] = None
|
|
14632
14724
|
appearance: Optional["DashboardAppearance"] = None
|
|
14725
|
+
layout_granularity: Optional[str] = None
|
|
14633
14726
|
|
|
14634
14727
|
def __init__(
|
|
14635
14728
|
self,
|
|
@@ -14659,7 +14752,8 @@ class WriteDashboard(model.Model):
|
|
|
14659
14752
|
tile_background_color: Optional[str] = None,
|
|
14660
14753
|
tile_text_color: Optional[str] = None,
|
|
14661
14754
|
title_color: Optional[str] = None,
|
|
14662
|
-
appearance: Optional["DashboardAppearance"] = None
|
|
14755
|
+
appearance: Optional["DashboardAppearance"] = None,
|
|
14756
|
+
layout_granularity: Optional[str] = None
|
|
14663
14757
|
):
|
|
14664
14758
|
self.description = description
|
|
14665
14759
|
self.hidden = hidden
|
|
@@ -14689,6 +14783,7 @@ class WriteDashboard(model.Model):
|
|
|
14689
14783
|
self.tile_text_color = tile_text_color
|
|
14690
14784
|
self.title_color = title_color
|
|
14691
14785
|
self.appearance = appearance
|
|
14786
|
+
self.layout_granularity = layout_granularity
|
|
14692
14787
|
|
|
14693
14788
|
|
|
14694
14789
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -14951,6 +15046,10 @@ class WriteDashboardLayoutComponent(model.Model):
|
|
|
14951
15046
|
column: Column
|
|
14952
15047
|
width: Width
|
|
14953
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)
|
|
14954
15053
|
"""
|
|
14955
15054
|
|
|
14956
15055
|
dashboard_layout_id: Optional[str] = None
|
|
@@ -14959,6 +15058,10 @@ class WriteDashboardLayoutComponent(model.Model):
|
|
|
14959
15058
|
column: Optional[int] = None
|
|
14960
15059
|
width: Optional[int] = None
|
|
14961
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
|
|
14962
15065
|
|
|
14963
15066
|
def __init__(
|
|
14964
15067
|
self,
|
|
@@ -14968,7 +15071,11 @@ class WriteDashboardLayoutComponent(model.Model):
|
|
|
14968
15071
|
row: Optional[int] = None,
|
|
14969
15072
|
column: Optional[int] = None,
|
|
14970
15073
|
width: Optional[int] = None,
|
|
14971
|
-
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
|
|
14972
15079
|
):
|
|
14973
15080
|
self.dashboard_layout_id = dashboard_layout_id
|
|
14974
15081
|
self.dashboard_element_id = dashboard_element_id
|
|
@@ -14976,6 +15083,10 @@ class WriteDashboardLayoutComponent(model.Model):
|
|
|
14976
15083
|
self.column = column
|
|
14977
15084
|
self.width = width
|
|
14978
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
|
|
14979
15090
|
|
|
14980
15091
|
|
|
14981
15092
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -15024,7 +15135,7 @@ class WriteDatagroup(model.Model):
|
|
|
15024
15135
|
class WriteDBConnection(model.Model):
|
|
15025
15136
|
"""
|
|
15026
15137
|
Dynamic writeable type for DBConnection removes:
|
|
15027
|
-
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
|
|
15028
15139
|
|
|
15029
15140
|
Attributes:
|
|
15030
15141
|
name: Name of the connection. Also used as the unique identifier
|
|
@@ -16125,19 +16236,23 @@ class WriteOIDCConfig(model.Model):
|
|
|
16125
16236
|
class WritePasswordConfig(model.Model):
|
|
16126
16237
|
"""
|
|
16127
16238
|
Dynamic writeable type for PasswordConfig removes:
|
|
16128
|
-
can
|
|
16239
|
+
can, policy_enabled_at
|
|
16129
16240
|
|
|
16130
16241
|
Attributes:
|
|
16131
16242
|
min_length: Minimum number of characters required for a new password. Must be between 7 and 100
|
|
16132
16243
|
require_numeric: Require at least one numeric character
|
|
16133
16244
|
require_upperlower: Require at least one uppercase and one lowercase letter
|
|
16134
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.
|
|
16135
16248
|
"""
|
|
16136
16249
|
|
|
16137
16250
|
min_length: Optional[int] = None
|
|
16138
16251
|
require_numeric: Optional[bool] = None
|
|
16139
16252
|
require_upperlower: Optional[bool] = None
|
|
16140
16253
|
require_special: Optional[bool] = None
|
|
16254
|
+
expiration_enabled: Optional[bool] = None
|
|
16255
|
+
expiration_duration_days: Optional[int] = None
|
|
16141
16256
|
|
|
16142
16257
|
def __init__(
|
|
16143
16258
|
self,
|
|
@@ -16145,12 +16260,16 @@ class WritePasswordConfig(model.Model):
|
|
|
16145
16260
|
min_length: Optional[int] = None,
|
|
16146
16261
|
require_numeric: Optional[bool] = None,
|
|
16147
16262
|
require_upperlower: Optional[bool] = None,
|
|
16148
|
-
require_special: Optional[bool] = None
|
|
16263
|
+
require_special: Optional[bool] = None,
|
|
16264
|
+
expiration_enabled: Optional[bool] = None,
|
|
16265
|
+
expiration_duration_days: Optional[int] = None
|
|
16149
16266
|
):
|
|
16150
16267
|
self.min_length = min_length
|
|
16151
16268
|
self.require_numeric = require_numeric
|
|
16152
16269
|
self.require_upperlower = require_upperlower
|
|
16153
16270
|
self.require_special = require_special
|
|
16271
|
+
self.expiration_enabled = expiration_enabled
|
|
16272
|
+
self.expiration_duration_days = expiration_duration_days
|
|
16154
16273
|
|
|
16155
16274
|
|
|
16156
16275
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -16246,7 +16365,7 @@ class WritePrivatelabelConfiguration(model.Model):
|
|
|
16246
16365
|
class WriteProject(model.Model):
|
|
16247
16366
|
"""
|
|
16248
16367
|
Dynamic writeable type for Project removes:
|
|
16249
|
-
can, id, uses_git, is_example
|
|
16368
|
+
can, id, uses_git, is_example, has_production_counterpart
|
|
16250
16369
|
|
|
16251
16370
|
Attributes:
|
|
16252
16371
|
name: Project display name
|
|
@@ -16503,7 +16622,7 @@ class WriteResultMakerWithIdVisConfigAndDynamicFields(model.Model):
|
|
|
16503
16622
|
class WriteRole(model.Model):
|
|
16504
16623
|
"""
|
|
16505
16624
|
Dynamic writeable type for Role removes:
|
|
16506
|
-
can, id, url, users_url
|
|
16625
|
+
can, id, internal, url, users_url
|
|
16507
16626
|
|
|
16508
16627
|
Attributes:
|
|
16509
16628
|
name: Name of Role
|
|
@@ -16546,6 +16665,8 @@ class WriteSamlConfig(model.Model):
|
|
|
16546
16665
|
Attributes:
|
|
16547
16666
|
enabled: Enable/Disable Saml authentication for the server
|
|
16548
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.
|
|
16549
16670
|
idp_url: Identity Provider Url (provided by IdP)
|
|
16550
16671
|
idp_issuer: Identity Provider Issuer (provided by IdP)
|
|
16551
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.
|
|
@@ -16572,6 +16693,8 @@ class WriteSamlConfig(model.Model):
|
|
|
16572
16693
|
|
|
16573
16694
|
enabled: Optional[bool] = None
|
|
16574
16695
|
idp_cert: Optional[str] = None
|
|
16696
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None
|
|
16697
|
+
multi_certs_supported: Optional[bool] = None
|
|
16575
16698
|
idp_url: Optional[str] = None
|
|
16576
16699
|
idp_issuer: Optional[str] = None
|
|
16577
16700
|
idp_audience: Optional[str] = None
|
|
@@ -16600,6 +16723,8 @@ class WriteSamlConfig(model.Model):
|
|
|
16600
16723
|
*,
|
|
16601
16724
|
enabled: Optional[bool] = None,
|
|
16602
16725
|
idp_cert: Optional[str] = None,
|
|
16726
|
+
idp_cert_multi: Optional["SamlIdpCertMulti"] = None,
|
|
16727
|
+
multi_certs_supported: Optional[bool] = None,
|
|
16603
16728
|
idp_url: Optional[str] = None,
|
|
16604
16729
|
idp_issuer: Optional[str] = None,
|
|
16605
16730
|
idp_audience: Optional[str] = None,
|
|
@@ -16625,6 +16750,8 @@ class WriteSamlConfig(model.Model):
|
|
|
16625
16750
|
):
|
|
16626
16751
|
self.enabled = enabled
|
|
16627
16752
|
self.idp_cert = idp_cert
|
|
16753
|
+
self.idp_cert_multi = idp_cert_multi
|
|
16754
|
+
self.multi_certs_supported = multi_certs_supported
|
|
16628
16755
|
self.idp_url = idp_url
|
|
16629
16756
|
self.idp_issuer = idp_issuer
|
|
16630
16757
|
self.idp_audience = idp_audience
|
|
@@ -16876,6 +17003,7 @@ class WriteSetting(model.Model):
|
|
|
16876
17003
|
dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
|
|
16877
17004
|
dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
|
|
16878
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.
|
|
16879
17007
|
"""
|
|
16880
17008
|
|
|
16881
17009
|
extension_framework_enabled: Optional[bool] = None
|
|
@@ -16898,6 +17026,7 @@ class WriteSetting(model.Model):
|
|
|
16898
17026
|
dashboard_auto_refresh_restriction: Optional[bool] = None
|
|
16899
17027
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None
|
|
16900
17028
|
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
17029
|
+
content_certification_documentation_link: Optional[str] = None
|
|
16901
17030
|
|
|
16902
17031
|
def __init__(
|
|
16903
17032
|
self,
|
|
@@ -16921,7 +17050,8 @@ class WriteSetting(model.Model):
|
|
|
16921
17050
|
embed_config: Optional["WriteEmbedConfig"] = None,
|
|
16922
17051
|
dashboard_auto_refresh_restriction: Optional[bool] = None,
|
|
16923
17052
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None,
|
|
16924
|
-
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
17053
|
+
managed_certificate_uri: Optional[Sequence[str]] = None,
|
|
17054
|
+
content_certification_documentation_link: Optional[str] = None
|
|
16925
17055
|
):
|
|
16926
17056
|
self.extension_framework_enabled = extension_framework_enabled
|
|
16927
17057
|
self.extension_load_url_enabled = extension_load_url_enabled
|
|
@@ -16945,6 +17075,9 @@ class WriteSetting(model.Model):
|
|
|
16945
17075
|
dashboard_auto_refresh_minimum_interval
|
|
16946
17076
|
)
|
|
16947
17077
|
self.managed_certificate_uri = managed_certificate_uri
|
|
17078
|
+
self.content_certification_documentation_link = (
|
|
17079
|
+
content_certification_documentation_link
|
|
17080
|
+
)
|
|
16948
17081
|
|
|
16949
17082
|
|
|
16950
17083
|
@attr.s(auto_attribs=True, init=False)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|