looker-sdk 25.2.0__tar.gz → 25.6.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.2.0 → looker_sdk-25.6.0}/PKG-INFO +1 -1
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/serialize.py +1 -1
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/sdk/api40/methods.py +134 -4
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/sdk/api40/models.py +480 -21
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/sdk/constants.py +1 -1
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/version.py +1 -1
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/PKG-INFO +1 -1
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/LICENSE.txt +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/MANIFEST.in +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/README.rst +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/__init__.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/error.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/py.typed +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/__init__.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/api_methods.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/api_settings.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/auth_session.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/auth_token.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/constants.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/hooks.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/model.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/requests_transport.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/rtl/transport.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/sdk/__init__.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk/sdk/api40/__init__.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/SOURCES.txt +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/dependency_links.txt +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/requires.txt +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/top_level.txt +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/setup.cfg +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/setup.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/integration/__init__.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/integration/test_methods.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/integration/test_netrc.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/rtl/__init__.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/rtl/test_api_methods.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/rtl/test_api_settings.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/rtl/test_auth_session.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/rtl/test_auth_token.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/rtl/test_requests_transport.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/rtl/test_serialize.py +0 -0
- {looker_sdk-25.2.0 → looker_sdk-25.6.0}/tests/rtl/test_transport.py +0 -0
|
@@ -78,7 +78,7 @@ def deserialize(
|
|
|
78
78
|
def serialize(*, api_model: TModelOrSequence, converter: cattr.Converter) -> bytes:
|
|
79
79
|
"""Translate api_model into formdata encoded json bytes"""
|
|
80
80
|
data = converter.unstructure(api_model) # type: ignore
|
|
81
|
-
return json.dumps(data).encode("utf-8") # type: ignore
|
|
81
|
+
return json.dumps(data,default=lambda o: o.__dict__).encode("utf-8") # type: ignore
|
|
82
82
|
|
|
83
83
|
|
|
84
84
|
def forward_ref_structure_hook(context, converter, data, forward_ref):
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
# SOFTWARE.
|
|
22
22
|
#
|
|
23
23
|
|
|
24
|
-
#
|
|
24
|
+
# 471 API methods
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
|
|
@@ -602,6 +602,8 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
602
602
|
limit: Optional[int] = None,
|
|
603
603
|
# Number of results to skip before returning any. (used with limit)
|
|
604
604
|
offset: Optional[int] = None,
|
|
605
|
+
# Return the full count of results in the X-Total-Count response header. (Slight performance hit.)
|
|
606
|
+
tally: Optional[bool] = None,
|
|
605
607
|
transport_options: Optional[transport.TransportOptions] = None,
|
|
606
608
|
) -> Sequence[mdls.Artifact]:
|
|
607
609
|
"""Search artifacts"""
|
|
@@ -619,6 +621,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
619
621
|
"max_size": max_size,
|
|
620
622
|
"limit": limit,
|
|
621
623
|
"offset": offset,
|
|
624
|
+
"tally": tally,
|
|
622
625
|
},
|
|
623
626
|
transport_options=transport_options,
|
|
624
627
|
),
|
|
@@ -644,6 +647,8 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
644
647
|
limit: Optional[int] = None,
|
|
645
648
|
# Number of results to skip before returning any. (used with limit)
|
|
646
649
|
offset: Optional[int] = None,
|
|
650
|
+
# Return the full count of results in the X-Total-Count response header. (Slight performance hit.)
|
|
651
|
+
tally: Optional[bool] = None,
|
|
647
652
|
transport_options: Optional[transport.TransportOptions] = None,
|
|
648
653
|
) -> Sequence[mdls.Artifact]:
|
|
649
654
|
"""Get one or more artifacts"""
|
|
@@ -658,6 +663,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
658
663
|
"fields": fields,
|
|
659
664
|
"limit": limit,
|
|
660
665
|
"offset": offset,
|
|
666
|
+
"tally": tally,
|
|
661
667
|
},
|
|
662
668
|
transport_options=transport_options,
|
|
663
669
|
),
|
|
@@ -883,9 +889,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
883
889
|
# it to disk, do not pass it to a third party, and only pass it through a secure HTTPS
|
|
884
890
|
# encrypted transport.
|
|
885
891
|
#
|
|
886
|
-
#
|
|
887
|
-
# **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.
|
|
888
|
-
#
|
|
889
892
|
# POST /embed/token_url/me -> mdls.EmbedUrlResponse
|
|
890
893
|
def create_embed_url_as_me(
|
|
891
894
|
self,
|
|
@@ -8789,6 +8792,59 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
8789
8792
|
)
|
|
8790
8793
|
return response
|
|
8791
8794
|
|
|
8795
|
+
# ### Fetches a CI Run.
|
|
8796
|
+
#
|
|
8797
|
+
# GET /projects/{project_id}/ci/runs/{run_id} -> mdls.ProjectCIRun
|
|
8798
|
+
def get_ci_run(
|
|
8799
|
+
self,
|
|
8800
|
+
# Project Id
|
|
8801
|
+
project_id: str,
|
|
8802
|
+
# Run Id
|
|
8803
|
+
run_id: str,
|
|
8804
|
+
# Requested fields
|
|
8805
|
+
fields: Optional[str] = None,
|
|
8806
|
+
transport_options: Optional[transport.TransportOptions] = None,
|
|
8807
|
+
) -> mdls.ProjectCIRun:
|
|
8808
|
+
"""Fetch Continuous Integration run"""
|
|
8809
|
+
project_id = self.encode_path_param(project_id)
|
|
8810
|
+
run_id = self.encode_path_param(run_id)
|
|
8811
|
+
response = cast(
|
|
8812
|
+
mdls.ProjectCIRun,
|
|
8813
|
+
self.get(
|
|
8814
|
+
path=f"/projects/{project_id}/ci/runs/{run_id}",
|
|
8815
|
+
structure=mdls.ProjectCIRun,
|
|
8816
|
+
query_params={"fields": fields},
|
|
8817
|
+
transport_options=transport_options,
|
|
8818
|
+
),
|
|
8819
|
+
)
|
|
8820
|
+
return response
|
|
8821
|
+
|
|
8822
|
+
# ### Creates a CI Run.
|
|
8823
|
+
#
|
|
8824
|
+
# POST /projects/{project_id}/ci/run -> mdls.CreateCIRunResponse
|
|
8825
|
+
def create_ci_run(
|
|
8826
|
+
self,
|
|
8827
|
+
# Project Id
|
|
8828
|
+
project_id: str,
|
|
8829
|
+
body: mdls.CreateCIRunRequest,
|
|
8830
|
+
# Requested fields
|
|
8831
|
+
fields: Optional[str] = None,
|
|
8832
|
+
transport_options: Optional[transport.TransportOptions] = None,
|
|
8833
|
+
) -> mdls.CreateCIRunResponse:
|
|
8834
|
+
"""Create a Continuous Integration run"""
|
|
8835
|
+
project_id = self.encode_path_param(project_id)
|
|
8836
|
+
response = cast(
|
|
8837
|
+
mdls.CreateCIRunResponse,
|
|
8838
|
+
self.post(
|
|
8839
|
+
path=f"/projects/{project_id}/ci/run",
|
|
8840
|
+
structure=mdls.CreateCIRunResponse,
|
|
8841
|
+
query_params={"fields": fields},
|
|
8842
|
+
body=body,
|
|
8843
|
+
transport_options=transport_options,
|
|
8844
|
+
),
|
|
8845
|
+
)
|
|
8846
|
+
return response
|
|
8847
|
+
|
|
8792
8848
|
# ### Configure Repository Credential for a remote dependency
|
|
8793
8849
|
#
|
|
8794
8850
|
# Admin required.
|
|
@@ -9831,6 +9887,80 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
9831
9887
|
|
|
9832
9888
|
# endregion
|
|
9833
9889
|
|
|
9890
|
+
# region Report: Report
|
|
9891
|
+
|
|
9892
|
+
# ### Search Reports
|
|
9893
|
+
#
|
|
9894
|
+
# Returns an **array of Report objects** that match the specified search criteria.
|
|
9895
|
+
#
|
|
9896
|
+
# If multiple search params are given and `filter_or` is FALSE or not specified,
|
|
9897
|
+
# search params are combined in a logical AND operation.
|
|
9898
|
+
# Only rows that match *all* search param criteria will be returned.
|
|
9899
|
+
#
|
|
9900
|
+
# If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.
|
|
9901
|
+
# Results will include rows that match **any** of the search criteria.
|
|
9902
|
+
#
|
|
9903
|
+
# String search params use case-insensitive matching.
|
|
9904
|
+
# String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.
|
|
9905
|
+
# example="dan%" will match "danger" and "Danzig" but not "David"
|
|
9906
|
+
# example="D_m%" will match "Damage" and "dump"
|
|
9907
|
+
#
|
|
9908
|
+
# Integer search params can accept a single value or a comma separated list of values. The multiple
|
|
9909
|
+
# values will be combined under a logical OR operation - results will match at least one of
|
|
9910
|
+
# the given values.
|
|
9911
|
+
#
|
|
9912
|
+
# Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match
|
|
9913
|
+
# or exclude (respectively) rows where the column is null.
|
|
9914
|
+
#
|
|
9915
|
+
# Boolean search params accept only "true" and "false" as values.
|
|
9916
|
+
#
|
|
9917
|
+
# GET /reports/search -> Sequence[mdls.Report]
|
|
9918
|
+
def search_reports(
|
|
9919
|
+
self,
|
|
9920
|
+
# Select reports in a particular folder.
|
|
9921
|
+
folder_id: Optional[str] = None,
|
|
9922
|
+
# Select favorite reports.
|
|
9923
|
+
favorite: Optional[bool] = None,
|
|
9924
|
+
# Select reports viewed recently.
|
|
9925
|
+
recent: Optional[bool] = None,
|
|
9926
|
+
# Match report id.
|
|
9927
|
+
id: Optional[str] = None,
|
|
9928
|
+
# Match report title.
|
|
9929
|
+
title: Optional[str] = None,
|
|
9930
|
+
# One or more fields to sort results by.
|
|
9931
|
+
sorts: Optional[str] = None,
|
|
9932
|
+
# Number of results to return.(used with next_page_token)
|
|
9933
|
+
limit: Optional[int] = None,
|
|
9934
|
+
# Comma delimited list of field names. If provided, only the fields specified will be included in the response.
|
|
9935
|
+
fields: Optional[str] = None,
|
|
9936
|
+
# Contains a token that can be used to return up to Number of results to return.(used with next_page_token) additional results. A next_page_token will not be returned if there are no additional results to display.
|
|
9937
|
+
next_page_token: Optional[str] = None,
|
|
9938
|
+
transport_options: Optional[transport.TransportOptions] = None,
|
|
9939
|
+
) -> Sequence[mdls.Report]:
|
|
9940
|
+
"""Search Reports"""
|
|
9941
|
+
response = cast(
|
|
9942
|
+
Sequence[mdls.Report],
|
|
9943
|
+
self.get(
|
|
9944
|
+
path="/reports/search",
|
|
9945
|
+
structure=Sequence[mdls.Report],
|
|
9946
|
+
query_params={
|
|
9947
|
+
"folder_id": folder_id,
|
|
9948
|
+
"favorite": favorite,
|
|
9949
|
+
"recent": recent,
|
|
9950
|
+
"id": id,
|
|
9951
|
+
"title": title,
|
|
9952
|
+
"sorts": sorts,
|
|
9953
|
+
"limit": limit,
|
|
9954
|
+
"fields": fields,
|
|
9955
|
+
"next_page_token": next_page_token,
|
|
9956
|
+
},
|
|
9957
|
+
transport_options=transport_options,
|
|
9958
|
+
),
|
|
9959
|
+
)
|
|
9960
|
+
return response
|
|
9961
|
+
|
|
9962
|
+
# endregion
|
|
9963
|
+
|
|
9834
9964
|
# region Role: Manage Roles
|
|
9835
9965
|
|
|
9836
9966
|
# ### Search model sets
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
# SOFTWARE.
|
|
22
22
|
#
|
|
23
23
|
|
|
24
|
-
#
|
|
24
|
+
# 353 API models: 269 Spec, 0 Request, 62 Write, 22 Enum
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
|
|
@@ -917,6 +917,188 @@ class Category(enum.Enum):
|
|
|
917
917
|
Category.__new__ = model.safe_enum__new__ # type: ignore
|
|
918
918
|
|
|
919
919
|
|
|
920
|
+
@attr.s(auto_attribs=True, init=False)
|
|
921
|
+
class CIChangeRequest(model.Model):
|
|
922
|
+
"""
|
|
923
|
+
Attributes:
|
|
924
|
+
change_request_number: Change request number
|
|
925
|
+
change_request_url: Change request url
|
|
926
|
+
change_request_name: Change request name
|
|
927
|
+
change_request_commits_url: Change request commits url
|
|
928
|
+
"""
|
|
929
|
+
|
|
930
|
+
change_request_number: Optional[int] = None
|
|
931
|
+
change_request_url: Optional[str] = None
|
|
932
|
+
change_request_name: Optional[str] = None
|
|
933
|
+
change_request_commits_url: Optional[str] = None
|
|
934
|
+
|
|
935
|
+
def __init__(
|
|
936
|
+
self,
|
|
937
|
+
*,
|
|
938
|
+
change_request_number: Optional[int] = None,
|
|
939
|
+
change_request_url: Optional[str] = None,
|
|
940
|
+
change_request_name: Optional[str] = None,
|
|
941
|
+
change_request_commits_url: Optional[str] = None
|
|
942
|
+
):
|
|
943
|
+
self.change_request_number = change_request_number
|
|
944
|
+
self.change_request_url = change_request_url
|
|
945
|
+
self.change_request_name = change_request_name
|
|
946
|
+
self.change_request_commits_url = change_request_commits_url
|
|
947
|
+
|
|
948
|
+
|
|
949
|
+
@attr.s(auto_attribs=True, init=False)
|
|
950
|
+
class CIGitState(model.Model):
|
|
951
|
+
"""
|
|
952
|
+
Attributes:
|
|
953
|
+
branch: Git branch for run
|
|
954
|
+
repository: Git repository for run
|
|
955
|
+
commit_ref: Git commit for run
|
|
956
|
+
target: Run start time.
|
|
957
|
+
"""
|
|
958
|
+
|
|
959
|
+
branch: Optional[str] = None
|
|
960
|
+
repository: Optional[str] = None
|
|
961
|
+
commit_ref: Optional[str] = None
|
|
962
|
+
target: Optional[str] = None
|
|
963
|
+
|
|
964
|
+
def __init__(
|
|
965
|
+
self,
|
|
966
|
+
*,
|
|
967
|
+
branch: Optional[str] = None,
|
|
968
|
+
repository: Optional[str] = None,
|
|
969
|
+
commit_ref: Optional[str] = None,
|
|
970
|
+
target: Optional[str] = None
|
|
971
|
+
):
|
|
972
|
+
self.branch = branch
|
|
973
|
+
self.repository = repository
|
|
974
|
+
self.commit_ref = commit_ref
|
|
975
|
+
self.target = target
|
|
976
|
+
|
|
977
|
+
|
|
978
|
+
@attr.s(auto_attribs=True, init=False)
|
|
979
|
+
class CIRun(model.Model):
|
|
980
|
+
"""
|
|
981
|
+
Attributes:
|
|
982
|
+
run_id: Run ID
|
|
983
|
+
created_at: Run created time.
|
|
984
|
+
started_at: Run start time.
|
|
985
|
+
finished_at: Run completed time.
|
|
986
|
+
status_url: Run status url
|
|
987
|
+
status: Run status.
|
|
988
|
+
git_service: Git service for run
|
|
989
|
+
git_state:
|
|
990
|
+
result: Run results
|
|
991
|
+
schedule:
|
|
992
|
+
target_branch: Target branch for run
|
|
993
|
+
title: Suite title
|
|
994
|
+
trigger: Trigger for run
|
|
995
|
+
change_request:
|
|
996
|
+
suite_id: The Id of the suite used
|
|
997
|
+
username: User who triggered the run
|
|
998
|
+
"""
|
|
999
|
+
|
|
1000
|
+
run_id: Optional[str] = None
|
|
1001
|
+
created_at: Optional[datetime.datetime] = None
|
|
1002
|
+
started_at: Optional[datetime.datetime] = None
|
|
1003
|
+
finished_at: Optional[datetime.datetime] = None
|
|
1004
|
+
status_url: Optional[str] = None
|
|
1005
|
+
status: Optional[str] = None
|
|
1006
|
+
git_service: Optional[str] = None
|
|
1007
|
+
git_state: Optional["CIGitState"] = None
|
|
1008
|
+
result: Optional[Sequence["CIRunResult"]] = None
|
|
1009
|
+
schedule: Optional["CIScheduleTrigger"] = None
|
|
1010
|
+
target_branch: Optional[str] = None
|
|
1011
|
+
title: Optional[str] = None
|
|
1012
|
+
trigger: Optional[str] = None
|
|
1013
|
+
change_request: Optional["CIChangeRequest"] = None
|
|
1014
|
+
suite_id: Optional[str] = None
|
|
1015
|
+
username: Optional[str] = None
|
|
1016
|
+
|
|
1017
|
+
def __init__(
|
|
1018
|
+
self,
|
|
1019
|
+
*,
|
|
1020
|
+
run_id: Optional[str] = None,
|
|
1021
|
+
created_at: Optional[datetime.datetime] = None,
|
|
1022
|
+
started_at: Optional[datetime.datetime] = None,
|
|
1023
|
+
finished_at: Optional[datetime.datetime] = None,
|
|
1024
|
+
status_url: Optional[str] = None,
|
|
1025
|
+
status: Optional[str] = None,
|
|
1026
|
+
git_service: Optional[str] = None,
|
|
1027
|
+
git_state: Optional["CIGitState"] = None,
|
|
1028
|
+
result: Optional[Sequence["CIRunResult"]] = None,
|
|
1029
|
+
schedule: Optional["CIScheduleTrigger"] = None,
|
|
1030
|
+
target_branch: Optional[str] = None,
|
|
1031
|
+
title: Optional[str] = None,
|
|
1032
|
+
trigger: Optional[str] = None,
|
|
1033
|
+
change_request: Optional["CIChangeRequest"] = None,
|
|
1034
|
+
suite_id: Optional[str] = None,
|
|
1035
|
+
username: Optional[str] = None
|
|
1036
|
+
):
|
|
1037
|
+
self.run_id = run_id
|
|
1038
|
+
self.created_at = created_at
|
|
1039
|
+
self.started_at = started_at
|
|
1040
|
+
self.finished_at = finished_at
|
|
1041
|
+
self.status_url = status_url
|
|
1042
|
+
self.status = status
|
|
1043
|
+
self.git_service = git_service
|
|
1044
|
+
self.git_state = git_state
|
|
1045
|
+
self.result = result
|
|
1046
|
+
self.schedule = schedule
|
|
1047
|
+
self.target_branch = target_branch
|
|
1048
|
+
self.title = title
|
|
1049
|
+
self.trigger = trigger
|
|
1050
|
+
self.change_request = change_request
|
|
1051
|
+
self.suite_id = suite_id
|
|
1052
|
+
self.username = username
|
|
1053
|
+
|
|
1054
|
+
|
|
1055
|
+
@attr.s(auto_attribs=True, init=False)
|
|
1056
|
+
class CIRunResult(model.Model):
|
|
1057
|
+
"""
|
|
1058
|
+
Attributes:
|
|
1059
|
+
status: Run result status
|
|
1060
|
+
validator: Run result validator
|
|
1061
|
+
"""
|
|
1062
|
+
|
|
1063
|
+
status: Optional[str] = None
|
|
1064
|
+
validator: Optional[str] = None
|
|
1065
|
+
|
|
1066
|
+
def __init__(
|
|
1067
|
+
self, *, status: Optional[str] = None, validator: Optional[str] = None
|
|
1068
|
+
):
|
|
1069
|
+
self.status = status
|
|
1070
|
+
self.validator = validator
|
|
1071
|
+
|
|
1072
|
+
|
|
1073
|
+
@attr.s(auto_attribs=True, init=False)
|
|
1074
|
+
class CIScheduleTrigger(model.Model):
|
|
1075
|
+
"""
|
|
1076
|
+
Attributes:
|
|
1077
|
+
enabled: Whether schedule is active
|
|
1078
|
+
day: Day of week (0 = Sunday, 6 = Saturday)
|
|
1079
|
+
hour: Hour of the day (24 hour format)
|
|
1080
|
+
frequency: How often the schedule is configured to run
|
|
1081
|
+
"""
|
|
1082
|
+
|
|
1083
|
+
enabled: Optional[bool] = None
|
|
1084
|
+
day: Optional[str] = None
|
|
1085
|
+
hour: Optional[str] = None
|
|
1086
|
+
frequency: Optional[str] = None
|
|
1087
|
+
|
|
1088
|
+
def __init__(
|
|
1089
|
+
self,
|
|
1090
|
+
*,
|
|
1091
|
+
enabled: Optional[bool] = None,
|
|
1092
|
+
day: Optional[str] = None,
|
|
1093
|
+
hour: Optional[str] = None,
|
|
1094
|
+
frequency: Optional[str] = None
|
|
1095
|
+
):
|
|
1096
|
+
self.enabled = enabled
|
|
1097
|
+
self.day = day
|
|
1098
|
+
self.hour = hour
|
|
1099
|
+
self.frequency = frequency
|
|
1100
|
+
|
|
1101
|
+
|
|
920
1102
|
@attr.s(auto_attribs=True, init=False)
|
|
921
1103
|
class ColorCollection(model.Model):
|
|
922
1104
|
"""
|
|
@@ -1945,6 +2127,59 @@ class CostEstimate(model.Model):
|
|
|
1945
2127
|
self.message = message
|
|
1946
2128
|
|
|
1947
2129
|
|
|
2130
|
+
@attr.s(auto_attribs=True, init=False)
|
|
2131
|
+
class CreateCIRunRequest(model.Model):
|
|
2132
|
+
"""
|
|
2133
|
+
Attributes:
|
|
2134
|
+
suite_id: Run ID
|
|
2135
|
+
branch: The branch to test. Omit to test production.
|
|
2136
|
+
target: Suite name
|
|
2137
|
+
commit: The commit to test. Omit to test production.
|
|
2138
|
+
user_attributes: User attributes to set for run
|
|
2139
|
+
webhooks: Webhooks to trigger when run completes.
|
|
2140
|
+
"""
|
|
2141
|
+
|
|
2142
|
+
suite_id: Optional[str] = None
|
|
2143
|
+
branch: Optional[str] = None
|
|
2144
|
+
target: Optional[str] = None
|
|
2145
|
+
commit: Optional[str] = None
|
|
2146
|
+
user_attributes: Optional[Sequence[str]] = None
|
|
2147
|
+
webhooks: Optional[Sequence[str]] = None
|
|
2148
|
+
|
|
2149
|
+
def __init__(
|
|
2150
|
+
self,
|
|
2151
|
+
*,
|
|
2152
|
+
suite_id: Optional[str] = None,
|
|
2153
|
+
branch: Optional[str] = None,
|
|
2154
|
+
target: Optional[str] = None,
|
|
2155
|
+
commit: Optional[str] = None,
|
|
2156
|
+
user_attributes: Optional[Sequence[str]] = None,
|
|
2157
|
+
webhooks: Optional[Sequence[str]] = None
|
|
2158
|
+
):
|
|
2159
|
+
self.suite_id = suite_id
|
|
2160
|
+
self.branch = branch
|
|
2161
|
+
self.target = target
|
|
2162
|
+
self.commit = commit
|
|
2163
|
+
self.user_attributes = user_attributes
|
|
2164
|
+
self.webhooks = webhooks
|
|
2165
|
+
|
|
2166
|
+
|
|
2167
|
+
@attr.s(auto_attribs=True, init=False)
|
|
2168
|
+
class CreateCIRunResponse(model.Model):
|
|
2169
|
+
"""
|
|
2170
|
+
Attributes:
|
|
2171
|
+
run_id: Run ID
|
|
2172
|
+
status: Run status
|
|
2173
|
+
"""
|
|
2174
|
+
|
|
2175
|
+
run_id: Optional[str] = None
|
|
2176
|
+
status: Optional[str] = None
|
|
2177
|
+
|
|
2178
|
+
def __init__(self, *, run_id: Optional[str] = None, status: Optional[str] = None):
|
|
2179
|
+
self.run_id = run_id
|
|
2180
|
+
self.status = status
|
|
2181
|
+
|
|
2182
|
+
|
|
1948
2183
|
@attr.s(auto_attribs=True, init=False)
|
|
1949
2184
|
class CreateCostEstimate(model.Model):
|
|
1950
2185
|
"""
|
|
@@ -3685,15 +3920,17 @@ class DBConnection(model.Model):
|
|
|
3685
3920
|
dialect:
|
|
3686
3921
|
snippets: SQL Runner snippets for this connection
|
|
3687
3922
|
pdts_enabled: True if PDTs are enabled on this connection
|
|
3688
|
-
|
|
3923
|
+
named_driver_version_requested: Requested JDBC driver version name
|
|
3924
|
+
named_driver_version_actual: Resolved JDBC driver version
|
|
3689
3925
|
host: Host name/address of server; or the string 'localhost' in case of a connection over an SSH tunnel.
|
|
3690
3926
|
port: Port number on server. If the connection is over an SSH tunnel, then the local port associated with the SSH tunnel.
|
|
3691
3927
|
username: Username for server authentication
|
|
3692
3928
|
password: (Write-Only) Password for server authentication
|
|
3693
3929
|
uses_oauth: Whether the connection uses OAuth for authentication.
|
|
3930
|
+
uses_key_pair_auth: Whether the connection uses key-pair for authentication.
|
|
3694
3931
|
uses_instance_oauth: Whether the integration uses the oauth instance account.
|
|
3695
3932
|
certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
|
|
3696
|
-
file_type: (Write-Only) Certificate keyfile type - .json or .p12
|
|
3933
|
+
file_type: (Write-Only) Certificate keyfile type - .json, .p8 or .p12
|
|
3697
3934
|
database: Database name
|
|
3698
3935
|
db_timezone: Time zone of database
|
|
3699
3936
|
query_timezone: Timezone to use in queries
|
|
@@ -3747,12 +3984,14 @@ class DBConnection(model.Model):
|
|
|
3747
3984
|
dialect: Optional["Dialect"] = None
|
|
3748
3985
|
snippets: Optional[Sequence["Snippet"]] = None
|
|
3749
3986
|
pdts_enabled: Optional[bool] = None
|
|
3750
|
-
|
|
3987
|
+
named_driver_version_requested: Optional[str] = None
|
|
3988
|
+
named_driver_version_actual: Optional[str] = None
|
|
3751
3989
|
host: Optional[str] = None
|
|
3752
3990
|
port: Optional[str] = None
|
|
3753
3991
|
username: Optional[str] = None
|
|
3754
3992
|
password: Optional[str] = None
|
|
3755
3993
|
uses_oauth: Optional[bool] = None
|
|
3994
|
+
uses_key_pair_auth: Optional[bool] = None
|
|
3756
3995
|
uses_instance_oauth: Optional[bool] = None
|
|
3757
3996
|
certificate: Optional[str] = None
|
|
3758
3997
|
file_type: Optional[str] = None
|
|
@@ -3811,12 +4050,14 @@ class DBConnection(model.Model):
|
|
|
3811
4050
|
dialect: Optional["Dialect"] = None,
|
|
3812
4051
|
snippets: Optional[Sequence["Snippet"]] = None,
|
|
3813
4052
|
pdts_enabled: Optional[bool] = None,
|
|
3814
|
-
|
|
4053
|
+
named_driver_version_requested: Optional[str] = None,
|
|
4054
|
+
named_driver_version_actual: Optional[str] = None,
|
|
3815
4055
|
host: Optional[str] = None,
|
|
3816
4056
|
port: Optional[str] = None,
|
|
3817
4057
|
username: Optional[str] = None,
|
|
3818
4058
|
password: Optional[str] = None,
|
|
3819
4059
|
uses_oauth: Optional[bool] = None,
|
|
4060
|
+
uses_key_pair_auth: Optional[bool] = None,
|
|
3820
4061
|
uses_instance_oauth: Optional[bool] = None,
|
|
3821
4062
|
certificate: Optional[str] = None,
|
|
3822
4063
|
file_type: Optional[str] = None,
|
|
@@ -3872,12 +4113,14 @@ class DBConnection(model.Model):
|
|
|
3872
4113
|
self.dialect = dialect
|
|
3873
4114
|
self.snippets = snippets
|
|
3874
4115
|
self.pdts_enabled = pdts_enabled
|
|
3875
|
-
self.
|
|
4116
|
+
self.named_driver_version_requested = named_driver_version_requested
|
|
4117
|
+
self.named_driver_version_actual = named_driver_version_actual
|
|
3876
4118
|
self.host = host
|
|
3877
4119
|
self.port = port
|
|
3878
4120
|
self.username = username
|
|
3879
4121
|
self.password = password
|
|
3880
4122
|
self.uses_oauth = uses_oauth
|
|
4123
|
+
self.uses_key_pair_auth = uses_key_pair_auth
|
|
3881
4124
|
self.uses_instance_oauth = uses_instance_oauth
|
|
3882
4125
|
self.certificate = certificate
|
|
3883
4126
|
self.file_type = file_type
|
|
@@ -3968,59 +4211,99 @@ class DBConnectionOverride(model.Model):
|
|
|
3968
4211
|
Attributes:
|
|
3969
4212
|
context: Context in which to override (`pdt` is the only allowed value)
|
|
3970
4213
|
host: Host name/address of server
|
|
4214
|
+
pdt_host: Host name/address of server (same as host)
|
|
3971
4215
|
port: Port number on server
|
|
4216
|
+
pdt_port: Port number on server (same as port)
|
|
3972
4217
|
username: Username for server authentication
|
|
4218
|
+
pdt_username: Username for server authentication (same as username)
|
|
3973
4219
|
password: (Write-Only) Password for server authentication
|
|
4220
|
+
pdt_password: (Write-Only) Password for server authentication (same as password)
|
|
3974
4221
|
has_password: Whether or not the password is overridden in this context
|
|
3975
4222
|
certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
|
|
4223
|
+
pdt_certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect) (same as certificate).
|
|
3976
4224
|
file_type: (Write-Only) Certificate keyfile type - .json or .p12
|
|
4225
|
+
pdt_file_type: (Write-Only) Certificate keyfile type - .json or .p12 (same as file_type)
|
|
3977
4226
|
database: Database name
|
|
4227
|
+
pdt_database: Database name (same as database)
|
|
3978
4228
|
schema: Schema name
|
|
4229
|
+
pdt_schema: Schema name (same as schema)
|
|
3979
4230
|
jdbc_additional_params: Additional params to add to JDBC connection string
|
|
4231
|
+
pdt_jdbc_additional_params: Additional params to add to JDBC connection string (same as jdbc_additional_params)
|
|
3980
4232
|
after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature
|
|
4233
|
+
pdt_after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature (same as after_connect_statements)
|
|
3981
4234
|
"""
|
|
3982
4235
|
|
|
3983
4236
|
context: Optional[str] = None
|
|
3984
4237
|
host: Optional[str] = None
|
|
4238
|
+
pdt_host: Optional[str] = None
|
|
3985
4239
|
port: Optional[str] = None
|
|
4240
|
+
pdt_port: Optional[str] = None
|
|
3986
4241
|
username: Optional[str] = None
|
|
4242
|
+
pdt_username: Optional[str] = None
|
|
3987
4243
|
password: Optional[str] = None
|
|
4244
|
+
pdt_password: Optional[str] = None
|
|
3988
4245
|
has_password: Optional[bool] = None
|
|
3989
4246
|
certificate: Optional[str] = None
|
|
4247
|
+
pdt_certificate: Optional[str] = None
|
|
3990
4248
|
file_type: Optional[str] = None
|
|
4249
|
+
pdt_file_type: Optional[str] = None
|
|
3991
4250
|
database: Optional[str] = None
|
|
4251
|
+
pdt_database: Optional[str] = None
|
|
3992
4252
|
schema: Optional[str] = None
|
|
4253
|
+
pdt_schema: Optional[str] = None
|
|
3993
4254
|
jdbc_additional_params: Optional[str] = None
|
|
4255
|
+
pdt_jdbc_additional_params: Optional[str] = None
|
|
3994
4256
|
after_connect_statements: Optional[str] = None
|
|
4257
|
+
pdt_after_connect_statements: Optional[str] = None
|
|
3995
4258
|
|
|
3996
4259
|
def __init__(
|
|
3997
4260
|
self,
|
|
3998
4261
|
*,
|
|
3999
4262
|
context: Optional[str] = None,
|
|
4000
4263
|
host: Optional[str] = None,
|
|
4264
|
+
pdt_host: Optional[str] = None,
|
|
4001
4265
|
port: Optional[str] = None,
|
|
4266
|
+
pdt_port: Optional[str] = None,
|
|
4002
4267
|
username: Optional[str] = None,
|
|
4268
|
+
pdt_username: Optional[str] = None,
|
|
4003
4269
|
password: Optional[str] = None,
|
|
4270
|
+
pdt_password: Optional[str] = None,
|
|
4004
4271
|
has_password: Optional[bool] = None,
|
|
4005
4272
|
certificate: Optional[str] = None,
|
|
4273
|
+
pdt_certificate: Optional[str] = None,
|
|
4006
4274
|
file_type: Optional[str] = None,
|
|
4275
|
+
pdt_file_type: Optional[str] = None,
|
|
4007
4276
|
database: Optional[str] = None,
|
|
4277
|
+
pdt_database: Optional[str] = None,
|
|
4008
4278
|
schema: Optional[str] = None,
|
|
4279
|
+
pdt_schema: Optional[str] = None,
|
|
4009
4280
|
jdbc_additional_params: Optional[str] = None,
|
|
4010
|
-
|
|
4281
|
+
pdt_jdbc_additional_params: Optional[str] = None,
|
|
4282
|
+
after_connect_statements: Optional[str] = None,
|
|
4283
|
+
pdt_after_connect_statements: Optional[str] = None
|
|
4011
4284
|
):
|
|
4012
4285
|
self.context = context
|
|
4013
4286
|
self.host = host
|
|
4287
|
+
self.pdt_host = pdt_host
|
|
4014
4288
|
self.port = port
|
|
4289
|
+
self.pdt_port = pdt_port
|
|
4015
4290
|
self.username = username
|
|
4291
|
+
self.pdt_username = pdt_username
|
|
4016
4292
|
self.password = password
|
|
4293
|
+
self.pdt_password = pdt_password
|
|
4017
4294
|
self.has_password = has_password
|
|
4018
4295
|
self.certificate = certificate
|
|
4296
|
+
self.pdt_certificate = pdt_certificate
|
|
4019
4297
|
self.file_type = file_type
|
|
4298
|
+
self.pdt_file_type = pdt_file_type
|
|
4020
4299
|
self.database = database
|
|
4300
|
+
self.pdt_database = pdt_database
|
|
4021
4301
|
self.schema = schema
|
|
4302
|
+
self.pdt_schema = pdt_schema
|
|
4022
4303
|
self.jdbc_additional_params = jdbc_additional_params
|
|
4304
|
+
self.pdt_jdbc_additional_params = pdt_jdbc_additional_params
|
|
4023
4305
|
self.after_connect_statements = after_connect_statements
|
|
4306
|
+
self.pdt_after_connect_statements = pdt_after_connect_statements
|
|
4024
4307
|
|
|
4025
4308
|
|
|
4026
4309
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -4216,6 +4499,24 @@ class Dialect(model.Model):
|
|
|
4216
4499
|
self.has_ssl_support = has_ssl_support
|
|
4217
4500
|
|
|
4218
4501
|
|
|
4502
|
+
@attr.s(auto_attribs=True, init=False)
|
|
4503
|
+
class DialectDriverVersion(model.Model):
|
|
4504
|
+
"""
|
|
4505
|
+
Attributes:
|
|
4506
|
+
name: Name to be passed to the backend
|
|
4507
|
+
display_name: Name to be displayed in the frontend.
|
|
4508
|
+
"""
|
|
4509
|
+
|
|
4510
|
+
name: Optional[str] = None
|
|
4511
|
+
display_name: Optional[str] = None
|
|
4512
|
+
|
|
4513
|
+
def __init__(
|
|
4514
|
+
self, *, name: Optional[str] = None, display_name: Optional[str] = None
|
|
4515
|
+
):
|
|
4516
|
+
self.name = name
|
|
4517
|
+
self.display_name = display_name
|
|
4518
|
+
|
|
4519
|
+
|
|
4219
4520
|
@attr.s(auto_attribs=True, init=False)
|
|
4220
4521
|
class DialectInfo(model.Model):
|
|
4221
4522
|
"""
|
|
@@ -4228,6 +4529,8 @@ class DialectInfo(model.Model):
|
|
|
4228
4529
|
label_for_database_equivalent: What the dialect calls the equivalent of a normal SQL table
|
|
4229
4530
|
label_for_schema_equivalent: What the dialect calls the equivalent of a schema-level namespace
|
|
4230
4531
|
name: The name of the dialect
|
|
4532
|
+
supported_driver_name: The name of the driver used for this dialect
|
|
4533
|
+
supported_driver_versions: Array of supported drivers for a given dialect
|
|
4231
4534
|
supported_options:
|
|
4232
4535
|
"""
|
|
4233
4536
|
|
|
@@ -4239,6 +4542,8 @@ class DialectInfo(model.Model):
|
|
|
4239
4542
|
label_for_database_equivalent: Optional[str] = None
|
|
4240
4543
|
label_for_schema_equivalent: Optional[str] = None
|
|
4241
4544
|
name: Optional[str] = None
|
|
4545
|
+
supported_driver_name: Optional[str] = None
|
|
4546
|
+
supported_driver_versions: Optional[Sequence["DialectDriverVersion"]] = None
|
|
4242
4547
|
supported_options: Optional["DialectInfoOptions"] = None
|
|
4243
4548
|
|
|
4244
4549
|
def __init__(
|
|
@@ -4252,6 +4557,8 @@ class DialectInfo(model.Model):
|
|
|
4252
4557
|
label_for_database_equivalent: Optional[str] = None,
|
|
4253
4558
|
label_for_schema_equivalent: Optional[str] = None,
|
|
4254
4559
|
name: Optional[str] = None,
|
|
4560
|
+
supported_driver_name: Optional[str] = None,
|
|
4561
|
+
supported_driver_versions: Optional[Sequence["DialectDriverVersion"]] = None,
|
|
4255
4562
|
supported_options: Optional["DialectInfoOptions"] = None
|
|
4256
4563
|
):
|
|
4257
4564
|
self.can = can
|
|
@@ -4262,6 +4569,8 @@ class DialectInfo(model.Model):
|
|
|
4262
4569
|
self.label_for_database_equivalent = label_for_database_equivalent
|
|
4263
4570
|
self.label_for_schema_equivalent = label_for_schema_equivalent
|
|
4264
4571
|
self.name = name
|
|
4572
|
+
self.supported_driver_name = supported_driver_name
|
|
4573
|
+
self.supported_driver_versions = supported_driver_versions
|
|
4265
4574
|
self.supported_options = supported_options
|
|
4266
4575
|
|
|
4267
4576
|
|
|
@@ -9245,6 +9554,19 @@ class Project(model.Model):
|
|
|
9245
9554
|
self.dependency_status = dependency_status
|
|
9246
9555
|
|
|
9247
9556
|
|
|
9557
|
+
@attr.s(auto_attribs=True, init=False)
|
|
9558
|
+
class ProjectCIRun(model.Model):
|
|
9559
|
+
"""
|
|
9560
|
+
Attributes:
|
|
9561
|
+
run:
|
|
9562
|
+
"""
|
|
9563
|
+
|
|
9564
|
+
run: Optional["CIRun"] = None
|
|
9565
|
+
|
|
9566
|
+
def __init__(self, *, run: Optional["CIRun"] = None):
|
|
9567
|
+
self.run = run
|
|
9568
|
+
|
|
9569
|
+
|
|
9248
9570
|
@attr.s(auto_attribs=True, init=False)
|
|
9249
9571
|
class ProjectError(model.Model):
|
|
9250
9572
|
"""
|
|
@@ -9778,6 +10100,95 @@ class RenderTask(model.Model):
|
|
|
9778
10100
|
self.width = width
|
|
9779
10101
|
|
|
9780
10102
|
|
|
10103
|
+
@attr.s(auto_attribs=True, init=False)
|
|
10104
|
+
class Report(model.Model):
|
|
10105
|
+
"""
|
|
10106
|
+
Attributes:
|
|
10107
|
+
can: Operations the current user is able to perform on this object
|
|
10108
|
+
id: ID of the report
|
|
10109
|
+
title: Title of the report
|
|
10110
|
+
user_id: User Id of the owner of the report
|
|
10111
|
+
created_at: Created at
|
|
10112
|
+
updated_at: Modified at
|
|
10113
|
+
last_viewed_at: Last viewed at
|
|
10114
|
+
favorite: Is favorite report
|
|
10115
|
+
favorite_count: Favorite count
|
|
10116
|
+
view_count: View count
|
|
10117
|
+
folder:
|
|
10118
|
+
folder_id: Id of the folder where the report is stored
|
|
10119
|
+
url: Relative URL of the report
|
|
10120
|
+
user_name: Name of User that created the Studio Report.
|
|
10121
|
+
deleted_at: Deleted at
|
|
10122
|
+
last_accessed_at: Last Accessed at
|
|
10123
|
+
deleter_user_id: User Id of the deleter of the report
|
|
10124
|
+
deleter_user_name: Name of User that deleted the Report.
|
|
10125
|
+
schedule_count: Count of schedules on the report.
|
|
10126
|
+
"""
|
|
10127
|
+
|
|
10128
|
+
can: Optional[MutableMapping[str, bool]] = None
|
|
10129
|
+
id: Optional[str] = None
|
|
10130
|
+
title: Optional[str] = None
|
|
10131
|
+
user_id: Optional[str] = None
|
|
10132
|
+
created_at: Optional[datetime.datetime] = None
|
|
10133
|
+
updated_at: Optional[datetime.datetime] = None
|
|
10134
|
+
last_viewed_at: Optional[datetime.datetime] = None
|
|
10135
|
+
favorite: Optional[bool] = None
|
|
10136
|
+
favorite_count: Optional[int] = None
|
|
10137
|
+
view_count: Optional[int] = None
|
|
10138
|
+
folder: Optional["FolderBase"] = None
|
|
10139
|
+
folder_id: Optional[str] = None
|
|
10140
|
+
url: Optional[str] = None
|
|
10141
|
+
user_name: Optional[str] = None
|
|
10142
|
+
deleted_at: Optional[datetime.datetime] = None
|
|
10143
|
+
last_accessed_at: Optional[datetime.datetime] = None
|
|
10144
|
+
deleter_user_id: Optional[str] = None
|
|
10145
|
+
deleter_user_name: Optional[str] = None
|
|
10146
|
+
schedule_count: Optional[int] = None
|
|
10147
|
+
|
|
10148
|
+
def __init__(
|
|
10149
|
+
self,
|
|
10150
|
+
*,
|
|
10151
|
+
can: Optional[MutableMapping[str, bool]] = None,
|
|
10152
|
+
id: Optional[str] = None,
|
|
10153
|
+
title: Optional[str] = None,
|
|
10154
|
+
user_id: Optional[str] = None,
|
|
10155
|
+
created_at: Optional[datetime.datetime] = None,
|
|
10156
|
+
updated_at: Optional[datetime.datetime] = None,
|
|
10157
|
+
last_viewed_at: Optional[datetime.datetime] = None,
|
|
10158
|
+
favorite: Optional[bool] = None,
|
|
10159
|
+
favorite_count: Optional[int] = None,
|
|
10160
|
+
view_count: Optional[int] = None,
|
|
10161
|
+
folder: Optional["FolderBase"] = None,
|
|
10162
|
+
folder_id: Optional[str] = None,
|
|
10163
|
+
url: Optional[str] = None,
|
|
10164
|
+
user_name: Optional[str] = None,
|
|
10165
|
+
deleted_at: Optional[datetime.datetime] = None,
|
|
10166
|
+
last_accessed_at: Optional[datetime.datetime] = None,
|
|
10167
|
+
deleter_user_id: Optional[str] = None,
|
|
10168
|
+
deleter_user_name: Optional[str] = None,
|
|
10169
|
+
schedule_count: Optional[int] = None
|
|
10170
|
+
):
|
|
10171
|
+
self.can = can
|
|
10172
|
+
self.id = id
|
|
10173
|
+
self.title = title
|
|
10174
|
+
self.user_id = user_id
|
|
10175
|
+
self.created_at = created_at
|
|
10176
|
+
self.updated_at = updated_at
|
|
10177
|
+
self.last_viewed_at = last_viewed_at
|
|
10178
|
+
self.favorite = favorite
|
|
10179
|
+
self.favorite_count = favorite_count
|
|
10180
|
+
self.view_count = view_count
|
|
10181
|
+
self.folder = folder
|
|
10182
|
+
self.folder_id = folder_id
|
|
10183
|
+
self.url = url
|
|
10184
|
+
self.user_name = user_name
|
|
10185
|
+
self.deleted_at = deleted_at
|
|
10186
|
+
self.last_accessed_at = last_accessed_at
|
|
10187
|
+
self.deleter_user_id = deleter_user_id
|
|
10188
|
+
self.deleter_user_name = deleter_user_name
|
|
10189
|
+
self.schedule_count = schedule_count
|
|
10190
|
+
|
|
10191
|
+
|
|
9781
10192
|
@attr.s(auto_attribs=True, init=False)
|
|
9782
10193
|
class RepositoryCredential(model.Model):
|
|
9783
10194
|
"""
|
|
@@ -11000,7 +11411,7 @@ class Setting(model.Model):
|
|
|
11000
11411
|
login_notification_text: Login notification text
|
|
11001
11412
|
dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
|
|
11002
11413
|
dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
|
|
11003
|
-
managed_certificate_uri:
|
|
11414
|
+
managed_certificate_uri: Array of URIs pointing to the location of a root certificate in Secret Manager
|
|
11004
11415
|
"""
|
|
11005
11416
|
|
|
11006
11417
|
instance_config: Optional["InstanceConfig"] = None
|
|
@@ -11027,7 +11438,7 @@ class Setting(model.Model):
|
|
|
11027
11438
|
login_notification_text: Optional[str] = None
|
|
11028
11439
|
dashboard_auto_refresh_restriction: Optional[bool] = None
|
|
11029
11440
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None
|
|
11030
|
-
managed_certificate_uri: Optional[str] = None
|
|
11441
|
+
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
11031
11442
|
|
|
11032
11443
|
def __init__(
|
|
11033
11444
|
self,
|
|
@@ -11056,7 +11467,7 @@ class Setting(model.Model):
|
|
|
11056
11467
|
login_notification_text: Optional[str] = None,
|
|
11057
11468
|
dashboard_auto_refresh_restriction: Optional[bool] = None,
|
|
11058
11469
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None,
|
|
11059
|
-
managed_certificate_uri: Optional[str] = None
|
|
11470
|
+
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
11060
11471
|
):
|
|
11061
11472
|
self.instance_config = instance_config
|
|
11062
11473
|
self.extension_framework_enabled = extension_framework_enabled
|
|
@@ -12020,6 +12431,7 @@ class User(model.Model):
|
|
|
12020
12431
|
allow_normal_group_membership: User can be a direct member of a normal Looker group.
|
|
12021
12432
|
allow_roles_from_normal_groups: User can inherit roles from a normal Looker group.
|
|
12022
12433
|
embed_group_folder_id: (Embed only) ID of user's group folder based on the external_group_id optionally specified during embed user login
|
|
12434
|
+
is_iam_admin: User is an IAM Admin - only available in Looker (Google Cloud core)
|
|
12023
12435
|
url: Link to get this item
|
|
12024
12436
|
"""
|
|
12025
12437
|
|
|
@@ -12058,6 +12470,7 @@ class User(model.Model):
|
|
|
12058
12470
|
allow_normal_group_membership: Optional[bool] = None
|
|
12059
12471
|
allow_roles_from_normal_groups: Optional[bool] = None
|
|
12060
12472
|
embed_group_folder_id: Optional[str] = None
|
|
12473
|
+
is_iam_admin: Optional[bool] = None
|
|
12061
12474
|
url: Optional[str] = None
|
|
12062
12475
|
|
|
12063
12476
|
def __init__(
|
|
@@ -12098,6 +12511,7 @@ class User(model.Model):
|
|
|
12098
12511
|
allow_normal_group_membership: Optional[bool] = None,
|
|
12099
12512
|
allow_roles_from_normal_groups: Optional[bool] = None,
|
|
12100
12513
|
embed_group_folder_id: Optional[str] = None,
|
|
12514
|
+
is_iam_admin: Optional[bool] = None,
|
|
12101
12515
|
url: Optional[str] = None
|
|
12102
12516
|
):
|
|
12103
12517
|
self.can = can
|
|
@@ -12135,6 +12549,7 @@ class User(model.Model):
|
|
|
12135
12549
|
self.allow_normal_group_membership = allow_normal_group_membership
|
|
12136
12550
|
self.allow_roles_from_normal_groups = allow_roles_from_normal_groups
|
|
12137
12551
|
self.embed_group_folder_id = embed_group_folder_id
|
|
12552
|
+
self.is_iam_admin = is_iam_admin
|
|
12138
12553
|
self.url = url
|
|
12139
12554
|
|
|
12140
12555
|
|
|
@@ -13592,17 +14007,18 @@ class WriteDatagroup(model.Model):
|
|
|
13592
14007
|
class WriteDBConnection(model.Model):
|
|
13593
14008
|
"""
|
|
13594
14009
|
Dynamic writeable type for DBConnection removes:
|
|
13595
|
-
can, dialect, snippets, pdts_enabled, uses_oauth, uses_instance_oauth, supports_data_studio_link, created_at, user_id, example, last_regen_at, last_reap_at, managed, default_bq_connection, p4sa_name
|
|
14010
|
+
can, dialect, snippets, pdts_enabled, named_driver_version_actual, uses_oauth, uses_instance_oauth, supports_data_studio_link, created_at, user_id, example, last_regen_at, last_reap_at, managed, default_bq_connection, p4sa_name
|
|
13596
14011
|
|
|
13597
14012
|
Attributes:
|
|
13598
14013
|
name: Name of the connection. Also used as the unique identifier
|
|
13599
|
-
|
|
14014
|
+
named_driver_version_requested: Requested JDBC driver version name
|
|
13600
14015
|
host: Host name/address of server; or the string 'localhost' in case of a connection over an SSH tunnel.
|
|
13601
14016
|
port: Port number on server. If the connection is over an SSH tunnel, then the local port associated with the SSH tunnel.
|
|
13602
14017
|
username: Username for server authentication
|
|
13603
14018
|
password: (Write-Only) Password for server authentication
|
|
14019
|
+
uses_key_pair_auth: Whether the connection uses key-pair for authentication.
|
|
13604
14020
|
certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
|
|
13605
|
-
file_type: (Write-Only) Certificate keyfile type - .json or .p12
|
|
14021
|
+
file_type: (Write-Only) Certificate keyfile type - .json, .p8 or .p12
|
|
13606
14022
|
database: Database name
|
|
13607
14023
|
db_timezone: Time zone of database
|
|
13608
14024
|
query_timezone: Timezone to use in queries
|
|
@@ -13644,11 +14060,12 @@ class WriteDBConnection(model.Model):
|
|
|
13644
14060
|
"""
|
|
13645
14061
|
|
|
13646
14062
|
name: Optional[str] = None
|
|
13647
|
-
|
|
14063
|
+
named_driver_version_requested: Optional[str] = None
|
|
13648
14064
|
host: Optional[str] = None
|
|
13649
14065
|
port: Optional[str] = None
|
|
13650
14066
|
username: Optional[str] = None
|
|
13651
14067
|
password: Optional[str] = None
|
|
14068
|
+
uses_key_pair_auth: Optional[bool] = None
|
|
13652
14069
|
certificate: Optional[str] = None
|
|
13653
14070
|
file_type: Optional[str] = None
|
|
13654
14071
|
database: Optional[str] = None
|
|
@@ -13693,11 +14110,12 @@ class WriteDBConnection(model.Model):
|
|
|
13693
14110
|
self,
|
|
13694
14111
|
*,
|
|
13695
14112
|
name: Optional[str] = None,
|
|
13696
|
-
|
|
14113
|
+
named_driver_version_requested: Optional[str] = None,
|
|
13697
14114
|
host: Optional[str] = None,
|
|
13698
14115
|
port: Optional[str] = None,
|
|
13699
14116
|
username: Optional[str] = None,
|
|
13700
14117
|
password: Optional[str] = None,
|
|
14118
|
+
uses_key_pair_auth: Optional[bool] = None,
|
|
13701
14119
|
certificate: Optional[str] = None,
|
|
13702
14120
|
file_type: Optional[str] = None,
|
|
13703
14121
|
database: Optional[str] = None,
|
|
@@ -13739,11 +14157,12 @@ class WriteDBConnection(model.Model):
|
|
|
13739
14157
|
query_holding_disabled: Optional[bool] = None
|
|
13740
14158
|
):
|
|
13741
14159
|
self.name = name
|
|
13742
|
-
self.
|
|
14160
|
+
self.named_driver_version_requested = named_driver_version_requested
|
|
13743
14161
|
self.host = host
|
|
13744
14162
|
self.port = port
|
|
13745
14163
|
self.username = username
|
|
13746
14164
|
self.password = password
|
|
14165
|
+
self.uses_key_pair_auth = uses_key_pair_auth
|
|
13747
14166
|
self.certificate = certificate
|
|
13748
14167
|
self.file_type = file_type
|
|
13749
14168
|
self.database = database
|
|
@@ -13794,55 +14213,95 @@ class WriteDBConnectionOverride(model.Model):
|
|
|
13794
14213
|
Attributes:
|
|
13795
14214
|
context: Context in which to override (`pdt` is the only allowed value)
|
|
13796
14215
|
host: Host name/address of server
|
|
14216
|
+
pdt_host: Host name/address of server (same as host)
|
|
13797
14217
|
port: Port number on server
|
|
14218
|
+
pdt_port: Port number on server (same as port)
|
|
13798
14219
|
username: Username for server authentication
|
|
14220
|
+
pdt_username: Username for server authentication (same as username)
|
|
13799
14221
|
password: (Write-Only) Password for server authentication
|
|
14222
|
+
pdt_password: (Write-Only) Password for server authentication (same as password)
|
|
13800
14223
|
certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
|
|
14224
|
+
pdt_certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect) (same as certificate).
|
|
13801
14225
|
file_type: (Write-Only) Certificate keyfile type - .json or .p12
|
|
14226
|
+
pdt_file_type: (Write-Only) Certificate keyfile type - .json or .p12 (same as file_type)
|
|
13802
14227
|
database: Database name
|
|
14228
|
+
pdt_database: Database name (same as database)
|
|
13803
14229
|
schema: Schema name
|
|
14230
|
+
pdt_schema: Schema name (same as schema)
|
|
13804
14231
|
jdbc_additional_params: Additional params to add to JDBC connection string
|
|
14232
|
+
pdt_jdbc_additional_params: Additional params to add to JDBC connection string (same as jdbc_additional_params)
|
|
13805
14233
|
after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature
|
|
14234
|
+
pdt_after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature (same as after_connect_statements)
|
|
13806
14235
|
"""
|
|
13807
14236
|
|
|
13808
14237
|
context: Optional[str] = None
|
|
13809
14238
|
host: Optional[str] = None
|
|
14239
|
+
pdt_host: Optional[str] = None
|
|
13810
14240
|
port: Optional[str] = None
|
|
14241
|
+
pdt_port: Optional[str] = None
|
|
13811
14242
|
username: Optional[str] = None
|
|
14243
|
+
pdt_username: Optional[str] = None
|
|
13812
14244
|
password: Optional[str] = None
|
|
14245
|
+
pdt_password: Optional[str] = None
|
|
13813
14246
|
certificate: Optional[str] = None
|
|
14247
|
+
pdt_certificate: Optional[str] = None
|
|
13814
14248
|
file_type: Optional[str] = None
|
|
14249
|
+
pdt_file_type: Optional[str] = None
|
|
13815
14250
|
database: Optional[str] = None
|
|
14251
|
+
pdt_database: Optional[str] = None
|
|
13816
14252
|
schema: Optional[str] = None
|
|
14253
|
+
pdt_schema: Optional[str] = None
|
|
13817
14254
|
jdbc_additional_params: Optional[str] = None
|
|
14255
|
+
pdt_jdbc_additional_params: Optional[str] = None
|
|
13818
14256
|
after_connect_statements: Optional[str] = None
|
|
14257
|
+
pdt_after_connect_statements: Optional[str] = None
|
|
13819
14258
|
|
|
13820
14259
|
def __init__(
|
|
13821
14260
|
self,
|
|
13822
14261
|
*,
|
|
13823
14262
|
context: Optional[str] = None,
|
|
13824
14263
|
host: Optional[str] = None,
|
|
14264
|
+
pdt_host: Optional[str] = None,
|
|
13825
14265
|
port: Optional[str] = None,
|
|
14266
|
+
pdt_port: Optional[str] = None,
|
|
13826
14267
|
username: Optional[str] = None,
|
|
14268
|
+
pdt_username: Optional[str] = None,
|
|
13827
14269
|
password: Optional[str] = None,
|
|
14270
|
+
pdt_password: Optional[str] = None,
|
|
13828
14271
|
certificate: Optional[str] = None,
|
|
14272
|
+
pdt_certificate: Optional[str] = None,
|
|
13829
14273
|
file_type: Optional[str] = None,
|
|
14274
|
+
pdt_file_type: Optional[str] = None,
|
|
13830
14275
|
database: Optional[str] = None,
|
|
14276
|
+
pdt_database: Optional[str] = None,
|
|
13831
14277
|
schema: Optional[str] = None,
|
|
14278
|
+
pdt_schema: Optional[str] = None,
|
|
13832
14279
|
jdbc_additional_params: Optional[str] = None,
|
|
13833
|
-
|
|
14280
|
+
pdt_jdbc_additional_params: Optional[str] = None,
|
|
14281
|
+
after_connect_statements: Optional[str] = None,
|
|
14282
|
+
pdt_after_connect_statements: Optional[str] = None
|
|
13834
14283
|
):
|
|
13835
14284
|
self.context = context
|
|
13836
14285
|
self.host = host
|
|
14286
|
+
self.pdt_host = pdt_host
|
|
13837
14287
|
self.port = port
|
|
14288
|
+
self.pdt_port = pdt_port
|
|
13838
14289
|
self.username = username
|
|
14290
|
+
self.pdt_username = pdt_username
|
|
13839
14291
|
self.password = password
|
|
14292
|
+
self.pdt_password = pdt_password
|
|
13840
14293
|
self.certificate = certificate
|
|
14294
|
+
self.pdt_certificate = pdt_certificate
|
|
13841
14295
|
self.file_type = file_type
|
|
14296
|
+
self.pdt_file_type = pdt_file_type
|
|
13842
14297
|
self.database = database
|
|
14298
|
+
self.pdt_database = pdt_database
|
|
13843
14299
|
self.schema = schema
|
|
14300
|
+
self.pdt_schema = pdt_schema
|
|
13844
14301
|
self.jdbc_additional_params = jdbc_additional_params
|
|
14302
|
+
self.pdt_jdbc_additional_params = pdt_jdbc_additional_params
|
|
13845
14303
|
self.after_connect_statements = after_connect_statements
|
|
14304
|
+
self.pdt_after_connect_statements = pdt_after_connect_statements
|
|
13846
14305
|
|
|
13847
14306
|
|
|
13848
14307
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -15325,7 +15784,7 @@ class WriteSetting(model.Model):
|
|
|
15325
15784
|
embed_enabled
|
|
15326
15785
|
dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
|
|
15327
15786
|
dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
|
|
15328
|
-
managed_certificate_uri:
|
|
15787
|
+
managed_certificate_uri: Array of URIs pointing to the location of a root certificate in Secret Manager
|
|
15329
15788
|
"""
|
|
15330
15789
|
|
|
15331
15790
|
extension_framework_enabled: Optional[bool] = None
|
|
@@ -15347,7 +15806,7 @@ class WriteSetting(model.Model):
|
|
|
15347
15806
|
embed_config: Optional["WriteEmbedConfig"] = None
|
|
15348
15807
|
dashboard_auto_refresh_restriction: Optional[bool] = None
|
|
15349
15808
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None
|
|
15350
|
-
managed_certificate_uri: Optional[str] = None
|
|
15809
|
+
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
15351
15810
|
|
|
15352
15811
|
def __init__(
|
|
15353
15812
|
self,
|
|
@@ -15371,7 +15830,7 @@ class WriteSetting(model.Model):
|
|
|
15371
15830
|
embed_config: Optional["WriteEmbedConfig"] = None,
|
|
15372
15831
|
dashboard_auto_refresh_restriction: Optional[bool] = None,
|
|
15373
15832
|
dashboard_auto_refresh_minimum_interval: Optional[str] = None,
|
|
15374
|
-
managed_certificate_uri: Optional[str] = None
|
|
15833
|
+
managed_certificate_uri: Optional[Sequence[str]] = None
|
|
15375
15834
|
):
|
|
15376
15835
|
self.extension_framework_enabled = extension_framework_enabled
|
|
15377
15836
|
self.extension_load_url_enabled = extension_load_url_enabled
|
|
@@ -15516,7 +15975,7 @@ class WriteTheme(model.Model):
|
|
|
15516
15975
|
class WriteUser(model.Model):
|
|
15517
15976
|
"""
|
|
15518
15977
|
Dynamic writeable type for User removes:
|
|
15519
|
-
can, avatar_url, avatar_url_without_sizing, credentials_api3, credentials_embed, credentials_google, credentials_ldap, credentials_looker_openid, credentials_oidc, credentials_saml, credentials_totp, display_name, email, embed_group_space_id, group_ids, id, looker_versions, personal_folder_id, presumed_looker_employee, role_ids, sessions, verified_looker_employee, roles_externally_managed, allow_direct_roles, allow_normal_group_membership, allow_roles_from_normal_groups, embed_group_folder_id, url
|
|
15978
|
+
can, avatar_url, avatar_url_without_sizing, credentials_api3, credentials_embed, credentials_google, credentials_ldap, credentials_looker_openid, credentials_oidc, credentials_saml, credentials_totp, display_name, email, embed_group_space_id, group_ids, id, looker_versions, personal_folder_id, presumed_looker_employee, role_ids, sessions, verified_looker_employee, roles_externally_managed, allow_direct_roles, allow_normal_group_membership, allow_roles_from_normal_groups, embed_group_folder_id, is_iam_admin, url
|
|
15520
15979
|
|
|
15521
15980
|
Attributes:
|
|
15522
15981
|
credentials_email: Dynamic writeable type for CredentialsEmail removes:
|
|
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
|