looker-sdk 25.2.0__py3-none-any.whl → 25.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
- # 467 API methods
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
- # 343 API models: 259 Spec, 0 Request, 62 Write, 22 Enum
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
- named_driver_version: JDBC driver version name
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
- named_driver_version: Optional[str] = None
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
- named_driver_version: Optional[str] = None,
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.named_driver_version = named_driver_version
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
- after_connect_statements: Optional[str] = None
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: URI pointing to the location of a private root certificate in Secret Manager
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
- named_driver_version: JDBC driver version name
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
- named_driver_version: Optional[str] = None
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
- named_driver_version: Optional[str] = None,
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.named_driver_version = named_driver_version
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
- after_connect_statements: Optional[str] = None
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: URI pointing to the location of a private root certificate in Secret Manager
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:
@@ -20,5 +20,5 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
21
  # THE SOFTWARE.
22
22
 
23
- sdk_version = "25.2"
23
+ sdk_version = "25.6"
24
24
  environment_prefix = "LOOKERSDK"
looker_sdk/version.py CHANGED
@@ -20,4 +20,4 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
21
  # THE SOFTWARE.
22
22
 
23
- __version__ = "25.2.0"
23
+ __version__ = "25.6.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: looker-sdk
3
- Version: 25.2.0
3
+ Version: 25.6.0
4
4
  Summary: Looker REST API
5
5
  Home-page: https://pypi.python.org/pypi/looker_sdk
6
6
  Author: Looker Data Sciences, Inc.
@@ -1,7 +1,7 @@
1
1
  looker_sdk/__init__.py,sha256=0UOw2v-BP1bNoBIIm-BnyKUpGQB3Zx-JZRmpYyLiIuY,2589
2
2
  looker_sdk/error.py,sha256=XTKuy1zEyhSVd-VCWHKB2zVjj0X7VUzVwq9y9L22Bo0,4941
3
3
  looker_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- looker_sdk/version.py,sha256=kvssRcNrMD334dpwNy7bwnMY8FEc3q_zjSK135juVGo,1155
4
+ looker_sdk/version.py,sha256=pM279eFYHnv8ZFgEKvrB_Di7-YaOb8U68g6lrKi3sqI,1155
5
5
  looker_sdk/rtl/__init__.py,sha256=hgj6CO_Du2XcJ4bRYbhaVS3dvLxjCqPQDR8KwD9IPTQ,1132
6
6
  looker_sdk/rtl/api_methods.py,sha256=J-dm7UMyJajsJDCB0JMpGUmp80I8oPMs7cggdIaCWng,8862
7
7
  looker_sdk/rtl/api_settings.py,sha256=0QbmNhfgjBJNnr1CNEMxCHoiu908jT8amAtSAha1xS8,6953
@@ -11,13 +11,13 @@ looker_sdk/rtl/constants.py,sha256=S0rfeT6CVjbPdY0Phj3NsgJ3Hm0M8ikOScadBr4pz6k,1
11
11
  looker_sdk/rtl/hooks.py,sha256=fAHQtmfEJWXIB3VODP6QaKaX2gWKpSv46Gz_ChNJUjk,3111
12
12
  looker_sdk/rtl/model.py,sha256=PAb1FiNbOsAXDmdn1QjpI-UUyWUTnrrRX2PHe-MNt-M,7227
13
13
  looker_sdk/rtl/requests_transport.py,sha256=2lckuJyjeySAuAn7v-RA_xTjjWe53uCCLSWgOGEq02s,3970
14
- looker_sdk/rtl/serialize.py,sha256=Arm26aGLOhW-uUW4qgV1tTna83A3gNMYcF9YwRvf0gQ,4418
14
+ looker_sdk/rtl/serialize.py,sha256=pO2arIln2QmuEjTodsVmVrJixRjBSsUGKEcMTpxshNM,4447
15
15
  looker_sdk/rtl/transport.py,sha256=zNCaGmmJBtF87iLS6xtSTwiyEXP0BDdMJafPn0_tIrk,3911
16
16
  looker_sdk/sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- looker_sdk/sdk/constants.py,sha256=K1xr2LBuWDFNrfHLnCXqP3zPPKTe3OBYvlZdYZh2IvA,1186
17
+ looker_sdk/sdk/constants.py,sha256=WCmRmp0hqb7HqyUHyCkU81BXhoCwvwP7_47Mvunt2GU,1186
18
18
  looker_sdk/sdk/api40/__init__.py,sha256=Dvx1t9vDBvgEl-p1eeP7ebEC6Q6wb6rASPi7nx3z7dg,18
19
- looker_sdk/sdk/api40/methods.py,sha256=wguQ-jy2j9EI72sWurr0lhIJziC523Nr3jnfvvBbFwo,521145
20
- looker_sdk/sdk/api40/models.py,sha256=jf4hQtfKbX0Vj_7AwA0gDc1tHrCR-4elmR1u-Rb9fWU,640890
19
+ looker_sdk/sdk/api40/methods.py,sha256=QwzUaI45emQ_U782kTvd50iWMstidQ3xy-Wk3rFh6aU,526230
20
+ looker_sdk/sdk/api40/models.py,sha256=lK3NIjB03iBvg3Wx_YC6kV9S4Si_Z49oohkQl2SlwCk,658419
21
21
  tests/integration/__init__.py,sha256=K4tvUu8CgFRwtDhDNixHKDDb8uubXgevQBq8JmZvf8Y,63
22
22
  tests/integration/test_methods.py,sha256=GXeBAxKYLH45YsPDGduRxaoGKBNoxRX1Cxdo4a_2eW8,24977
23
23
  tests/integration/test_netrc.py,sha256=XJAzCh853Q0P6ZY_Cq6CtRHAqlvjGkBItgvxJMQw4Sw,1595
@@ -29,8 +29,8 @@ tests/rtl/test_auth_token.py,sha256=Ep4u0ushHqKiIkGgw-XVn1lSzPeH6pVmDB2bw-MXNAo,
29
29
  tests/rtl/test_requests_transport.py,sha256=mSsxudpAkKe-uSVOIzDrV0XCFlj_ACt6T1yzbUbuwG0,5442
30
30
  tests/rtl/test_serialize.py,sha256=1SC8jigZFFL3mrU2oSTnc2nbDxXve224_r3GaxEeU90,25917
31
31
  tests/rtl/test_transport.py,sha256=tI83LYOeuWEmkngXyRqMjW-pv-ipLPLj4t0hGD8zqL8,1555
32
- looker_sdk-25.2.0.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
33
- looker_sdk-25.2.0.dist-info/METADATA,sha256=6Xp-0dPAbukUA_HX33oFXxNmvgheVI6SeuRKdsqXcSU,7021
34
- looker_sdk-25.2.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
35
- looker_sdk-25.2.0.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
36
- looker_sdk-25.2.0.dist-info/RECORD,,
32
+ looker_sdk-25.6.0.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
33
+ looker_sdk-25.6.0.dist-info/METADATA,sha256=mQw0-5cV6QbipCB2DGZSipJCNKUC-GryDbIZQafIJCE,7021
34
+ looker_sdk-25.6.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
35
+ looker_sdk-25.6.0.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
36
+ looker_sdk-25.6.0.dist-info/RECORD,,