looker-sdk 25.2.0__py3-none-any.whl → 25.4.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
+ # 469 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
  ),
@@ -9831,6 +9837,80 @@ class Looker40SDK(api_methods.APIMethods):
9831
9837
 
9832
9838
  # endregion
9833
9839
 
9840
+ # region Report: Report
9841
+
9842
+ # ### Search Reports
9843
+ #
9844
+ # Returns an **array of Report objects** that match the specified search criteria.
9845
+ #
9846
+ # If multiple search params are given and `filter_or` is FALSE or not specified,
9847
+ # search params are combined in a logical AND operation.
9848
+ # Only rows that match *all* search param criteria will be returned.
9849
+ #
9850
+ # If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.
9851
+ # Results will include rows that match **any** of the search criteria.
9852
+ #
9853
+ # String search params use case-insensitive matching.
9854
+ # String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.
9855
+ # example="dan%" will match "danger" and "Danzig" but not "David"
9856
+ # example="D_m%" will match "Damage" and "dump"
9857
+ #
9858
+ # Integer search params can accept a single value or a comma separated list of values. The multiple
9859
+ # values will be combined under a logical OR operation - results will match at least one of
9860
+ # the given values.
9861
+ #
9862
+ # Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match
9863
+ # or exclude (respectively) rows where the column is null.
9864
+ #
9865
+ # Boolean search params accept only "true" and "false" as values.
9866
+ #
9867
+ # GET /reports/search -> Sequence[mdls.Report]
9868
+ def search_reports(
9869
+ self,
9870
+ # Select reports in a particular folder.
9871
+ folder_id: Optional[str] = None,
9872
+ # Select favorite reports.
9873
+ favorite: Optional[bool] = None,
9874
+ # Select reports viewed recently.
9875
+ recent: Optional[bool] = None,
9876
+ # Match report id.
9877
+ id: Optional[str] = None,
9878
+ # Match report title.
9879
+ title: Optional[str] = None,
9880
+ # One or more fields to sort results by.
9881
+ sorts: Optional[str] = None,
9882
+ # Number of results to return.(used with next_page_token)
9883
+ limit: Optional[int] = None,
9884
+ # Comma delimited list of field names. If provided, only the fields specified will be included in the response.
9885
+ fields: Optional[str] = None,
9886
+ # 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.
9887
+ next_page_token: Optional[str] = None,
9888
+ transport_options: Optional[transport.TransportOptions] = None,
9889
+ ) -> Sequence[mdls.Report]:
9890
+ """Search Reports"""
9891
+ response = cast(
9892
+ Sequence[mdls.Report],
9893
+ self.get(
9894
+ path="/reports/search",
9895
+ structure=Sequence[mdls.Report],
9896
+ query_params={
9897
+ "folder_id": folder_id,
9898
+ "favorite": favorite,
9899
+ "recent": recent,
9900
+ "id": id,
9901
+ "title": title,
9902
+ "sorts": sorts,
9903
+ "limit": limit,
9904
+ "fields": fields,
9905
+ "next_page_token": next_page_token,
9906
+ },
9907
+ transport_options=transport_options,
9908
+ ),
9909
+ )
9910
+ return response
9911
+
9912
+ # endregion
9913
+
9834
9914
  # region Role: Manage Roles
9835
9915
 
9836
9916
  # ### 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
+ # 344 API models: 260 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
@@ -3685,7 +3685,8 @@ class DBConnection(model.Model):
3685
3685
  dialect:
3686
3686
  snippets: SQL Runner snippets for this connection
3687
3687
  pdts_enabled: True if PDTs are enabled on this connection
3688
- named_driver_version: JDBC driver version name
3688
+ named_driver_version_requested: Requested JDBC driver version name
3689
+ named_driver_version_actual: Resolved JDBC driver version
3689
3690
  host: Host name/address of server; or the string 'localhost' in case of a connection over an SSH tunnel.
3690
3691
  port: Port number on server. If the connection is over an SSH tunnel, then the local port associated with the SSH tunnel.
3691
3692
  username: Username for server authentication
@@ -3747,7 +3748,8 @@ class DBConnection(model.Model):
3747
3748
  dialect: Optional["Dialect"] = None
3748
3749
  snippets: Optional[Sequence["Snippet"]] = None
3749
3750
  pdts_enabled: Optional[bool] = None
3750
- named_driver_version: Optional[str] = None
3751
+ named_driver_version_requested: Optional[str] = None
3752
+ named_driver_version_actual: Optional[str] = None
3751
3753
  host: Optional[str] = None
3752
3754
  port: Optional[str] = None
3753
3755
  username: Optional[str] = None
@@ -3811,7 +3813,8 @@ class DBConnection(model.Model):
3811
3813
  dialect: Optional["Dialect"] = None,
3812
3814
  snippets: Optional[Sequence["Snippet"]] = None,
3813
3815
  pdts_enabled: Optional[bool] = None,
3814
- named_driver_version: Optional[str] = None,
3816
+ named_driver_version_requested: Optional[str] = None,
3817
+ named_driver_version_actual: Optional[str] = None,
3815
3818
  host: Optional[str] = None,
3816
3819
  port: Optional[str] = None,
3817
3820
  username: Optional[str] = None,
@@ -3872,7 +3875,8 @@ class DBConnection(model.Model):
3872
3875
  self.dialect = dialect
3873
3876
  self.snippets = snippets
3874
3877
  self.pdts_enabled = pdts_enabled
3875
- self.named_driver_version = named_driver_version
3878
+ self.named_driver_version_requested = named_driver_version_requested
3879
+ self.named_driver_version_actual = named_driver_version_actual
3876
3880
  self.host = host
3877
3881
  self.port = port
3878
3882
  self.username = username
@@ -3968,59 +3972,99 @@ class DBConnectionOverride(model.Model):
3968
3972
  Attributes:
3969
3973
  context: Context in which to override (`pdt` is the only allowed value)
3970
3974
  host: Host name/address of server
3975
+ pdt_host: Host name/address of server (same as host)
3971
3976
  port: Port number on server
3977
+ pdt_port: Port number on server (same as port)
3972
3978
  username: Username for server authentication
3979
+ pdt_username: Username for server authentication (same as username)
3973
3980
  password: (Write-Only) Password for server authentication
3981
+ pdt_password: (Write-Only) Password for server authentication (same as password)
3974
3982
  has_password: Whether or not the password is overridden in this context
3975
3983
  certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
3984
+ pdt_certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect) (same as certificate).
3976
3985
  file_type: (Write-Only) Certificate keyfile type - .json or .p12
3986
+ pdt_file_type: (Write-Only) Certificate keyfile type - .json or .p12 (same as file_type)
3977
3987
  database: Database name
3988
+ pdt_database: Database name (same as database)
3978
3989
  schema: Schema name
3990
+ pdt_schema: Schema name (same as schema)
3979
3991
  jdbc_additional_params: Additional params to add to JDBC connection string
3992
+ pdt_jdbc_additional_params: Additional params to add to JDBC connection string (same as jdbc_additional_params)
3980
3993
  after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature
3994
+ 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
3995
  """
3982
3996
 
3983
3997
  context: Optional[str] = None
3984
3998
  host: Optional[str] = None
3999
+ pdt_host: Optional[str] = None
3985
4000
  port: Optional[str] = None
4001
+ pdt_port: Optional[str] = None
3986
4002
  username: Optional[str] = None
4003
+ pdt_username: Optional[str] = None
3987
4004
  password: Optional[str] = None
4005
+ pdt_password: Optional[str] = None
3988
4006
  has_password: Optional[bool] = None
3989
4007
  certificate: Optional[str] = None
4008
+ pdt_certificate: Optional[str] = None
3990
4009
  file_type: Optional[str] = None
4010
+ pdt_file_type: Optional[str] = None
3991
4011
  database: Optional[str] = None
4012
+ pdt_database: Optional[str] = None
3992
4013
  schema: Optional[str] = None
4014
+ pdt_schema: Optional[str] = None
3993
4015
  jdbc_additional_params: Optional[str] = None
4016
+ pdt_jdbc_additional_params: Optional[str] = None
3994
4017
  after_connect_statements: Optional[str] = None
4018
+ pdt_after_connect_statements: Optional[str] = None
3995
4019
 
3996
4020
  def __init__(
3997
4021
  self,
3998
4022
  *,
3999
4023
  context: Optional[str] = None,
4000
4024
  host: Optional[str] = None,
4025
+ pdt_host: Optional[str] = None,
4001
4026
  port: Optional[str] = None,
4027
+ pdt_port: Optional[str] = None,
4002
4028
  username: Optional[str] = None,
4029
+ pdt_username: Optional[str] = None,
4003
4030
  password: Optional[str] = None,
4031
+ pdt_password: Optional[str] = None,
4004
4032
  has_password: Optional[bool] = None,
4005
4033
  certificate: Optional[str] = None,
4034
+ pdt_certificate: Optional[str] = None,
4006
4035
  file_type: Optional[str] = None,
4036
+ pdt_file_type: Optional[str] = None,
4007
4037
  database: Optional[str] = None,
4038
+ pdt_database: Optional[str] = None,
4008
4039
  schema: Optional[str] = None,
4040
+ pdt_schema: Optional[str] = None,
4009
4041
  jdbc_additional_params: Optional[str] = None,
4010
- after_connect_statements: Optional[str] = None
4042
+ pdt_jdbc_additional_params: Optional[str] = None,
4043
+ after_connect_statements: Optional[str] = None,
4044
+ pdt_after_connect_statements: Optional[str] = None
4011
4045
  ):
4012
4046
  self.context = context
4013
4047
  self.host = host
4048
+ self.pdt_host = pdt_host
4014
4049
  self.port = port
4050
+ self.pdt_port = pdt_port
4015
4051
  self.username = username
4052
+ self.pdt_username = pdt_username
4016
4053
  self.password = password
4054
+ self.pdt_password = pdt_password
4017
4055
  self.has_password = has_password
4018
4056
  self.certificate = certificate
4057
+ self.pdt_certificate = pdt_certificate
4019
4058
  self.file_type = file_type
4059
+ self.pdt_file_type = pdt_file_type
4020
4060
  self.database = database
4061
+ self.pdt_database = pdt_database
4021
4062
  self.schema = schema
4063
+ self.pdt_schema = pdt_schema
4022
4064
  self.jdbc_additional_params = jdbc_additional_params
4065
+ self.pdt_jdbc_additional_params = pdt_jdbc_additional_params
4023
4066
  self.after_connect_statements = after_connect_statements
4067
+ self.pdt_after_connect_statements = pdt_after_connect_statements
4024
4068
 
4025
4069
 
4026
4070
  @attr.s(auto_attribs=True, init=False)
@@ -4228,6 +4272,8 @@ class DialectInfo(model.Model):
4228
4272
  label_for_database_equivalent: What the dialect calls the equivalent of a normal SQL table
4229
4273
  label_for_schema_equivalent: What the dialect calls the equivalent of a schema-level namespace
4230
4274
  name: The name of the dialect
4275
+ supported_driver_name: The name of the driver used for this dialect
4276
+ supported_driver_versions: Array of supported drivers for a given dialect
4231
4277
  supported_options:
4232
4278
  """
4233
4279
 
@@ -4239,6 +4285,8 @@ class DialectInfo(model.Model):
4239
4285
  label_for_database_equivalent: Optional[str] = None
4240
4286
  label_for_schema_equivalent: Optional[str] = None
4241
4287
  name: Optional[str] = None
4288
+ supported_driver_name: Optional[str] = None
4289
+ supported_driver_versions: Optional[Sequence[str]] = None
4242
4290
  supported_options: Optional["DialectInfoOptions"] = None
4243
4291
 
4244
4292
  def __init__(
@@ -4252,6 +4300,8 @@ class DialectInfo(model.Model):
4252
4300
  label_for_database_equivalent: Optional[str] = None,
4253
4301
  label_for_schema_equivalent: Optional[str] = None,
4254
4302
  name: Optional[str] = None,
4303
+ supported_driver_name: Optional[str] = None,
4304
+ supported_driver_versions: Optional[Sequence[str]] = None,
4255
4305
  supported_options: Optional["DialectInfoOptions"] = None
4256
4306
  ):
4257
4307
  self.can = can
@@ -4262,6 +4312,8 @@ class DialectInfo(model.Model):
4262
4312
  self.label_for_database_equivalent = label_for_database_equivalent
4263
4313
  self.label_for_schema_equivalent = label_for_schema_equivalent
4264
4314
  self.name = name
4315
+ self.supported_driver_name = supported_driver_name
4316
+ self.supported_driver_versions = supported_driver_versions
4265
4317
  self.supported_options = supported_options
4266
4318
 
4267
4319
 
@@ -9778,6 +9830,91 @@ class RenderTask(model.Model):
9778
9830
  self.width = width
9779
9831
 
9780
9832
 
9833
+ @attr.s(auto_attribs=True, init=False)
9834
+ class Report(model.Model):
9835
+ """
9836
+ Attributes:
9837
+ can: Operations the current user is able to perform on this object
9838
+ id: ID of the report
9839
+ title: Title of the report
9840
+ user_id: User Id of the owner of the report
9841
+ created_at: Created at
9842
+ updated_at: Modified at
9843
+ last_viewed_at: Last viewed at
9844
+ favorite: Is favorite report
9845
+ favorite_count: Favorite count
9846
+ view_count: View count
9847
+ folder:
9848
+ folder_id: Id of the folder where the report is stored
9849
+ url: Relative URL of the report
9850
+ user_name: Name of User that created the Studio Report.
9851
+ deleted_at: Deleted at
9852
+ last_accessed_at: Last Accessed at
9853
+ deleter_user_id: User Id of the deleter of the report
9854
+ deleter_user_name: Name of User that deleted the Report.
9855
+ """
9856
+
9857
+ can: Optional[MutableMapping[str, bool]] = None
9858
+ id: Optional[str] = None
9859
+ title: Optional[str] = None
9860
+ user_id: Optional[str] = None
9861
+ created_at: Optional[datetime.datetime] = None
9862
+ updated_at: Optional[datetime.datetime] = None
9863
+ last_viewed_at: Optional[datetime.datetime] = None
9864
+ favorite: Optional[bool] = None
9865
+ favorite_count: Optional[int] = None
9866
+ view_count: Optional[int] = None
9867
+ folder: Optional["FolderBase"] = None
9868
+ folder_id: Optional[str] = None
9869
+ url: Optional[str] = None
9870
+ user_name: Optional[str] = None
9871
+ deleted_at: Optional[datetime.datetime] = None
9872
+ last_accessed_at: Optional[datetime.datetime] = None
9873
+ deleter_user_id: Optional[str] = None
9874
+ deleter_user_name: Optional[str] = None
9875
+
9876
+ def __init__(
9877
+ self,
9878
+ *,
9879
+ can: Optional[MutableMapping[str, bool]] = None,
9880
+ id: Optional[str] = None,
9881
+ title: Optional[str] = None,
9882
+ user_id: Optional[str] = None,
9883
+ created_at: Optional[datetime.datetime] = None,
9884
+ updated_at: Optional[datetime.datetime] = None,
9885
+ last_viewed_at: Optional[datetime.datetime] = None,
9886
+ favorite: Optional[bool] = None,
9887
+ favorite_count: Optional[int] = None,
9888
+ view_count: Optional[int] = None,
9889
+ folder: Optional["FolderBase"] = None,
9890
+ folder_id: Optional[str] = None,
9891
+ url: Optional[str] = None,
9892
+ user_name: Optional[str] = None,
9893
+ deleted_at: Optional[datetime.datetime] = None,
9894
+ last_accessed_at: Optional[datetime.datetime] = None,
9895
+ deleter_user_id: Optional[str] = None,
9896
+ deleter_user_name: Optional[str] = None
9897
+ ):
9898
+ self.can = can
9899
+ self.id = id
9900
+ self.title = title
9901
+ self.user_id = user_id
9902
+ self.created_at = created_at
9903
+ self.updated_at = updated_at
9904
+ self.last_viewed_at = last_viewed_at
9905
+ self.favorite = favorite
9906
+ self.favorite_count = favorite_count
9907
+ self.view_count = view_count
9908
+ self.folder = folder
9909
+ self.folder_id = folder_id
9910
+ self.url = url
9911
+ self.user_name = user_name
9912
+ self.deleted_at = deleted_at
9913
+ self.last_accessed_at = last_accessed_at
9914
+ self.deleter_user_id = deleter_user_id
9915
+ self.deleter_user_name = deleter_user_name
9916
+
9917
+
9781
9918
  @attr.s(auto_attribs=True, init=False)
9782
9919
  class RepositoryCredential(model.Model):
9783
9920
  """
@@ -11000,7 +11137,7 @@ class Setting(model.Model):
11000
11137
  login_notification_text: Login notification text
11001
11138
  dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
11002
11139
  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
11140
+ managed_certificate_uri: Array of URIs pointing to the location of a root certificate in Secret Manager
11004
11141
  """
11005
11142
 
11006
11143
  instance_config: Optional["InstanceConfig"] = None
@@ -11027,7 +11164,7 @@ class Setting(model.Model):
11027
11164
  login_notification_text: Optional[str] = None
11028
11165
  dashboard_auto_refresh_restriction: Optional[bool] = None
11029
11166
  dashboard_auto_refresh_minimum_interval: Optional[str] = None
11030
- managed_certificate_uri: Optional[str] = None
11167
+ managed_certificate_uri: Optional[Sequence[str]] = None
11031
11168
 
11032
11169
  def __init__(
11033
11170
  self,
@@ -11056,7 +11193,7 @@ class Setting(model.Model):
11056
11193
  login_notification_text: Optional[str] = None,
11057
11194
  dashboard_auto_refresh_restriction: Optional[bool] = None,
11058
11195
  dashboard_auto_refresh_minimum_interval: Optional[str] = None,
11059
- managed_certificate_uri: Optional[str] = None
11196
+ managed_certificate_uri: Optional[Sequence[str]] = None
11060
11197
  ):
11061
11198
  self.instance_config = instance_config
11062
11199
  self.extension_framework_enabled = extension_framework_enabled
@@ -12020,6 +12157,7 @@ class User(model.Model):
12020
12157
  allow_normal_group_membership: User can be a direct member of a normal Looker group.
12021
12158
  allow_roles_from_normal_groups: User can inherit roles from a normal Looker group.
12022
12159
  embed_group_folder_id: (Embed only) ID of user's group folder based on the external_group_id optionally specified during embed user login
12160
+ is_iam_admin: User is an IAM Admin - only available in Looker (Google Cloud core)
12023
12161
  url: Link to get this item
12024
12162
  """
12025
12163
 
@@ -12058,6 +12196,7 @@ class User(model.Model):
12058
12196
  allow_normal_group_membership: Optional[bool] = None
12059
12197
  allow_roles_from_normal_groups: Optional[bool] = None
12060
12198
  embed_group_folder_id: Optional[str] = None
12199
+ is_iam_admin: Optional[bool] = None
12061
12200
  url: Optional[str] = None
12062
12201
 
12063
12202
  def __init__(
@@ -12098,6 +12237,7 @@ class User(model.Model):
12098
12237
  allow_normal_group_membership: Optional[bool] = None,
12099
12238
  allow_roles_from_normal_groups: Optional[bool] = None,
12100
12239
  embed_group_folder_id: Optional[str] = None,
12240
+ is_iam_admin: Optional[bool] = None,
12101
12241
  url: Optional[str] = None
12102
12242
  ):
12103
12243
  self.can = can
@@ -12135,6 +12275,7 @@ class User(model.Model):
12135
12275
  self.allow_normal_group_membership = allow_normal_group_membership
12136
12276
  self.allow_roles_from_normal_groups = allow_roles_from_normal_groups
12137
12277
  self.embed_group_folder_id = embed_group_folder_id
12278
+ self.is_iam_admin = is_iam_admin
12138
12279
  self.url = url
12139
12280
 
12140
12281
 
@@ -13592,11 +13733,11 @@ class WriteDatagroup(model.Model):
13592
13733
  class WriteDBConnection(model.Model):
13593
13734
  """
13594
13735
  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
13736
+ 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
13737
 
13597
13738
  Attributes:
13598
13739
  name: Name of the connection. Also used as the unique identifier
13599
- named_driver_version: JDBC driver version name
13740
+ named_driver_version_requested: Requested JDBC driver version name
13600
13741
  host: Host name/address of server; or the string 'localhost' in case of a connection over an SSH tunnel.
13601
13742
  port: Port number on server. If the connection is over an SSH tunnel, then the local port associated with the SSH tunnel.
13602
13743
  username: Username for server authentication
@@ -13644,7 +13785,7 @@ class WriteDBConnection(model.Model):
13644
13785
  """
13645
13786
 
13646
13787
  name: Optional[str] = None
13647
- named_driver_version: Optional[str] = None
13788
+ named_driver_version_requested: Optional[str] = None
13648
13789
  host: Optional[str] = None
13649
13790
  port: Optional[str] = None
13650
13791
  username: Optional[str] = None
@@ -13693,7 +13834,7 @@ class WriteDBConnection(model.Model):
13693
13834
  self,
13694
13835
  *,
13695
13836
  name: Optional[str] = None,
13696
- named_driver_version: Optional[str] = None,
13837
+ named_driver_version_requested: Optional[str] = None,
13697
13838
  host: Optional[str] = None,
13698
13839
  port: Optional[str] = None,
13699
13840
  username: Optional[str] = None,
@@ -13739,7 +13880,7 @@ class WriteDBConnection(model.Model):
13739
13880
  query_holding_disabled: Optional[bool] = None
13740
13881
  ):
13741
13882
  self.name = name
13742
- self.named_driver_version = named_driver_version
13883
+ self.named_driver_version_requested = named_driver_version_requested
13743
13884
  self.host = host
13744
13885
  self.port = port
13745
13886
  self.username = username
@@ -13794,55 +13935,95 @@ class WriteDBConnectionOverride(model.Model):
13794
13935
  Attributes:
13795
13936
  context: Context in which to override (`pdt` is the only allowed value)
13796
13937
  host: Host name/address of server
13938
+ pdt_host: Host name/address of server (same as host)
13797
13939
  port: Port number on server
13940
+ pdt_port: Port number on server (same as port)
13798
13941
  username: Username for server authentication
13942
+ pdt_username: Username for server authentication (same as username)
13799
13943
  password: (Write-Only) Password for server authentication
13944
+ pdt_password: (Write-Only) Password for server authentication (same as password)
13800
13945
  certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
13946
+ pdt_certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect) (same as certificate).
13801
13947
  file_type: (Write-Only) Certificate keyfile type - .json or .p12
13948
+ pdt_file_type: (Write-Only) Certificate keyfile type - .json or .p12 (same as file_type)
13802
13949
  database: Database name
13950
+ pdt_database: Database name (same as database)
13803
13951
  schema: Schema name
13952
+ pdt_schema: Schema name (same as schema)
13804
13953
  jdbc_additional_params: Additional params to add to JDBC connection string
13954
+ pdt_jdbc_additional_params: Additional params to add to JDBC connection string (same as jdbc_additional_params)
13805
13955
  after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature
13956
+ 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
13957
  """
13807
13958
 
13808
13959
  context: Optional[str] = None
13809
13960
  host: Optional[str] = None
13961
+ pdt_host: Optional[str] = None
13810
13962
  port: Optional[str] = None
13963
+ pdt_port: Optional[str] = None
13811
13964
  username: Optional[str] = None
13965
+ pdt_username: Optional[str] = None
13812
13966
  password: Optional[str] = None
13967
+ pdt_password: Optional[str] = None
13813
13968
  certificate: Optional[str] = None
13969
+ pdt_certificate: Optional[str] = None
13814
13970
  file_type: Optional[str] = None
13971
+ pdt_file_type: Optional[str] = None
13815
13972
  database: Optional[str] = None
13973
+ pdt_database: Optional[str] = None
13816
13974
  schema: Optional[str] = None
13975
+ pdt_schema: Optional[str] = None
13817
13976
  jdbc_additional_params: Optional[str] = None
13977
+ pdt_jdbc_additional_params: Optional[str] = None
13818
13978
  after_connect_statements: Optional[str] = None
13979
+ pdt_after_connect_statements: Optional[str] = None
13819
13980
 
13820
13981
  def __init__(
13821
13982
  self,
13822
13983
  *,
13823
13984
  context: Optional[str] = None,
13824
13985
  host: Optional[str] = None,
13986
+ pdt_host: Optional[str] = None,
13825
13987
  port: Optional[str] = None,
13988
+ pdt_port: Optional[str] = None,
13826
13989
  username: Optional[str] = None,
13990
+ pdt_username: Optional[str] = None,
13827
13991
  password: Optional[str] = None,
13992
+ pdt_password: Optional[str] = None,
13828
13993
  certificate: Optional[str] = None,
13994
+ pdt_certificate: Optional[str] = None,
13829
13995
  file_type: Optional[str] = None,
13996
+ pdt_file_type: Optional[str] = None,
13830
13997
  database: Optional[str] = None,
13998
+ pdt_database: Optional[str] = None,
13831
13999
  schema: Optional[str] = None,
14000
+ pdt_schema: Optional[str] = None,
13832
14001
  jdbc_additional_params: Optional[str] = None,
13833
- after_connect_statements: Optional[str] = None
14002
+ pdt_jdbc_additional_params: Optional[str] = None,
14003
+ after_connect_statements: Optional[str] = None,
14004
+ pdt_after_connect_statements: Optional[str] = None
13834
14005
  ):
13835
14006
  self.context = context
13836
14007
  self.host = host
14008
+ self.pdt_host = pdt_host
13837
14009
  self.port = port
14010
+ self.pdt_port = pdt_port
13838
14011
  self.username = username
14012
+ self.pdt_username = pdt_username
13839
14013
  self.password = password
14014
+ self.pdt_password = pdt_password
13840
14015
  self.certificate = certificate
14016
+ self.pdt_certificate = pdt_certificate
13841
14017
  self.file_type = file_type
14018
+ self.pdt_file_type = pdt_file_type
13842
14019
  self.database = database
14020
+ self.pdt_database = pdt_database
13843
14021
  self.schema = schema
14022
+ self.pdt_schema = pdt_schema
13844
14023
  self.jdbc_additional_params = jdbc_additional_params
14024
+ self.pdt_jdbc_additional_params = pdt_jdbc_additional_params
13845
14025
  self.after_connect_statements = after_connect_statements
14026
+ self.pdt_after_connect_statements = pdt_after_connect_statements
13846
14027
 
13847
14028
 
13848
14029
  @attr.s(auto_attribs=True, init=False)
@@ -15325,7 +15506,7 @@ class WriteSetting(model.Model):
15325
15506
  embed_enabled
15326
15507
  dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
15327
15508
  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
15509
+ managed_certificate_uri: Array of URIs pointing to the location of a root certificate in Secret Manager
15329
15510
  """
15330
15511
 
15331
15512
  extension_framework_enabled: Optional[bool] = None
@@ -15347,7 +15528,7 @@ class WriteSetting(model.Model):
15347
15528
  embed_config: Optional["WriteEmbedConfig"] = None
15348
15529
  dashboard_auto_refresh_restriction: Optional[bool] = None
15349
15530
  dashboard_auto_refresh_minimum_interval: Optional[str] = None
15350
- managed_certificate_uri: Optional[str] = None
15531
+ managed_certificate_uri: Optional[Sequence[str]] = None
15351
15532
 
15352
15533
  def __init__(
15353
15534
  self,
@@ -15371,7 +15552,7 @@ class WriteSetting(model.Model):
15371
15552
  embed_config: Optional["WriteEmbedConfig"] = None,
15372
15553
  dashboard_auto_refresh_restriction: Optional[bool] = None,
15373
15554
  dashboard_auto_refresh_minimum_interval: Optional[str] = None,
15374
- managed_certificate_uri: Optional[str] = None
15555
+ managed_certificate_uri: Optional[Sequence[str]] = None
15375
15556
  ):
15376
15557
  self.extension_framework_enabled = extension_framework_enabled
15377
15558
  self.extension_load_url_enabled = extension_load_url_enabled
@@ -15516,7 +15697,7 @@ class WriteTheme(model.Model):
15516
15697
  class WriteUser(model.Model):
15517
15698
  """
15518
15699
  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
15700
+ 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
15701
 
15521
15702
  Attributes:
15522
15703
  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.4"
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.4.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: looker-sdk
3
- Version: 25.2.0
3
+ Version: 25.4.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=UoVBBcwNZOgrivWuNITWgZEgc_i6_b42vI5J1ZEshwA,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=jbnba1WD_1YTS9iTniCGqchfUro0F-wV1FIlt1AtW7w,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=mc2gMeI7e6d9Zc9Aj28BiSdUa5AD6H9BkOJSH6fFJ44,524722
20
+ looker_sdk/sdk/api40/models.py,sha256=rakJinNxjroGcSQWJZuMr3tAZmyCJu-q5b7Ot7q6F7k,649896
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.4.0.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
33
+ looker_sdk-25.4.0.dist-info/METADATA,sha256=UUgQQ5pQqGpejJIihQ0Cx4Car7nnl8jwL6hUTXS_3R8,7021
34
+ looker_sdk-25.4.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
35
+ looker_sdk-25.4.0.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
36
+ looker_sdk-25.4.0.dist-info/RECORD,,