looker-sdk 25.4.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.4.0 → looker_sdk-25.6.0}/PKG-INFO +1 -1
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/sdk/api40/methods.py +54 -4
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/sdk/api40/models.py +284 -6
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/sdk/constants.py +1 -1
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/version.py +1 -1
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/PKG-INFO +1 -1
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/LICENSE.txt +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/MANIFEST.in +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/README.rst +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/__init__.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/error.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/py.typed +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/__init__.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/api_methods.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/api_settings.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/auth_session.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/auth_token.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/constants.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/hooks.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/model.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/requests_transport.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/serialize.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/rtl/transport.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/sdk/__init__.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk/sdk/api40/__init__.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/SOURCES.txt +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/dependency_links.txt +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/requires.txt +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/looker_sdk.egg-info/top_level.txt +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/setup.cfg +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/setup.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/integration/__init__.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/integration/test_methods.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/integration/test_netrc.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/rtl/__init__.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/rtl/test_api_methods.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/rtl/test_api_settings.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/rtl/test_auth_session.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/rtl/test_auth_token.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/rtl/test_requests_transport.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/rtl/test_serialize.py +0 -0
- {looker_sdk-25.4.0 → looker_sdk-25.6.0}/tests/rtl/test_transport.py +0 -0
|
@@ -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
|
|
@@ -889,9 +889,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
889
889
|
# it to disk, do not pass it to a third party, and only pass it through a secure HTTPS
|
|
890
890
|
# encrypted transport.
|
|
891
891
|
#
|
|
892
|
-
#
|
|
893
|
-
# **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.
|
|
894
|
-
#
|
|
895
892
|
# POST /embed/token_url/me -> mdls.EmbedUrlResponse
|
|
896
893
|
def create_embed_url_as_me(
|
|
897
894
|
self,
|
|
@@ -8795,6 +8792,59 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
8795
8792
|
)
|
|
8796
8793
|
return response
|
|
8797
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
|
+
|
|
8798
8848
|
# ### Configure Repository Credential for a remote dependency
|
|
8799
8849
|
#
|
|
8800
8850
|
# Admin required.
|
|
@@ -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
|
"""
|
|
@@ -3692,9 +3927,10 @@ class DBConnection(model.Model):
|
|
|
3692
3927
|
username: Username for server authentication
|
|
3693
3928
|
password: (Write-Only) Password for server authentication
|
|
3694
3929
|
uses_oauth: Whether the connection uses OAuth for authentication.
|
|
3930
|
+
uses_key_pair_auth: Whether the connection uses key-pair for authentication.
|
|
3695
3931
|
uses_instance_oauth: Whether the integration uses the oauth instance account.
|
|
3696
3932
|
certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
|
|
3697
|
-
file_type: (Write-Only) Certificate keyfile type - .json or .p12
|
|
3933
|
+
file_type: (Write-Only) Certificate keyfile type - .json, .p8 or .p12
|
|
3698
3934
|
database: Database name
|
|
3699
3935
|
db_timezone: Time zone of database
|
|
3700
3936
|
query_timezone: Timezone to use in queries
|
|
@@ -3755,6 +3991,7 @@ class DBConnection(model.Model):
|
|
|
3755
3991
|
username: Optional[str] = None
|
|
3756
3992
|
password: Optional[str] = None
|
|
3757
3993
|
uses_oauth: Optional[bool] = None
|
|
3994
|
+
uses_key_pair_auth: Optional[bool] = None
|
|
3758
3995
|
uses_instance_oauth: Optional[bool] = None
|
|
3759
3996
|
certificate: Optional[str] = None
|
|
3760
3997
|
file_type: Optional[str] = None
|
|
@@ -3820,6 +4057,7 @@ class DBConnection(model.Model):
|
|
|
3820
4057
|
username: Optional[str] = None,
|
|
3821
4058
|
password: Optional[str] = None,
|
|
3822
4059
|
uses_oauth: Optional[bool] = None,
|
|
4060
|
+
uses_key_pair_auth: Optional[bool] = None,
|
|
3823
4061
|
uses_instance_oauth: Optional[bool] = None,
|
|
3824
4062
|
certificate: Optional[str] = None,
|
|
3825
4063
|
file_type: Optional[str] = None,
|
|
@@ -3882,6 +4120,7 @@ class DBConnection(model.Model):
|
|
|
3882
4120
|
self.username = username
|
|
3883
4121
|
self.password = password
|
|
3884
4122
|
self.uses_oauth = uses_oauth
|
|
4123
|
+
self.uses_key_pair_auth = uses_key_pair_auth
|
|
3885
4124
|
self.uses_instance_oauth = uses_instance_oauth
|
|
3886
4125
|
self.certificate = certificate
|
|
3887
4126
|
self.file_type = file_type
|
|
@@ -4260,6 +4499,24 @@ class Dialect(model.Model):
|
|
|
4260
4499
|
self.has_ssl_support = has_ssl_support
|
|
4261
4500
|
|
|
4262
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
|
+
|
|
4263
4520
|
@attr.s(auto_attribs=True, init=False)
|
|
4264
4521
|
class DialectInfo(model.Model):
|
|
4265
4522
|
"""
|
|
@@ -4286,7 +4543,7 @@ class DialectInfo(model.Model):
|
|
|
4286
4543
|
label_for_schema_equivalent: Optional[str] = None
|
|
4287
4544
|
name: Optional[str] = None
|
|
4288
4545
|
supported_driver_name: Optional[str] = None
|
|
4289
|
-
supported_driver_versions: Optional[Sequence[
|
|
4546
|
+
supported_driver_versions: Optional[Sequence["DialectDriverVersion"]] = None
|
|
4290
4547
|
supported_options: Optional["DialectInfoOptions"] = None
|
|
4291
4548
|
|
|
4292
4549
|
def __init__(
|
|
@@ -4301,7 +4558,7 @@ class DialectInfo(model.Model):
|
|
|
4301
4558
|
label_for_schema_equivalent: Optional[str] = None,
|
|
4302
4559
|
name: Optional[str] = None,
|
|
4303
4560
|
supported_driver_name: Optional[str] = None,
|
|
4304
|
-
supported_driver_versions: Optional[Sequence[
|
|
4561
|
+
supported_driver_versions: Optional[Sequence["DialectDriverVersion"]] = None,
|
|
4305
4562
|
supported_options: Optional["DialectInfoOptions"] = None
|
|
4306
4563
|
):
|
|
4307
4564
|
self.can = can
|
|
@@ -9297,6 +9554,19 @@ class Project(model.Model):
|
|
|
9297
9554
|
self.dependency_status = dependency_status
|
|
9298
9555
|
|
|
9299
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
|
+
|
|
9300
9570
|
@attr.s(auto_attribs=True, init=False)
|
|
9301
9571
|
class ProjectError(model.Model):
|
|
9302
9572
|
"""
|
|
@@ -9852,6 +10122,7 @@ class Report(model.Model):
|
|
|
9852
10122
|
last_accessed_at: Last Accessed at
|
|
9853
10123
|
deleter_user_id: User Id of the deleter of the report
|
|
9854
10124
|
deleter_user_name: Name of User that deleted the Report.
|
|
10125
|
+
schedule_count: Count of schedules on the report.
|
|
9855
10126
|
"""
|
|
9856
10127
|
|
|
9857
10128
|
can: Optional[MutableMapping[str, bool]] = None
|
|
@@ -9872,6 +10143,7 @@ class Report(model.Model):
|
|
|
9872
10143
|
last_accessed_at: Optional[datetime.datetime] = None
|
|
9873
10144
|
deleter_user_id: Optional[str] = None
|
|
9874
10145
|
deleter_user_name: Optional[str] = None
|
|
10146
|
+
schedule_count: Optional[int] = None
|
|
9875
10147
|
|
|
9876
10148
|
def __init__(
|
|
9877
10149
|
self,
|
|
@@ -9893,7 +10165,8 @@ class Report(model.Model):
|
|
|
9893
10165
|
deleted_at: Optional[datetime.datetime] = None,
|
|
9894
10166
|
last_accessed_at: Optional[datetime.datetime] = None,
|
|
9895
10167
|
deleter_user_id: Optional[str] = None,
|
|
9896
|
-
deleter_user_name: Optional[str] = None
|
|
10168
|
+
deleter_user_name: Optional[str] = None,
|
|
10169
|
+
schedule_count: Optional[int] = None
|
|
9897
10170
|
):
|
|
9898
10171
|
self.can = can
|
|
9899
10172
|
self.id = id
|
|
@@ -9913,6 +10186,7 @@ class Report(model.Model):
|
|
|
9913
10186
|
self.last_accessed_at = last_accessed_at
|
|
9914
10187
|
self.deleter_user_id = deleter_user_id
|
|
9915
10188
|
self.deleter_user_name = deleter_user_name
|
|
10189
|
+
self.schedule_count = schedule_count
|
|
9916
10190
|
|
|
9917
10191
|
|
|
9918
10192
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -13742,8 +14016,9 @@ class WriteDBConnection(model.Model):
|
|
|
13742
14016
|
port: Port number on server. If the connection is over an SSH tunnel, then the local port associated with the SSH tunnel.
|
|
13743
14017
|
username: Username for server authentication
|
|
13744
14018
|
password: (Write-Only) Password for server authentication
|
|
14019
|
+
uses_key_pair_auth: Whether the connection uses key-pair for authentication.
|
|
13745
14020
|
certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
|
|
13746
|
-
file_type: (Write-Only) Certificate keyfile type - .json or .p12
|
|
14021
|
+
file_type: (Write-Only) Certificate keyfile type - .json, .p8 or .p12
|
|
13747
14022
|
database: Database name
|
|
13748
14023
|
db_timezone: Time zone of database
|
|
13749
14024
|
query_timezone: Timezone to use in queries
|
|
@@ -13790,6 +14065,7 @@ class WriteDBConnection(model.Model):
|
|
|
13790
14065
|
port: Optional[str] = None
|
|
13791
14066
|
username: Optional[str] = None
|
|
13792
14067
|
password: Optional[str] = None
|
|
14068
|
+
uses_key_pair_auth: Optional[bool] = None
|
|
13793
14069
|
certificate: Optional[str] = None
|
|
13794
14070
|
file_type: Optional[str] = None
|
|
13795
14071
|
database: Optional[str] = None
|
|
@@ -13839,6 +14115,7 @@ class WriteDBConnection(model.Model):
|
|
|
13839
14115
|
port: Optional[str] = None,
|
|
13840
14116
|
username: Optional[str] = None,
|
|
13841
14117
|
password: Optional[str] = None,
|
|
14118
|
+
uses_key_pair_auth: Optional[bool] = None,
|
|
13842
14119
|
certificate: Optional[str] = None,
|
|
13843
14120
|
file_type: Optional[str] = None,
|
|
13844
14121
|
database: Optional[str] = None,
|
|
@@ -13885,6 +14162,7 @@ class WriteDBConnection(model.Model):
|
|
|
13885
14162
|
self.port = port
|
|
13886
14163
|
self.username = username
|
|
13887
14164
|
self.password = password
|
|
14165
|
+
self.uses_key_pair_auth = uses_key_pair_auth
|
|
13888
14166
|
self.certificate = certificate
|
|
13889
14167
|
self.file_type = file_type
|
|
13890
14168
|
self.database = database
|
|
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
|