looker-sdk 24.2.1__py3-none-any.whl → 25.0.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.
@@ -21,7 +21,7 @@
21
21
  # SOFTWARE.
22
22
  #
23
23
 
24
- # 339 API models: 256 Spec, 0 Request, 61 Write, 22 Enum
24
+ # 343 API models: 259 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
@@ -1247,6 +1247,7 @@ class ContentSearch(model.Model):
1247
1247
  folder_name: Name of the folder where the content is saved
1248
1248
  view_count: Number of times the content has been viewed
1249
1249
  preferred_viewer: Preferred way of viewing the content (only applies to dashboards)
1250
+ model: Name of the model the explore belongs to
1250
1251
  """
1251
1252
 
1252
1253
  can: Optional[MutableMapping[str, bool]] = None
@@ -1258,6 +1259,7 @@ class ContentSearch(model.Model):
1258
1259
  folder_name: Optional[str] = None
1259
1260
  view_count: Optional[int] = None
1260
1261
  preferred_viewer: Optional[str] = None
1262
+ model: Optional[str] = None
1261
1263
 
1262
1264
  def __init__(
1263
1265
  self,
@@ -1270,7 +1272,8 @@ class ContentSearch(model.Model):
1270
1272
  folder_id: Optional[str] = None,
1271
1273
  folder_name: Optional[str] = None,
1272
1274
  view_count: Optional[int] = None,
1273
- preferred_viewer: Optional[str] = None
1275
+ preferred_viewer: Optional[str] = None,
1276
+ model: Optional[str] = None
1274
1277
  ):
1275
1278
  self.can = can
1276
1279
  self.content_id = content_id
@@ -1281,6 +1284,96 @@ class ContentSearch(model.Model):
1281
1284
  self.folder_name = folder_name
1282
1285
  self.view_count = view_count
1283
1286
  self.preferred_viewer = preferred_viewer
1287
+ self.model = model
1288
+
1289
+
1290
+ @attr.s(auto_attribs=True, init=False)
1291
+ class ContentSummary(model.Model):
1292
+ """
1293
+ Attributes:
1294
+ can: Operations the current user is able to perform on this object
1295
+ id: Unique id
1296
+ content_type: Content type
1297
+ content_id: Content id
1298
+ content_slug: Content slug
1299
+ content_url: Content url
1300
+ title: Content title
1301
+ description: Content Description
1302
+ last_viewed_at: Last time viewed by current user
1303
+ user_id: ID of user who created the content
1304
+ user_full_name: Full name of user who created the content
1305
+ is_scheduled: If the content is scheduled by the current user
1306
+ favorite_count: Number of favorites
1307
+ view_count: Number of views
1308
+ favorite_id: Corresponding favorite id if item is favorited by current user
1309
+ weighted_score:
1310
+ group_weighted_score:
1311
+ suggestion_score:
1312
+ preferred_viewer: The preferred route for viewing this content (ie: dashboards or dashboards-next)
1313
+ """
1314
+
1315
+ can: Optional[MutableMapping[str, bool]] = None
1316
+ id: Optional[str] = None
1317
+ content_type: Optional[str] = None
1318
+ content_id: Optional[str] = None
1319
+ content_slug: Optional[str] = None
1320
+ content_url: Optional[str] = None
1321
+ title: Optional[str] = None
1322
+ description: Optional[str] = None
1323
+ last_viewed_at: Optional[datetime.datetime] = None
1324
+ user_id: Optional[str] = None
1325
+ user_full_name: Optional[str] = None
1326
+ is_scheduled: Optional[bool] = None
1327
+ favorite_count: Optional[int] = None
1328
+ view_count: Optional[int] = None
1329
+ favorite_id: Optional[str] = None
1330
+ weighted_score: Optional[float] = None
1331
+ group_weighted_score: Optional[float] = None
1332
+ suggestion_score: Optional[float] = None
1333
+ preferred_viewer: Optional[str] = None
1334
+
1335
+ def __init__(
1336
+ self,
1337
+ *,
1338
+ can: Optional[MutableMapping[str, bool]] = None,
1339
+ id: Optional[str] = None,
1340
+ content_type: Optional[str] = None,
1341
+ content_id: Optional[str] = None,
1342
+ content_slug: Optional[str] = None,
1343
+ content_url: Optional[str] = None,
1344
+ title: Optional[str] = None,
1345
+ description: Optional[str] = None,
1346
+ last_viewed_at: Optional[datetime.datetime] = None,
1347
+ user_id: Optional[str] = None,
1348
+ user_full_name: Optional[str] = None,
1349
+ is_scheduled: Optional[bool] = None,
1350
+ favorite_count: Optional[int] = None,
1351
+ view_count: Optional[int] = None,
1352
+ favorite_id: Optional[str] = None,
1353
+ weighted_score: Optional[float] = None,
1354
+ group_weighted_score: Optional[float] = None,
1355
+ suggestion_score: Optional[float] = None,
1356
+ preferred_viewer: Optional[str] = None
1357
+ ):
1358
+ self.can = can
1359
+ self.id = id
1360
+ self.content_type = content_type
1361
+ self.content_id = content_id
1362
+ self.content_slug = content_slug
1363
+ self.content_url = content_url
1364
+ self.title = title
1365
+ self.description = description
1366
+ self.last_viewed_at = last_viewed_at
1367
+ self.user_id = user_id
1368
+ self.user_full_name = user_full_name
1369
+ self.is_scheduled = is_scheduled
1370
+ self.favorite_count = favorite_count
1371
+ self.view_count = view_count
1372
+ self.favorite_id = favorite_id
1373
+ self.weighted_score = weighted_score
1374
+ self.group_weighted_score = group_weighted_score
1375
+ self.suggestion_score = suggestion_score
1376
+ self.preferred_viewer = preferred_viewer
1284
1377
 
1285
1378
 
1286
1379
  @attr.s(auto_attribs=True, init=False)
@@ -2192,6 +2285,8 @@ class CredentialsEmail(model.Model):
2192
2285
  logged_in_at: Timestamp for most recent login using credential
2193
2286
  password_reset_url: Url with one-time use secret token that the user can use to reset password
2194
2287
  account_setup_url: Url with one-time use secret token that the user can use to setup account
2288
+ password_reset_url_expired: Is password_reset_url expired or not present?
2289
+ account_setup_url_expired: Is account_setup_url expired or not present?
2195
2290
  type: Short name for the type of this kind of credential
2196
2291
  url: Link to get this item
2197
2292
  user_url: Link to get this user
@@ -2206,6 +2301,8 @@ class CredentialsEmail(model.Model):
2206
2301
  logged_in_at: Optional[str] = None
2207
2302
  password_reset_url: Optional[str] = None
2208
2303
  account_setup_url: Optional[str] = None
2304
+ password_reset_url_expired: Optional[bool] = None
2305
+ account_setup_url_expired: Optional[bool] = None
2209
2306
  type: Optional[str] = None
2210
2307
  url: Optional[str] = None
2211
2308
  user_url: Optional[str] = None
@@ -2222,6 +2319,8 @@ class CredentialsEmail(model.Model):
2222
2319
  logged_in_at: Optional[str] = None,
2223
2320
  password_reset_url: Optional[str] = None,
2224
2321
  account_setup_url: Optional[str] = None,
2322
+ password_reset_url_expired: Optional[bool] = None,
2323
+ account_setup_url_expired: Optional[bool] = None,
2225
2324
  type: Optional[str] = None,
2226
2325
  url: Optional[str] = None,
2227
2326
  user_url: Optional[str] = None
@@ -2235,6 +2334,8 @@ class CredentialsEmail(model.Model):
2235
2334
  self.logged_in_at = logged_in_at
2236
2335
  self.password_reset_url = password_reset_url
2237
2336
  self.account_setup_url = account_setup_url
2337
+ self.password_reset_url_expired = password_reset_url_expired
2338
+ self.account_setup_url_expired = account_setup_url_expired
2238
2339
  self.type = type
2239
2340
  self.url = url
2240
2341
  self.user_url = user_url
@@ -2253,6 +2354,8 @@ class CredentialsEmailSearch(model.Model):
2253
2354
  logged_in_at: Timestamp for most recent login using credential
2254
2355
  password_reset_url: Url with one-time use secret token that the user can use to reset password
2255
2356
  account_setup_url: Url with one-time use secret token that the user can use to setup account
2357
+ password_reset_url_expired: Is password_reset_url expired or not present?
2358
+ account_setup_url_expired: Is account_setup_url expired or not present?
2256
2359
  type: Short name for the type of this kind of credential
2257
2360
  url: Link to get this item
2258
2361
  user_url: Link to get this user
@@ -2267,6 +2370,8 @@ class CredentialsEmailSearch(model.Model):
2267
2370
  logged_in_at: Optional[str] = None
2268
2371
  password_reset_url: Optional[str] = None
2269
2372
  account_setup_url: Optional[str] = None
2373
+ password_reset_url_expired: Optional[bool] = None
2374
+ account_setup_url_expired: Optional[bool] = None
2270
2375
  type: Optional[str] = None
2271
2376
  url: Optional[str] = None
2272
2377
  user_url: Optional[str] = None
@@ -2283,6 +2388,8 @@ class CredentialsEmailSearch(model.Model):
2283
2388
  logged_in_at: Optional[str] = None,
2284
2389
  password_reset_url: Optional[str] = None,
2285
2390
  account_setup_url: Optional[str] = None,
2391
+ password_reset_url_expired: Optional[bool] = None,
2392
+ account_setup_url_expired: Optional[bool] = None,
2286
2393
  type: Optional[str] = None,
2287
2394
  url: Optional[str] = None,
2288
2395
  user_url: Optional[str] = None
@@ -2296,6 +2403,8 @@ class CredentialsEmailSearch(model.Model):
2296
2403
  self.logged_in_at = logged_in_at
2297
2404
  self.password_reset_url = password_reset_url
2298
2405
  self.account_setup_url = account_setup_url
2406
+ self.password_reset_url_expired = password_reset_url_expired
2407
+ self.account_setup_url_expired = account_setup_url_expired
2299
2408
  self.type = type
2300
2409
  self.url = url
2301
2410
  self.user_url = user_url
@@ -3581,6 +3690,7 @@ class DBConnection(model.Model):
3581
3690
  username: Username for server authentication
3582
3691
  password: (Write-Only) Password for server authentication
3583
3692
  uses_oauth: Whether the connection uses OAuth for authentication.
3693
+ uses_instance_oauth: Whether the integration uses the oauth instance account.
3584
3694
  certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
3585
3695
  file_type: (Write-Only) Certificate keyfile type - .json or .p12
3586
3696
  database: Database name
@@ -3588,10 +3698,13 @@ class DBConnection(model.Model):
3588
3698
  query_timezone: Timezone to use in queries
3589
3699
  schema: Schema name
3590
3700
  max_connections: Maximum number of concurrent connection to use
3701
+ max_queries: Maximum number of concurrent queries to begin on this connection
3702
+ max_queries_per_user: Maximum number of concurrent queries per user to begin on this connection
3591
3703
  max_billing_gigabytes: Maximum size of query in GBs (BigQuery only, can be a user_attribute name)
3592
3704
  ssl: Use SSL/TLS when connecting to server
3593
3705
  verify_ssl: Verify the SSL
3594
3706
  tmp_db_name: Name of temporary database (if used)
3707
+ tmp_db_host: Name of temporary host (if used)
3595
3708
  jdbc_additional_params: Additional params to add to JDBC connection string
3596
3709
  pool_timeout: Connection Pool Timeout, in seconds
3597
3710
  dialect_name: (Read/Write) SQL Dialect name
@@ -3616,8 +3729,15 @@ class DBConnection(model.Model):
3616
3729
  disable_context_comment: When disable_context_comment is true comment will not be added to SQL
3617
3730
  oauth_application_id: An External OAuth Application to use for authenticating to the database
3618
3731
  always_retry_failed_builds: When true, error PDTs will be retried every regenerator cycle
3732
+ uses_application_default_credentials: Whether the connection should authenticate with the Application Default Credentials of the host environment (limited to GCP and certain dialects).
3733
+ impersonated_service_account: An alternative Service Account to use for querying datasets (used primarily with `uses_application_default_credentials`) (limited to GCP and certain dialects).
3619
3734
  cost_estimate_enabled: When true, query cost estimate will be displayed in explore.
3620
3735
  pdt_api_control_enabled: PDT builds on this connection can be kicked off and cancelled via API.
3736
+ connection_pooling: Enable database connection pooling.
3737
+ default_bq_connection: When true, represents that this connection is the default BQ connection.
3738
+ bq_storage_project_id: The project id of the default BigQuery storage project.
3739
+ bq_roles_verified: When true, represents that all project roles have been verified.
3740
+ p4sa_name: The name of P4SA service account that is associated with the Looker instance
3621
3741
  """
3622
3742
 
3623
3743
  can: Optional[MutableMapping[str, bool]] = None
@@ -3630,6 +3750,7 @@ class DBConnection(model.Model):
3630
3750
  username: Optional[str] = None
3631
3751
  password: Optional[str] = None
3632
3752
  uses_oauth: Optional[bool] = None
3753
+ uses_instance_oauth: Optional[bool] = None
3633
3754
  certificate: Optional[str] = None
3634
3755
  file_type: Optional[str] = None
3635
3756
  database: Optional[str] = None
@@ -3637,10 +3758,13 @@ class DBConnection(model.Model):
3637
3758
  query_timezone: Optional[str] = None
3638
3759
  schema: Optional[str] = None
3639
3760
  max_connections: Optional[int] = None
3761
+ max_queries: Optional[int] = None
3762
+ max_queries_per_user: Optional[int] = None
3640
3763
  max_billing_gigabytes: Optional[str] = None
3641
3764
  ssl: Optional[bool] = None
3642
3765
  verify_ssl: Optional[bool] = None
3643
3766
  tmp_db_name: Optional[str] = None
3767
+ tmp_db_host: Optional[str] = None
3644
3768
  jdbc_additional_params: Optional[str] = None
3645
3769
  pool_timeout: Optional[int] = None
3646
3770
  dialect_name: Optional[str] = None
@@ -3665,8 +3789,15 @@ class DBConnection(model.Model):
3665
3789
  disable_context_comment: Optional[bool] = None
3666
3790
  oauth_application_id: Optional[str] = None
3667
3791
  always_retry_failed_builds: Optional[bool] = None
3792
+ uses_application_default_credentials: Optional[bool] = None
3793
+ impersonated_service_account: Optional[str] = None
3668
3794
  cost_estimate_enabled: Optional[bool] = None
3669
3795
  pdt_api_control_enabled: Optional[bool] = None
3796
+ connection_pooling: Optional[bool] = None
3797
+ default_bq_connection: Optional[bool] = None
3798
+ bq_storage_project_id: Optional[str] = None
3799
+ bq_roles_verified: Optional[bool] = None
3800
+ p4sa_name: Optional[str] = None
3670
3801
 
3671
3802
  def __init__(
3672
3803
  self,
@@ -3681,6 +3812,7 @@ class DBConnection(model.Model):
3681
3812
  username: Optional[str] = None,
3682
3813
  password: Optional[str] = None,
3683
3814
  uses_oauth: Optional[bool] = None,
3815
+ uses_instance_oauth: Optional[bool] = None,
3684
3816
  certificate: Optional[str] = None,
3685
3817
  file_type: Optional[str] = None,
3686
3818
  database: Optional[str] = None,
@@ -3688,10 +3820,13 @@ class DBConnection(model.Model):
3688
3820
  query_timezone: Optional[str] = None,
3689
3821
  schema: Optional[str] = None,
3690
3822
  max_connections: Optional[int] = None,
3823
+ max_queries: Optional[int] = None,
3824
+ max_queries_per_user: Optional[int] = None,
3691
3825
  max_billing_gigabytes: Optional[str] = None,
3692
3826
  ssl: Optional[bool] = None,
3693
3827
  verify_ssl: Optional[bool] = None,
3694
3828
  tmp_db_name: Optional[str] = None,
3829
+ tmp_db_host: Optional[str] = None,
3695
3830
  jdbc_additional_params: Optional[str] = None,
3696
3831
  pool_timeout: Optional[int] = None,
3697
3832
  dialect_name: Optional[str] = None,
@@ -3716,8 +3851,15 @@ class DBConnection(model.Model):
3716
3851
  disable_context_comment: Optional[bool] = None,
3717
3852
  oauth_application_id: Optional[str] = None,
3718
3853
  always_retry_failed_builds: Optional[bool] = None,
3854
+ uses_application_default_credentials: Optional[bool] = None,
3855
+ impersonated_service_account: Optional[str] = None,
3719
3856
  cost_estimate_enabled: Optional[bool] = None,
3720
- pdt_api_control_enabled: Optional[bool] = None
3857
+ pdt_api_control_enabled: Optional[bool] = None,
3858
+ connection_pooling: Optional[bool] = None,
3859
+ default_bq_connection: Optional[bool] = None,
3860
+ bq_storage_project_id: Optional[str] = None,
3861
+ bq_roles_verified: Optional[bool] = None,
3862
+ p4sa_name: Optional[str] = None
3721
3863
  ):
3722
3864
  self.can = can
3723
3865
  self.name = name
@@ -3729,6 +3871,7 @@ class DBConnection(model.Model):
3729
3871
  self.username = username
3730
3872
  self.password = password
3731
3873
  self.uses_oauth = uses_oauth
3874
+ self.uses_instance_oauth = uses_instance_oauth
3732
3875
  self.certificate = certificate
3733
3876
  self.file_type = file_type
3734
3877
  self.database = database
@@ -3736,10 +3879,13 @@ class DBConnection(model.Model):
3736
3879
  self.query_timezone = query_timezone
3737
3880
  self.schema = schema
3738
3881
  self.max_connections = max_connections
3882
+ self.max_queries = max_queries
3883
+ self.max_queries_per_user = max_queries_per_user
3739
3884
  self.max_billing_gigabytes = max_billing_gigabytes
3740
3885
  self.ssl = ssl
3741
3886
  self.verify_ssl = verify_ssl
3742
3887
  self.tmp_db_name = tmp_db_name
3888
+ self.tmp_db_host = tmp_db_host
3743
3889
  self.jdbc_additional_params = jdbc_additional_params
3744
3890
  self.pool_timeout = pool_timeout
3745
3891
  self.dialect_name = dialect_name
@@ -3764,8 +3910,15 @@ class DBConnection(model.Model):
3764
3910
  self.disable_context_comment = disable_context_comment
3765
3911
  self.oauth_application_id = oauth_application_id
3766
3912
  self.always_retry_failed_builds = always_retry_failed_builds
3913
+ self.uses_application_default_credentials = uses_application_default_credentials
3914
+ self.impersonated_service_account = impersonated_service_account
3767
3915
  self.cost_estimate_enabled = cost_estimate_enabled
3768
3916
  self.pdt_api_control_enabled = pdt_api_control_enabled
3917
+ self.connection_pooling = connection_pooling
3918
+ self.default_bq_connection = default_bq_connection
3919
+ self.bq_storage_project_id = bq_storage_project_id
3920
+ self.bq_roles_verified = bq_roles_verified
3921
+ self.p4sa_name = p4sa_name
3769
3922
 
3770
3923
 
3771
3924
  @attr.s(auto_attribs=True, init=False)
@@ -4065,6 +4218,7 @@ class DialectInfo(model.Model):
4065
4218
  installed: Is the supporting driver installed
4066
4219
  label: The human-readable label of the connection
4067
4220
  label_for_database_equivalent: What the dialect calls the equivalent of a normal SQL table
4221
+ label_for_schema_equivalent: What the dialect calls the equivalent of a schema-level namespace
4068
4222
  name: The name of the dialect
4069
4223
  supported_options:
4070
4224
  """
@@ -4075,6 +4229,7 @@ class DialectInfo(model.Model):
4075
4229
  installed: Optional[bool] = None
4076
4230
  label: Optional[str] = None
4077
4231
  label_for_database_equivalent: Optional[str] = None
4232
+ label_for_schema_equivalent: Optional[str] = None
4078
4233
  name: Optional[str] = None
4079
4234
  supported_options: Optional["DialectInfoOptions"] = None
4080
4235
 
@@ -4087,6 +4242,7 @@ class DialectInfo(model.Model):
4087
4242
  installed: Optional[bool] = None,
4088
4243
  label: Optional[str] = None,
4089
4244
  label_for_database_equivalent: Optional[str] = None,
4245
+ label_for_schema_equivalent: Optional[str] = None,
4090
4246
  name: Optional[str] = None,
4091
4247
  supported_options: Optional["DialectInfoOptions"] = None
4092
4248
  ):
@@ -4096,6 +4252,7 @@ class DialectInfo(model.Model):
4096
4252
  self.installed = installed
4097
4253
  self.label = label
4098
4254
  self.label_for_database_equivalent = label_for_database_equivalent
4255
+ self.label_for_schema_equivalent = label_for_schema_equivalent
4099
4256
  self.name = name
4100
4257
  self.supported_options = supported_options
4101
4258
 
@@ -4125,6 +4282,7 @@ class DialectInfoOptions(model.Model):
4125
4282
  tns: Has Oracle TNS support
4126
4283
  username: Username can be specified
4127
4284
  username_required: Username is required
4285
+ supports_connection_pooling: Has support for connection pooling
4128
4286
  """
4129
4287
 
4130
4288
  additional_params: Optional[bool] = None
@@ -4148,6 +4306,7 @@ class DialectInfoOptions(model.Model):
4148
4306
  tns: Optional[bool] = None
4149
4307
  username: Optional[bool] = None
4150
4308
  username_required: Optional[bool] = None
4309
+ supports_connection_pooling: Optional[bool] = None
4151
4310
 
4152
4311
  def __init__(
4153
4312
  self,
@@ -4172,7 +4331,8 @@ class DialectInfoOptions(model.Model):
4172
4331
  tmp_table: Optional[bool] = None,
4173
4332
  tns: Optional[bool] = None,
4174
4333
  username: Optional[bool] = None,
4175
- username_required: Optional[bool] = None
4334
+ username_required: Optional[bool] = None,
4335
+ supports_connection_pooling: Optional[bool] = None
4176
4336
  ):
4177
4337
  self.additional_params = additional_params
4178
4338
  self.after_connect_statements = after_connect_statements
@@ -4195,6 +4355,7 @@ class DialectInfoOptions(model.Model):
4195
4355
  self.tns = tns
4196
4356
  self.username = username
4197
4357
  self.username_required = username_required
4358
+ self.supports_connection_pooling = supports_connection_pooling
4198
4359
 
4199
4360
 
4200
4361
  @attr.s(auto_attribs=True, init=False)
@@ -4280,6 +4441,7 @@ class EmbedConfig(model.Model):
4280
4441
  strict_sameorigin_for_login: When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes.
4281
4442
  look_filters: When true, filters are enabled on embedded Looks
4282
4443
  hide_look_navigation: When true, removes navigation to Looks from embedded dashboards and explores.
4444
+ embed_enabled: True if embedding is licensed for this Looker instance.
4283
4445
  """
4284
4446
 
4285
4447
  domain_allowlist: Optional[Sequence[str]] = None
@@ -4293,6 +4455,7 @@ class EmbedConfig(model.Model):
4293
4455
  strict_sameorigin_for_login: Optional[bool] = None
4294
4456
  look_filters: Optional[bool] = None
4295
4457
  hide_look_navigation: Optional[bool] = None
4458
+ embed_enabled: Optional[bool] = None
4296
4459
 
4297
4460
  def __init__(
4298
4461
  self,
@@ -4307,7 +4470,8 @@ class EmbedConfig(model.Model):
4307
4470
  embed_content_management: Optional[bool] = None,
4308
4471
  strict_sameorigin_for_login: Optional[bool] = None,
4309
4472
  look_filters: Optional[bool] = None,
4310
- hide_look_navigation: Optional[bool] = None
4473
+ hide_look_navigation: Optional[bool] = None,
4474
+ embed_enabled: Optional[bool] = None
4311
4475
  ):
4312
4476
  self.domain_allowlist = domain_allowlist
4313
4477
  self.alert_url_allowlist = alert_url_allowlist
@@ -4320,6 +4484,7 @@ class EmbedConfig(model.Model):
4320
4484
  self.strict_sameorigin_for_login = strict_sameorigin_for_login
4321
4485
  self.look_filters = look_filters
4322
4486
  self.hide_look_navigation = hide_look_navigation
4487
+ self.embed_enabled = embed_enabled
4323
4488
 
4324
4489
 
4325
4490
  @attr.s(auto_attribs=True, init=False)
@@ -4667,6 +4832,7 @@ class ExternalOauthApplication(model.Model):
4667
4832
  name: The name of this application. For Snowflake connections, this should be the name of the host database.
4668
4833
  client_id: The OAuth Client ID for this application
4669
4834
  client_secret: (Write-Only) The OAuth Client Secret for this application
4835
+ tenant_id: The OAuth Tenant ID for this application
4670
4836
  dialect_name: The database dialect for this application.
4671
4837
  created_at: Creation time for this application
4672
4838
  """
@@ -4676,6 +4842,7 @@ class ExternalOauthApplication(model.Model):
4676
4842
  name: Optional[str] = None
4677
4843
  client_id: Optional[str] = None
4678
4844
  client_secret: Optional[str] = None
4845
+ tenant_id: Optional[str] = None
4679
4846
  dialect_name: Optional[str] = None
4680
4847
  created_at: Optional[datetime.datetime] = None
4681
4848
 
@@ -4687,6 +4854,7 @@ class ExternalOauthApplication(model.Model):
4687
4854
  name: Optional[str] = None,
4688
4855
  client_id: Optional[str] = None,
4689
4856
  client_secret: Optional[str] = None,
4857
+ tenant_id: Optional[str] = None,
4690
4858
  dialect_name: Optional[str] = None,
4691
4859
  created_at: Optional[datetime.datetime] = None
4692
4860
  ):
@@ -4695,6 +4863,7 @@ class ExternalOauthApplication(model.Model):
4695
4863
  self.name = name
4696
4864
  self.client_id = client_id
4697
4865
  self.client_secret = client_secret
4866
+ self.tenant_id = tenant_id
4698
4867
  self.dialect_name = dialect_name
4699
4868
  self.created_at = created_at
4700
4869
 
@@ -5463,6 +5632,27 @@ class ImportedProject(model.Model):
5463
5632
  self.is_remote = is_remote
5464
5633
 
5465
5634
 
5635
+ @attr.s(auto_attribs=True, init=False)
5636
+ class InstanceConfig(model.Model):
5637
+ """
5638
+ Attributes:
5639
+ feature_flags: Feature flags enabled on the instance
5640
+ license_features: License features enabled on the instance
5641
+ """
5642
+
5643
+ feature_flags: Optional[MutableMapping[str, bool]] = None
5644
+ license_features: Optional[MutableMapping[str, bool]] = None
5645
+
5646
+ def __init__(
5647
+ self,
5648
+ *,
5649
+ feature_flags: Optional[MutableMapping[str, bool]] = None,
5650
+ license_features: Optional[MutableMapping[str, bool]] = None
5651
+ ):
5652
+ self.feature_flags = feature_flags
5653
+ self.license_features = license_features
5654
+
5655
+
5466
5656
  @attr.s(auto_attribs=True, init=False)
5467
5657
  class Integration(model.Model):
5468
5658
  """
@@ -5778,65 +5968,17 @@ InvestigativeContentType.__new__ = model.safe_enum__new__ # type: ignore
5778
5968
  class JsonBi(model.Model):
5779
5969
  """
5780
5970
  Attributes:
5781
- big_query_metadata:
5782
- fields:
5783
- pivots: Pivots
5784
- has_subtotals: If the query has subtotals
5785
- has_totals: If the query has totals
5786
- columns_truncated: If the query results hit the maximum column limit and additional columns were truncated
5787
- filter_expression: Filter expression applied to the query results
5788
- filters: Filters applied to the query results
5789
- sql: Raw sql query. Null if user does not have permission to view sql
5790
- data: Json query results
5971
+ metadata:
5972
+ rows: Json query results
5791
5973
  """
5792
5974
 
5793
- big_query_metadata: "JsonBiBigQueryMetadata"
5794
- fields: "JsonBiFields"
5795
- pivots: Sequence["JsonBiPivots"]
5796
- has_subtotals: bool
5797
- has_totals: bool
5798
- columns_truncated: str
5799
- filter_expression: str
5800
- filters: MutableMapping[str, Any]
5801
- sql: str
5802
- data: Sequence[str]
5803
- __annotations__ = {
5804
- "big_query_metadata": ForwardRef("JsonBiBigQueryMetadata"),
5805
- "fields": ForwardRef("JsonBiFields"),
5806
- "pivots": Sequence["JsonBiPivots"],
5807
- "has_subtotals": bool,
5808
- "has_totals": bool,
5809
- "columns_truncated": str,
5810
- "filter_expression": str,
5811
- "filters": MutableMapping[str, Any],
5812
- "sql": str,
5813
- "data": Sequence[str],
5814
- }
5975
+ metadata: "JsonBiMetadata"
5976
+ rows: Sequence[str]
5977
+ __annotations__ = {"metadata": ForwardRef("JsonBiMetadata"), "rows": Sequence[str]}
5815
5978
 
5816
- def __init__(
5817
- self,
5818
- *,
5819
- big_query_metadata: "JsonBiBigQueryMetadata",
5820
- fields: "JsonBiFields",
5821
- pivots: Sequence["JsonBiPivots"],
5822
- has_subtotals: bool,
5823
- has_totals: bool,
5824
- columns_truncated: str,
5825
- filter_expression: str,
5826
- filters: MutableMapping[str, Any],
5827
- sql: str,
5828
- data: Sequence[str]
5829
- ):
5830
- self.big_query_metadata = big_query_metadata
5831
- self.fields = fields
5832
- self.pivots = pivots
5833
- self.has_subtotals = has_subtotals
5834
- self.has_totals = has_totals
5835
- self.columns_truncated = columns_truncated
5836
- self.filter_expression = filter_expression
5837
- self.filters = filters
5838
- self.sql = sql
5839
- self.data = data
5979
+ def __init__(self, *, metadata: "JsonBiMetadata", rows: Sequence[str]):
5980
+ self.metadata = metadata
5981
+ self.rows = rows
5840
5982
 
5841
5983
 
5842
5984
  @attr.s(auto_attribs=True, init=False)
@@ -5923,22 +6065,86 @@ class JsonBiFields(model.Model):
5923
6065
  dimensions: Dimensions represent a column in a table, or a computed value based on some sort of column manipulation or combination
5924
6066
  measures: Measures are similar to aggregate functions in SQL (for example, COUNT, SUM, AVG) and represent information about multiple rows
5925
6067
  pivots: Pivots
6068
+ table_calculations: Table Calculations
5926
6069
  """
5927
6070
 
5928
6071
  dimensions: Sequence["JsonBiField"]
5929
6072
  measures: Sequence["JsonBiField"]
5930
6073
  pivots: Sequence["JsonBiField"]
6074
+ table_calculations: Sequence["JsonBiTableCalc"]
5931
6075
 
5932
6076
  def __init__(
5933
6077
  self,
5934
6078
  *,
5935
6079
  dimensions: Sequence["JsonBiField"],
5936
6080
  measures: Sequence["JsonBiField"],
5937
- pivots: Sequence["JsonBiField"]
6081
+ pivots: Sequence["JsonBiField"],
6082
+ table_calculations: Sequence["JsonBiTableCalc"]
5938
6083
  ):
5939
6084
  self.dimensions = dimensions
5940
6085
  self.measures = measures
5941
6086
  self.pivots = pivots
6087
+ self.table_calculations = table_calculations
6088
+
6089
+
6090
+ @attr.s(auto_attribs=True, init=False)
6091
+ class JsonBiMetadata(model.Model):
6092
+ """
6093
+ Attributes:
6094
+ big_query_metadata:
6095
+ fields:
6096
+ pivots: Pivots
6097
+ has_subtotals: If the query has subtotals
6098
+ has_totals: If the query has totals
6099
+ columns_truncated: If the query results hit the maximum column limit and additional columns were truncated
6100
+ filter_expression: Filter expression applied to the query results
6101
+ filters: Filters applied to the query results
6102
+ sql: Raw sql query. Null if user does not have permission to view sql
6103
+ """
6104
+
6105
+ big_query_metadata: "JsonBiBigQueryMetadata"
6106
+ fields: "JsonBiFields"
6107
+ pivots: Sequence["JsonBiPivots"]
6108
+ has_subtotals: bool
6109
+ has_totals: bool
6110
+ columns_truncated: str
6111
+ filter_expression: str
6112
+ filters: MutableMapping[str, Any]
6113
+ sql: str
6114
+ __annotations__ = {
6115
+ "big_query_metadata": ForwardRef("JsonBiBigQueryMetadata"),
6116
+ "fields": ForwardRef("JsonBiFields"),
6117
+ "pivots": Sequence["JsonBiPivots"],
6118
+ "has_subtotals": bool,
6119
+ "has_totals": bool,
6120
+ "columns_truncated": str,
6121
+ "filter_expression": str,
6122
+ "filters": MutableMapping[str, Any],
6123
+ "sql": str,
6124
+ }
6125
+
6126
+ def __init__(
6127
+ self,
6128
+ *,
6129
+ big_query_metadata: "JsonBiBigQueryMetadata",
6130
+ fields: "JsonBiFields",
6131
+ pivots: Sequence["JsonBiPivots"],
6132
+ has_subtotals: bool,
6133
+ has_totals: bool,
6134
+ columns_truncated: str,
6135
+ filter_expression: str,
6136
+ filters: MutableMapping[str, Any],
6137
+ sql: str
6138
+ ):
6139
+ self.big_query_metadata = big_query_metadata
6140
+ self.fields = fields
6141
+ self.pivots = pivots
6142
+ self.has_subtotals = has_subtotals
6143
+ self.has_totals = has_totals
6144
+ self.columns_truncated = columns_truncated
6145
+ self.filter_expression = filter_expression
6146
+ self.filters = filters
6147
+ self.sql = sql
5942
6148
 
5943
6149
 
5944
6150
  @attr.s(auto_attribs=True, init=False)
@@ -5970,6 +6176,43 @@ class JsonBiPivots(model.Model):
5970
6176
  self.is_total = is_total
5971
6177
 
5972
6178
 
6179
+ @attr.s(auto_attribs=True, init=False)
6180
+ class JsonBiTableCalc(model.Model):
6181
+ """
6182
+ Attributes:
6183
+ name: Table Calc Name
6184
+ label: Table Calc Label
6185
+ align: Alignment
6186
+ expression: Evaluated table calculation expression
6187
+ value_format: Value format
6188
+ measure: If table calculation is a measure
6189
+ """
6190
+
6191
+ name: str
6192
+ label: str
6193
+ align: str
6194
+ expression: str
6195
+ value_format: str
6196
+ measure: bool
6197
+
6198
+ def __init__(
6199
+ self,
6200
+ *,
6201
+ name: str,
6202
+ label: str,
6203
+ align: str,
6204
+ expression: str,
6205
+ value_format: str,
6206
+ measure: bool
6207
+ ):
6208
+ self.name = name
6209
+ self.label = label
6210
+ self.align = align
6211
+ self.expression = expression
6212
+ self.value_format = value_format
6213
+ self.measure = measure
6214
+
6215
+
5973
6216
  @attr.s(auto_attribs=True, init=False)
5974
6217
  class LDAPConfig(model.Model):
5975
6218
  """
@@ -6543,6 +6786,7 @@ class Look(model.Model):
6543
6786
  folder:
6544
6787
  folder_id: Folder Id
6545
6788
  updated_at: Time that the Look was updated.
6789
+ user_name: Name of User that created the look.
6546
6790
  view_count: Number of times viewed in the Looker web UI
6547
6791
  """
6548
6792
 
@@ -6575,6 +6819,7 @@ class Look(model.Model):
6575
6819
  folder: Optional["FolderBase"] = None
6576
6820
  folder_id: Optional[str] = None
6577
6821
  updated_at: Optional[datetime.datetime] = None
6822
+ user_name: Optional[str] = None
6578
6823
  view_count: Optional[int] = None
6579
6824
 
6580
6825
  def __init__(
@@ -6609,6 +6854,7 @@ class Look(model.Model):
6609
6854
  folder: Optional["FolderBase"] = None,
6610
6855
  folder_id: Optional[str] = None,
6611
6856
  updated_at: Optional[datetime.datetime] = None,
6857
+ user_name: Optional[str] = None,
6612
6858
  view_count: Optional[int] = None
6613
6859
  ):
6614
6860
  self.can = can
@@ -6640,6 +6886,7 @@ class Look(model.Model):
6640
6886
  self.folder = folder
6641
6887
  self.folder_id = folder_id
6642
6888
  self.updated_at = updated_at
6889
+ self.user_name = user_name
6643
6890
  self.view_count = view_count
6644
6891
 
6645
6892
 
@@ -7679,6 +7926,7 @@ class LookWithDashboards(model.Model):
7679
7926
  folder:
7680
7927
  folder_id: Folder Id
7681
7928
  updated_at: Time that the Look was updated.
7929
+ user_name: Name of User that created the look.
7682
7930
  view_count: Number of times viewed in the Looker web UI
7683
7931
  dashboards: Dashboards
7684
7932
  """
@@ -7712,6 +7960,7 @@ class LookWithDashboards(model.Model):
7712
7960
  folder: Optional["FolderBase"] = None
7713
7961
  folder_id: Optional[str] = None
7714
7962
  updated_at: Optional[datetime.datetime] = None
7963
+ user_name: Optional[str] = None
7715
7964
  view_count: Optional[int] = None
7716
7965
  dashboards: Optional[Sequence["DashboardBase"]] = None
7717
7966
 
@@ -7747,6 +7996,7 @@ class LookWithDashboards(model.Model):
7747
7996
  folder: Optional["FolderBase"] = None,
7748
7997
  folder_id: Optional[str] = None,
7749
7998
  updated_at: Optional[datetime.datetime] = None,
7999
+ user_name: Optional[str] = None,
7750
8000
  view_count: Optional[int] = None,
7751
8001
  dashboards: Optional[Sequence["DashboardBase"]] = None
7752
8002
  ):
@@ -7779,6 +8029,7 @@ class LookWithDashboards(model.Model):
7779
8029
  self.folder = folder
7780
8030
  self.folder_id = folder_id
7781
8031
  self.updated_at = updated_at
8032
+ self.user_name = user_name
7782
8033
  self.view_count = view_count
7783
8034
  self.dashboards = dashboards
7784
8035
 
@@ -7816,6 +8067,7 @@ class LookWithQuery(model.Model):
7816
8067
  folder:
7817
8068
  folder_id: Folder Id
7818
8069
  updated_at: Time that the Look was updated.
8070
+ user_name: Name of User that created the look.
7819
8071
  view_count: Number of times viewed in the Looker web UI
7820
8072
  query:
7821
8073
  url: Url
@@ -7850,6 +8102,7 @@ class LookWithQuery(model.Model):
7850
8102
  folder: Optional["FolderBase"] = None
7851
8103
  folder_id: Optional[str] = None
7852
8104
  updated_at: Optional[datetime.datetime] = None
8105
+ user_name: Optional[str] = None
7853
8106
  view_count: Optional[int] = None
7854
8107
  query: Optional["Query"] = None
7855
8108
  url: Optional[str] = None
@@ -7886,6 +8139,7 @@ class LookWithQuery(model.Model):
7886
8139
  folder: Optional["FolderBase"] = None,
7887
8140
  folder_id: Optional[str] = None,
7888
8141
  updated_at: Optional[datetime.datetime] = None,
8142
+ user_name: Optional[str] = None,
7889
8143
  view_count: Optional[int] = None,
7890
8144
  query: Optional["Query"] = None,
7891
8145
  url: Optional[str] = None
@@ -7919,6 +8173,7 @@ class LookWithQuery(model.Model):
7919
8173
  self.folder = folder
7920
8174
  self.folder_id = folder_id
7921
8175
  self.updated_at = updated_at
8176
+ self.user_name = user_name
7922
8177
  self.view_count = view_count
7923
8178
  self.query = query
7924
8179
  self.url = url
@@ -9227,10 +9482,10 @@ class Query(model.Model):
9227
9482
  fields: Fields
9228
9483
  pivots: Pivots
9229
9484
  fill_fields: Fill Fields
9230
- filters: Filters
9485
+ filters: Filters will contain data pertaining to complex filters that do not contain "or" conditions. When "or" conditions are present, filter data will be found on the `filter_expression` property.
9231
9486
  filter_expression: Filter Expression
9232
9487
  sorts: Sorting for the query results. Use the format `["view.field", ...]` to sort on fields in ascending order. Use the format `["view.field desc", ...]` to sort on fields in descending order. Use `["__UNSORTED__"]` (2 underscores before and after) to disable sorting entirely. Empty sorts `[]` will trigger a default sort.
9233
- limit: Limit
9488
+ limit: Row limit. To download unlimited results, set the limit to -1 (negative one).
9234
9489
  column_limit: Column Limit
9235
9490
  total: Total
9236
9491
  row_total: Raw Total
@@ -9333,55 +9588,6 @@ class Query(model.Model):
9333
9588
  self.has_table_calculations = has_table_calculations
9334
9589
 
9335
9590
 
9336
- @attr.s(auto_attribs=True, init=False)
9337
- class QueryFormats(model.Model):
9338
- """
9339
- Attributes:
9340
- json_bi:
9341
- json:
9342
- json_detail:
9343
- csv:
9344
- txt:
9345
- html:
9346
- md:
9347
- xlsx:
9348
- sql:
9349
- """
9350
-
9351
- json_bi: Optional["JsonBi"] = None
9352
- json: Optional[str] = None
9353
- json_detail: Optional[str] = None
9354
- csv: Optional[str] = None
9355
- txt: Optional[str] = None
9356
- html: Optional[str] = None
9357
- md: Optional[str] = None
9358
- xlsx: Optional[str] = None
9359
- sql: Optional[str] = None
9360
-
9361
- def __init__(
9362
- self,
9363
- *,
9364
- json_bi: Optional["JsonBi"] = None,
9365
- json: Optional[str] = None,
9366
- json_detail: Optional[str] = None,
9367
- csv: Optional[str] = None,
9368
- txt: Optional[str] = None,
9369
- html: Optional[str] = None,
9370
- md: Optional[str] = None,
9371
- xlsx: Optional[str] = None,
9372
- sql: Optional[str] = None
9373
- ):
9374
- self.json_bi = json_bi
9375
- self.json = json
9376
- self.json_detail = json_detail
9377
- self.csv = csv
9378
- self.txt = txt
9379
- self.html = html
9380
- self.md = md
9381
- self.xlsx = xlsx
9382
- self.sql = sql
9383
-
9384
-
9385
9591
  @attr.s(auto_attribs=True, init=False)
9386
9592
  class QueryTask(model.Model):
9387
9593
  """
@@ -9864,6 +10070,7 @@ class RunningQueries(model.Model):
9864
10070
  status: Status description
9865
10071
  runtime: Number of seconds elapsed running the Query
9866
10072
  sql: SQL text of the query as run
10073
+ sql_interface_sql: SQL text of the SQL Interface query as run
9867
10074
  """
9868
10075
 
9869
10076
  can: Optional[MutableMapping[str, bool]] = None
@@ -9887,6 +10094,7 @@ class RunningQueries(model.Model):
9887
10094
  status: Optional[str] = None
9888
10095
  runtime: Optional[float] = None
9889
10096
  sql: Optional[str] = None
10097
+ sql_interface_sql: Optional[str] = None
9890
10098
 
9891
10099
  def __init__(
9892
10100
  self,
@@ -9911,7 +10119,8 @@ class RunningQueries(model.Model):
9911
10119
  message: Optional[str] = None,
9912
10120
  status: Optional[str] = None,
9913
10121
  runtime: Optional[float] = None,
9914
- sql: Optional[str] = None
10122
+ sql: Optional[str] = None,
10123
+ sql_interface_sql: Optional[str] = None
9915
10124
  ):
9916
10125
  self.can = can
9917
10126
  self.id = id
@@ -9934,6 +10143,7 @@ class RunningQueries(model.Model):
9934
10143
  self.status = status
9935
10144
  self.runtime = runtime
9936
10145
  self.sql = sql
10146
+ self.sql_interface_sql = sql_interface_sql
9937
10147
 
9938
10148
 
9939
10149
  @attr.s(auto_attribs=True, init=False)
@@ -10262,7 +10472,6 @@ class ScheduledPlan(model.Model):
10262
10472
  crontab: Vixie-Style crontab specification when to run
10263
10473
  datagroup: Name of a datagroup; if specified will run when datagroup triggered (can't be used with cron string)
10264
10474
  timezone: Timezone for interpreting the specified crontab (default is Looker instance timezone)
10265
- query_id: Query id
10266
10475
  scheduled_plan_destination: Scheduled plan destinations
10267
10476
  run_once: Whether the plan in question should only be run once (usually for testing)
10268
10477
  include_links: Whether links back to Looker should be included in this ScheduledPlan
@@ -10276,6 +10485,7 @@ class ScheduledPlan(model.Model):
10276
10485
  color_theme: Color scheme of the dashboard if applicable
10277
10486
  long_tables: Whether or not to expand table vis to full length
10278
10487
  inline_table_width: The pixel width at which we render the inline table visualizations
10488
+ query_id: Query id
10279
10489
  id: Unique Id
10280
10490
  created_at: Date and time when ScheduledPlan was created
10281
10491
  updated_at: Date and time when ScheduledPlan was last updated
@@ -10302,7 +10512,6 @@ class ScheduledPlan(model.Model):
10302
10512
  crontab: Optional[str] = None
10303
10513
  datagroup: Optional[str] = None
10304
10514
  timezone: Optional[str] = None
10305
- query_id: Optional[str] = None
10306
10515
  scheduled_plan_destination: Optional[Sequence["ScheduledPlanDestination"]] = None
10307
10516
  run_once: Optional[bool] = None
10308
10517
  include_links: Optional[bool] = None
@@ -10316,6 +10525,7 @@ class ScheduledPlan(model.Model):
10316
10525
  color_theme: Optional[str] = None
10317
10526
  long_tables: Optional[bool] = None
10318
10527
  inline_table_width: Optional[int] = None
10528
+ query_id: Optional[str] = None
10319
10529
  id: Optional[str] = None
10320
10530
  created_at: Optional[datetime.datetime] = None
10321
10531
  updated_at: Optional[datetime.datetime] = None
@@ -10344,7 +10554,6 @@ class ScheduledPlan(model.Model):
10344
10554
  crontab: Optional[str] = None,
10345
10555
  datagroup: Optional[str] = None,
10346
10556
  timezone: Optional[str] = None,
10347
- query_id: Optional[str] = None,
10348
10557
  scheduled_plan_destination: Optional[
10349
10558
  Sequence["ScheduledPlanDestination"]
10350
10559
  ] = None,
@@ -10360,6 +10569,7 @@ class ScheduledPlan(model.Model):
10360
10569
  color_theme: Optional[str] = None,
10361
10570
  long_tables: Optional[bool] = None,
10362
10571
  inline_table_width: Optional[int] = None,
10572
+ query_id: Optional[str] = None,
10363
10573
  id: Optional[str] = None,
10364
10574
  created_at: Optional[datetime.datetime] = None,
10365
10575
  updated_at: Optional[datetime.datetime] = None,
@@ -10385,7 +10595,6 @@ class ScheduledPlan(model.Model):
10385
10595
  self.crontab = crontab
10386
10596
  self.datagroup = datagroup
10387
10597
  self.timezone = timezone
10388
- self.query_id = query_id
10389
10598
  self.scheduled_plan_destination = scheduled_plan_destination
10390
10599
  self.run_once = run_once
10391
10600
  self.include_links = include_links
@@ -10399,6 +10608,7 @@ class ScheduledPlan(model.Model):
10399
10608
  self.color_theme = color_theme
10400
10609
  self.long_tables = long_tables
10401
10610
  self.inline_table_width = inline_table_width
10611
+ self.query_id = query_id
10402
10612
  self.id = id
10403
10613
  self.created_at = created_at
10404
10614
  self.updated_at = updated_at
@@ -10757,6 +10967,7 @@ class SessionConfig(model.Model):
10757
10967
  class Setting(model.Model):
10758
10968
  """
10759
10969
  Attributes:
10970
+ instance_config:
10760
10971
  extension_framework_enabled: Toggle extension framework on or off
10761
10972
  extension_load_url_enabled: (DEPRECATED) Toggle extension load url on or off. Do not use. This is temporary setting that will eventually become a noop and subsequently deleted.
10762
10973
  marketplace_auto_install_enabled: (DEPRECATED) Toggle marketplace auto install on or off. Deprecated - do not use. Auto install can now be enabled via marketplace automation settings
@@ -10778,8 +10989,12 @@ class Setting(model.Model):
10778
10989
  embed_config:
10779
10990
  login_notification_enabled: Login notification enabled
10780
10991
  login_notification_text: Login notification text
10992
+ dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
10993
+ dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
10994
+ managed_certificate_uri: URI pointing to the location of a private root certificate in Secret Manager
10781
10995
  """
10782
10996
 
10997
+ instance_config: Optional["InstanceConfig"] = None
10783
10998
  extension_framework_enabled: Optional[bool] = None
10784
10999
  extension_load_url_enabled: Optional[bool] = None
10785
11000
  marketplace_auto_install_enabled: Optional[bool] = None
@@ -10801,10 +11016,14 @@ class Setting(model.Model):
10801
11016
  embed_config: Optional["EmbedConfig"] = None
10802
11017
  login_notification_enabled: Optional[bool] = None
10803
11018
  login_notification_text: Optional[str] = None
11019
+ dashboard_auto_refresh_restriction: Optional[bool] = None
11020
+ dashboard_auto_refresh_minimum_interval: Optional[str] = None
11021
+ managed_certificate_uri: Optional[str] = None
10804
11022
 
10805
11023
  def __init__(
10806
11024
  self,
10807
11025
  *,
11026
+ instance_config: Optional["InstanceConfig"] = None,
10808
11027
  extension_framework_enabled: Optional[bool] = None,
10809
11028
  extension_load_url_enabled: Optional[bool] = None,
10810
11029
  marketplace_auto_install_enabled: Optional[bool] = None,
@@ -10825,8 +11044,12 @@ class Setting(model.Model):
10825
11044
  embed_enabled: Optional[bool] = None,
10826
11045
  embed_config: Optional["EmbedConfig"] = None,
10827
11046
  login_notification_enabled: Optional[bool] = None,
10828
- login_notification_text: Optional[str] = None
11047
+ login_notification_text: Optional[str] = None,
11048
+ dashboard_auto_refresh_restriction: Optional[bool] = None,
11049
+ dashboard_auto_refresh_minimum_interval: Optional[str] = None,
11050
+ managed_certificate_uri: Optional[str] = None
10829
11051
  ):
11052
+ self.instance_config = instance_config
10830
11053
  self.extension_framework_enabled = extension_framework_enabled
10831
11054
  self.extension_load_url_enabled = extension_load_url_enabled
10832
11055
  self.marketplace_auto_install_enabled = marketplace_auto_install_enabled
@@ -10848,6 +11071,11 @@ class Setting(model.Model):
10848
11071
  self.embed_config = embed_config
10849
11072
  self.login_notification_enabled = login_notification_enabled
10850
11073
  self.login_notification_text = login_notification_text
11074
+ self.dashboard_auto_refresh_restriction = dashboard_auto_refresh_restriction
11075
+ self.dashboard_auto_refresh_minimum_interval = (
11076
+ dashboard_auto_refresh_minimum_interval
11077
+ )
11078
+ self.managed_certificate_uri = managed_certificate_uri
10851
11079
 
10852
11080
 
10853
11081
  @attr.s(auto_attribs=True, init=False)
@@ -11773,7 +12001,7 @@ class User(model.Model):
11773
12001
  looker_versions: Array of strings representing the Looker versions that this user has used (this only goes back as far as '3.54.0')
11774
12002
  models_dir_validated: User's dev workspace has been checked for presence of applicable production projects
11775
12003
  personal_folder_id: ID of user's personal folder
11776
- presumed_looker_employee: User is identified as an employee of Looker
12004
+ presumed_looker_employee: (DEPRECATED) User is identified as an employee of Looker
11777
12005
  role_ids: Array of ids of the roles for this user
11778
12006
  sessions: Active sessions
11779
12007
  ui_state: Per user dictionary of undocumented state information owned by the Looker UI.
@@ -11783,7 +12011,6 @@ class User(model.Model):
11783
12011
  allow_normal_group_membership: User can be a direct member of a normal Looker group.
11784
12012
  allow_roles_from_normal_groups: User can inherit roles from a normal Looker group.
11785
12013
  embed_group_folder_id: (Embed only) ID of user's group folder based on the external_group_id optionally specified during embed user login
11786
- is_iam_admin: User is an IAM Admin - only available in Looker (Google Cloud core)
11787
12014
  url: Link to get this item
11788
12015
  """
11789
12016
 
@@ -11822,7 +12049,6 @@ class User(model.Model):
11822
12049
  allow_normal_group_membership: Optional[bool] = None
11823
12050
  allow_roles_from_normal_groups: Optional[bool] = None
11824
12051
  embed_group_folder_id: Optional[str] = None
11825
- is_iam_admin: Optional[bool] = None
11826
12052
  url: Optional[str] = None
11827
12053
 
11828
12054
  def __init__(
@@ -11863,7 +12089,6 @@ class User(model.Model):
11863
12089
  allow_normal_group_membership: Optional[bool] = None,
11864
12090
  allow_roles_from_normal_groups: Optional[bool] = None,
11865
12091
  embed_group_folder_id: Optional[str] = None,
11866
- is_iam_admin: Optional[bool] = None,
11867
12092
  url: Optional[str] = None
11868
12093
  ):
11869
12094
  self.can = can
@@ -11901,7 +12126,6 @@ class User(model.Model):
11901
12126
  self.allow_normal_group_membership = allow_normal_group_membership
11902
12127
  self.allow_roles_from_normal_groups = allow_roles_from_normal_groups
11903
12128
  self.embed_group_folder_id = embed_group_folder_id
11904
- self.is_iam_admin = is_iam_admin
11905
12129
  self.url = url
11906
12130
 
11907
12131
 
@@ -12916,7 +13140,7 @@ class WriteCreateQueryTask(model.Model):
12916
13140
  class WriteCredentialsEmail(model.Model):
12917
13141
  """
12918
13142
  Dynamic writeable type for CredentialsEmail removes:
12919
- can, created_at, user_id, is_disabled, logged_in_at, password_reset_url, account_setup_url, type, url, user_url
13143
+ can, created_at, user_id, is_disabled, logged_in_at, password_reset_url, account_setup_url, password_reset_url_expired, account_setup_url_expired, type, url, user_url
12920
13144
 
12921
13145
  Attributes:
12922
13146
  email: EMail address used for user login
@@ -13082,7 +13306,7 @@ class WriteDashboardElement(model.Model):
13082
13306
  body_text: Text tile body text
13083
13307
  dashboard_id: Id of Dashboard
13084
13308
  look: Dynamic writeable type for LookWithQuery removes:
13085
- can, content_metadata_id, id, content_favorite_id, created_at, deleted_at, deleter_id, embed_url, excel_file_url, favorite_count, google_spreadsheet_formula, image_embed_url, last_accessed_at, last_updater_id, last_viewed_at, model, public_slug, public_url, short_url, updated_at, view_count, url
13309
+ can, content_metadata_id, id, content_favorite_id, created_at, deleted_at, deleter_id, embed_url, excel_file_url, favorite_count, google_spreadsheet_formula, image_embed_url, last_accessed_at, last_updater_id, last_viewed_at, model, public_slug, public_url, short_url, updated_at, user_name, view_count, url
13086
13310
  look_id: Id Of Look
13087
13311
  merge_result_id: ID of merge result
13088
13312
  note_display: Note Display
@@ -13359,7 +13583,7 @@ class WriteDatagroup(model.Model):
13359
13583
  class WriteDBConnection(model.Model):
13360
13584
  """
13361
13585
  Dynamic writeable type for DBConnection removes:
13362
- can, dialect, snippets, pdts_enabled, uses_oauth, supports_data_studio_link, created_at, user_id, example, last_regen_at, last_reap_at, managed
13586
+ 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
13363
13587
 
13364
13588
  Attributes:
13365
13589
  name: Name of the connection. Also used as the unique identifier
@@ -13374,10 +13598,13 @@ class WriteDBConnection(model.Model):
13374
13598
  query_timezone: Timezone to use in queries
13375
13599
  schema: Schema name
13376
13600
  max_connections: Maximum number of concurrent connection to use
13601
+ max_queries: Maximum number of concurrent queries to begin on this connection
13602
+ max_queries_per_user: Maximum number of concurrent queries per user to begin on this connection
13377
13603
  max_billing_gigabytes: Maximum size of query in GBs (BigQuery only, can be a user_attribute name)
13378
13604
  ssl: Use SSL/TLS when connecting to server
13379
13605
  verify_ssl: Verify the SSL
13380
13606
  tmp_db_name: Name of temporary database (if used)
13607
+ tmp_db_host: Name of temporary host (if used)
13381
13608
  jdbc_additional_params: Additional params to add to JDBC connection string
13382
13609
  pool_timeout: Connection Pool Timeout, in seconds
13383
13610
  dialect_name: (Read/Write) SQL Dialect name
@@ -13396,8 +13623,13 @@ class WriteDBConnection(model.Model):
13396
13623
  disable_context_comment: When disable_context_comment is true comment will not be added to SQL
13397
13624
  oauth_application_id: An External OAuth Application to use for authenticating to the database
13398
13625
  always_retry_failed_builds: When true, error PDTs will be retried every regenerator cycle
13626
+ uses_application_default_credentials: Whether the connection should authenticate with the Application Default Credentials of the host environment (limited to GCP and certain dialects).
13627
+ impersonated_service_account: An alternative Service Account to use for querying datasets (used primarily with `uses_application_default_credentials`) (limited to GCP and certain dialects).
13399
13628
  cost_estimate_enabled: When true, query cost estimate will be displayed in explore.
13400
13629
  pdt_api_control_enabled: PDT builds on this connection can be kicked off and cancelled via API.
13630
+ connection_pooling: Enable database connection pooling.
13631
+ bq_storage_project_id: The project id of the default BigQuery storage project.
13632
+ bq_roles_verified: When true, represents that all project roles have been verified.
13401
13633
  """
13402
13634
 
13403
13635
  name: Optional[str] = None
@@ -13412,10 +13644,13 @@ class WriteDBConnection(model.Model):
13412
13644
  query_timezone: Optional[str] = None
13413
13645
  schema: Optional[str] = None
13414
13646
  max_connections: Optional[int] = None
13647
+ max_queries: Optional[int] = None
13648
+ max_queries_per_user: Optional[int] = None
13415
13649
  max_billing_gigabytes: Optional[str] = None
13416
13650
  ssl: Optional[bool] = None
13417
13651
  verify_ssl: Optional[bool] = None
13418
13652
  tmp_db_name: Optional[str] = None
13653
+ tmp_db_host: Optional[str] = None
13419
13654
  jdbc_additional_params: Optional[str] = None
13420
13655
  pool_timeout: Optional[int] = None
13421
13656
  dialect_name: Optional[str] = None
@@ -13433,8 +13668,13 @@ class WriteDBConnection(model.Model):
13433
13668
  disable_context_comment: Optional[bool] = None
13434
13669
  oauth_application_id: Optional[str] = None
13435
13670
  always_retry_failed_builds: Optional[bool] = None
13671
+ uses_application_default_credentials: Optional[bool] = None
13672
+ impersonated_service_account: Optional[str] = None
13436
13673
  cost_estimate_enabled: Optional[bool] = None
13437
13674
  pdt_api_control_enabled: Optional[bool] = None
13675
+ connection_pooling: Optional[bool] = None
13676
+ bq_storage_project_id: Optional[str] = None
13677
+ bq_roles_verified: Optional[bool] = None
13438
13678
 
13439
13679
  def __init__(
13440
13680
  self,
@@ -13451,10 +13691,13 @@ class WriteDBConnection(model.Model):
13451
13691
  query_timezone: Optional[str] = None,
13452
13692
  schema: Optional[str] = None,
13453
13693
  max_connections: Optional[int] = None,
13694
+ max_queries: Optional[int] = None,
13695
+ max_queries_per_user: Optional[int] = None,
13454
13696
  max_billing_gigabytes: Optional[str] = None,
13455
13697
  ssl: Optional[bool] = None,
13456
13698
  verify_ssl: Optional[bool] = None,
13457
13699
  tmp_db_name: Optional[str] = None,
13700
+ tmp_db_host: Optional[str] = None,
13458
13701
  jdbc_additional_params: Optional[str] = None,
13459
13702
  pool_timeout: Optional[int] = None,
13460
13703
  dialect_name: Optional[str] = None,
@@ -13472,8 +13715,13 @@ class WriteDBConnection(model.Model):
13472
13715
  disable_context_comment: Optional[bool] = None,
13473
13716
  oauth_application_id: Optional[str] = None,
13474
13717
  always_retry_failed_builds: Optional[bool] = None,
13718
+ uses_application_default_credentials: Optional[bool] = None,
13719
+ impersonated_service_account: Optional[str] = None,
13475
13720
  cost_estimate_enabled: Optional[bool] = None,
13476
- pdt_api_control_enabled: Optional[bool] = None
13721
+ pdt_api_control_enabled: Optional[bool] = None,
13722
+ connection_pooling: Optional[bool] = None,
13723
+ bq_storage_project_id: Optional[str] = None,
13724
+ bq_roles_verified: Optional[bool] = None
13477
13725
  ):
13478
13726
  self.name = name
13479
13727
  self.host = host
@@ -13487,10 +13735,13 @@ class WriteDBConnection(model.Model):
13487
13735
  self.query_timezone = query_timezone
13488
13736
  self.schema = schema
13489
13737
  self.max_connections = max_connections
13738
+ self.max_queries = max_queries
13739
+ self.max_queries_per_user = max_queries_per_user
13490
13740
  self.max_billing_gigabytes = max_billing_gigabytes
13491
13741
  self.ssl = ssl
13492
13742
  self.verify_ssl = verify_ssl
13493
13743
  self.tmp_db_name = tmp_db_name
13744
+ self.tmp_db_host = tmp_db_host
13494
13745
  self.jdbc_additional_params = jdbc_additional_params
13495
13746
  self.pool_timeout = pool_timeout
13496
13747
  self.dialect_name = dialect_name
@@ -13508,8 +13759,13 @@ class WriteDBConnection(model.Model):
13508
13759
  self.disable_context_comment = disable_context_comment
13509
13760
  self.oauth_application_id = oauth_application_id
13510
13761
  self.always_retry_failed_builds = always_retry_failed_builds
13762
+ self.uses_application_default_credentials = uses_application_default_credentials
13763
+ self.impersonated_service_account = impersonated_service_account
13511
13764
  self.cost_estimate_enabled = cost_estimate_enabled
13512
13765
  self.pdt_api_control_enabled = pdt_api_control_enabled
13766
+ self.connection_pooling = connection_pooling
13767
+ self.bq_storage_project_id = bq_storage_project_id
13768
+ self.bq_roles_verified = bq_roles_verified
13513
13769
 
13514
13770
 
13515
13771
  @attr.s(auto_attribs=True, init=False)
@@ -13572,6 +13828,66 @@ class WriteDBConnectionOverride(model.Model):
13572
13828
  self.after_connect_statements = after_connect_statements
13573
13829
 
13574
13830
 
13831
+ @attr.s(auto_attribs=True, init=False)
13832
+ class WriteEmbedConfig(model.Model):
13833
+ """
13834
+ Dynamic writeable type for EmbedConfig removes:
13835
+ embed_enabled
13836
+
13837
+ Attributes:
13838
+ domain_allowlist: List of domains to allow for embedding
13839
+ alert_url_allowlist: List of base urls to allow for alert/schedule
13840
+ alert_url_param_owner: Owner of who defines the alert/schedule params on the base url
13841
+ alert_url_label: Label for the alert/schedule url
13842
+ sso_auth_enabled: Is SSO embedding enabled for this Looker
13843
+ embed_cookieless_v2: Is Cookieless embedding enabled for this Looker
13844
+ embed_content_navigation: Is embed content navigation enabled for this looker
13845
+ embed_content_management: Is embed content management enabled for this Looker
13846
+ strict_sameorigin_for_login: When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes.
13847
+ look_filters: When true, filters are enabled on embedded Looks
13848
+ hide_look_navigation: When true, removes navigation to Looks from embedded dashboards and explores.
13849
+ """
13850
+
13851
+ domain_allowlist: Optional[Sequence[str]] = None
13852
+ alert_url_allowlist: Optional[Sequence[str]] = None
13853
+ alert_url_param_owner: Optional[str] = None
13854
+ alert_url_label: Optional[str] = None
13855
+ sso_auth_enabled: Optional[bool] = None
13856
+ embed_cookieless_v2: Optional[bool] = None
13857
+ embed_content_navigation: Optional[bool] = None
13858
+ embed_content_management: Optional[bool] = None
13859
+ strict_sameorigin_for_login: Optional[bool] = None
13860
+ look_filters: Optional[bool] = None
13861
+ hide_look_navigation: Optional[bool] = None
13862
+
13863
+ def __init__(
13864
+ self,
13865
+ *,
13866
+ domain_allowlist: Optional[Sequence[str]] = None,
13867
+ alert_url_allowlist: Optional[Sequence[str]] = None,
13868
+ alert_url_param_owner: Optional[str] = None,
13869
+ alert_url_label: Optional[str] = None,
13870
+ sso_auth_enabled: Optional[bool] = None,
13871
+ embed_cookieless_v2: Optional[bool] = None,
13872
+ embed_content_navigation: Optional[bool] = None,
13873
+ embed_content_management: Optional[bool] = None,
13874
+ strict_sameorigin_for_login: Optional[bool] = None,
13875
+ look_filters: Optional[bool] = None,
13876
+ hide_look_navigation: Optional[bool] = None
13877
+ ):
13878
+ self.domain_allowlist = domain_allowlist
13879
+ self.alert_url_allowlist = alert_url_allowlist
13880
+ self.alert_url_param_owner = alert_url_param_owner
13881
+ self.alert_url_label = alert_url_label
13882
+ self.sso_auth_enabled = sso_auth_enabled
13883
+ self.embed_cookieless_v2 = embed_cookieless_v2
13884
+ self.embed_content_navigation = embed_content_navigation
13885
+ self.embed_content_management = embed_content_management
13886
+ self.strict_sameorigin_for_login = strict_sameorigin_for_login
13887
+ self.look_filters = look_filters
13888
+ self.hide_look_navigation = hide_look_navigation
13889
+
13890
+
13575
13891
  @attr.s(auto_attribs=True, init=False)
13576
13892
  class WriteEmbedSecret(model.Model):
13577
13893
  """
@@ -13610,12 +13926,14 @@ class WriteExternalOauthApplication(model.Model):
13610
13926
  name: The name of this application. For Snowflake connections, this should be the name of the host database.
13611
13927
  client_id: The OAuth Client ID for this application
13612
13928
  client_secret: (Write-Only) The OAuth Client Secret for this application
13929
+ tenant_id: The OAuth Tenant ID for this application
13613
13930
  dialect_name: The database dialect for this application.
13614
13931
  """
13615
13932
 
13616
13933
  name: Optional[str] = None
13617
13934
  client_id: Optional[str] = None
13618
13935
  client_secret: Optional[str] = None
13936
+ tenant_id: Optional[str] = None
13619
13937
  dialect_name: Optional[str] = None
13620
13938
 
13621
13939
  def __init__(
@@ -13624,11 +13942,13 @@ class WriteExternalOauthApplication(model.Model):
13624
13942
  name: Optional[str] = None,
13625
13943
  client_id: Optional[str] = None,
13626
13944
  client_secret: Optional[str] = None,
13945
+ tenant_id: Optional[str] = None,
13627
13946
  dialect_name: Optional[str] = None
13628
13947
  ):
13629
13948
  self.name = name
13630
13949
  self.client_id = client_id
13631
13950
  self.client_secret = client_secret
13951
+ self.tenant_id = tenant_id
13632
13952
  self.dialect_name = dialect_name
13633
13953
 
13634
13954
 
@@ -14003,7 +14323,7 @@ class WriteLookmlModel(model.Model):
14003
14323
  class WriteLookWithQuery(model.Model):
14004
14324
  """
14005
14325
  Dynamic writeable type for LookWithQuery removes:
14006
- can, content_metadata_id, id, content_favorite_id, created_at, deleted_at, deleter_id, embed_url, excel_file_url, favorite_count, google_spreadsheet_formula, image_embed_url, last_accessed_at, last_updater_id, last_viewed_at, model, public_slug, public_url, short_url, updated_at, view_count, url
14326
+ can, content_metadata_id, id, content_favorite_id, created_at, deleted_at, deleter_id, embed_url, excel_file_url, favorite_count, google_spreadsheet_formula, image_embed_url, last_accessed_at, last_updater_id, last_viewed_at, model, public_slug, public_url, short_url, updated_at, user_name, view_count, url
14007
14327
 
14008
14328
  Attributes:
14009
14329
  title: Look Title
@@ -14511,10 +14831,10 @@ class WriteQuery(model.Model):
14511
14831
  fields: Fields
14512
14832
  pivots: Pivots
14513
14833
  fill_fields: Fill Fields
14514
- filters: Filters
14834
+ filters: Filters will contain data pertaining to complex filters that do not contain "or" conditions. When "or" conditions are present, filter data will be found on the `filter_expression` property.
14515
14835
  filter_expression: Filter Expression
14516
14836
  sorts: Sorting for the query results. Use the format `["view.field", ...]` to sort on fields in ascending order. Use the format `["view.field desc", ...]` to sort on fields in descending order. Use `["__UNSORTED__"]` (2 underscores before and after) to disable sorting entirely. Empty sorts `[]` will trigger a default sort.
14517
- limit: Limit
14837
+ limit: Row limit. To download unlimited results, set the limit to -1 (negative one).
14518
14838
  column_limit: Column Limit
14519
14839
  total: Total
14520
14840
  row_total: Raw Total
@@ -14809,7 +15129,6 @@ class WriteScheduledPlan(model.Model):
14809
15129
  crontab: Vixie-Style crontab specification when to run
14810
15130
  datagroup: Name of a datagroup; if specified will run when datagroup triggered (can't be used with cron string)
14811
15131
  timezone: Timezone for interpreting the specified crontab (default is Looker instance timezone)
14812
- query_id: Query id
14813
15132
  scheduled_plan_destination: Scheduled plan destinations
14814
15133
  run_once: Whether the plan in question should only be run once (usually for testing)
14815
15134
  include_links: Whether links back to Looker should be included in this ScheduledPlan
@@ -14823,6 +15142,7 @@ class WriteScheduledPlan(model.Model):
14823
15142
  color_theme: Color scheme of the dashboard if applicable
14824
15143
  long_tables: Whether or not to expand table vis to full length
14825
15144
  inline_table_width: The pixel width at which we render the inline table visualizations
15145
+ query_id: Query id
14826
15146
  """
14827
15147
 
14828
15148
  name: Optional[str] = None
@@ -14841,7 +15161,6 @@ class WriteScheduledPlan(model.Model):
14841
15161
  crontab: Optional[str] = None
14842
15162
  datagroup: Optional[str] = None
14843
15163
  timezone: Optional[str] = None
14844
- query_id: Optional[str] = None
14845
15164
  scheduled_plan_destination: Optional[Sequence["ScheduledPlanDestination"]] = None
14846
15165
  run_once: Optional[bool] = None
14847
15166
  include_links: Optional[bool] = None
@@ -14855,6 +15174,7 @@ class WriteScheduledPlan(model.Model):
14855
15174
  color_theme: Optional[str] = None
14856
15175
  long_tables: Optional[bool] = None
14857
15176
  inline_table_width: Optional[int] = None
15177
+ query_id: Optional[str] = None
14858
15178
 
14859
15179
  def __init__(
14860
15180
  self,
@@ -14875,7 +15195,6 @@ class WriteScheduledPlan(model.Model):
14875
15195
  crontab: Optional[str] = None,
14876
15196
  datagroup: Optional[str] = None,
14877
15197
  timezone: Optional[str] = None,
14878
- query_id: Optional[str] = None,
14879
15198
  scheduled_plan_destination: Optional[
14880
15199
  Sequence["ScheduledPlanDestination"]
14881
15200
  ] = None,
@@ -14890,7 +15209,8 @@ class WriteScheduledPlan(model.Model):
14890
15209
  embed: Optional[bool] = None,
14891
15210
  color_theme: Optional[str] = None,
14892
15211
  long_tables: Optional[bool] = None,
14893
- inline_table_width: Optional[int] = None
15212
+ inline_table_width: Optional[int] = None,
15213
+ query_id: Optional[str] = None
14894
15214
  ):
14895
15215
  self.name = name
14896
15216
  self.user_id = user_id
@@ -14908,7 +15228,6 @@ class WriteScheduledPlan(model.Model):
14908
15228
  self.crontab = crontab
14909
15229
  self.datagroup = datagroup
14910
15230
  self.timezone = timezone
14911
- self.query_id = query_id
14912
15231
  self.scheduled_plan_destination = scheduled_plan_destination
14913
15232
  self.run_once = run_once
14914
15233
  self.include_links = include_links
@@ -14922,6 +15241,7 @@ class WriteScheduledPlan(model.Model):
14922
15241
  self.color_theme = color_theme
14923
15242
  self.long_tables = long_tables
14924
15243
  self.inline_table_width = inline_table_width
15244
+ self.query_id = query_id
14925
15245
 
14926
15246
 
14927
15247
  @attr.s(auto_attribs=True, init=False)
@@ -14964,7 +15284,7 @@ class WriteSessionConfig(model.Model):
14964
15284
  class WriteSetting(model.Model):
14965
15285
  """
14966
15286
  Dynamic writeable type for Setting removes:
14967
- marketplace_site, embed_enabled, login_notification_enabled, login_notification_text
15287
+ instance_config, marketplace_site, embed_enabled, login_notification_enabled, login_notification_text
14968
15288
 
14969
15289
  Attributes:
14970
15290
  extension_framework_enabled: Toggle extension framework on or off
@@ -14984,7 +15304,11 @@ class WriteSetting(model.Model):
14984
15304
  override_warnings: (Write-Only) If warnings are preventing a host URL change, this parameter allows for overriding warnings to force update the setting. Does not directly change any Looker settings.
14985
15305
  email_domain_allowlist: An array of Email Domain Allowlist of type string for Scheduled Content
14986
15306
  embed_cookieless_v2: (DEPRECATED) Use embed_config.embed_cookieless_v2 instead. If embed_config.embed_cookieless_v2 is specified, it overrides this value.
14987
- embed_config:
15307
+ embed_config: Dynamic writeable type for EmbedConfig removes:
15308
+ embed_enabled
15309
+ dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
15310
+ dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
15311
+ managed_certificate_uri: URI pointing to the location of a private root certificate in Secret Manager
14988
15312
  """
14989
15313
 
14990
15314
  extension_framework_enabled: Optional[bool] = None
@@ -15003,7 +15327,10 @@ class WriteSetting(model.Model):
15003
15327
  override_warnings: Optional[bool] = None
15004
15328
  email_domain_allowlist: Optional[Sequence[str]] = None
15005
15329
  embed_cookieless_v2: Optional[bool] = None
15006
- embed_config: Optional["EmbedConfig"] = None
15330
+ embed_config: Optional["WriteEmbedConfig"] = None
15331
+ dashboard_auto_refresh_restriction: Optional[bool] = None
15332
+ dashboard_auto_refresh_minimum_interval: Optional[str] = None
15333
+ managed_certificate_uri: Optional[str] = None
15007
15334
 
15008
15335
  def __init__(
15009
15336
  self,
@@ -15024,7 +15351,10 @@ class WriteSetting(model.Model):
15024
15351
  override_warnings: Optional[bool] = None,
15025
15352
  email_domain_allowlist: Optional[Sequence[str]] = None,
15026
15353
  embed_cookieless_v2: Optional[bool] = None,
15027
- embed_config: Optional["EmbedConfig"] = None
15354
+ embed_config: Optional["WriteEmbedConfig"] = None,
15355
+ dashboard_auto_refresh_restriction: Optional[bool] = None,
15356
+ dashboard_auto_refresh_minimum_interval: Optional[str] = None,
15357
+ managed_certificate_uri: Optional[str] = None
15028
15358
  ):
15029
15359
  self.extension_framework_enabled = extension_framework_enabled
15030
15360
  self.extension_load_url_enabled = extension_load_url_enabled
@@ -15043,6 +15373,11 @@ class WriteSetting(model.Model):
15043
15373
  self.email_domain_allowlist = email_domain_allowlist
15044
15374
  self.embed_cookieless_v2 = embed_cookieless_v2
15045
15375
  self.embed_config = embed_config
15376
+ self.dashboard_auto_refresh_restriction = dashboard_auto_refresh_restriction
15377
+ self.dashboard_auto_refresh_minimum_interval = (
15378
+ dashboard_auto_refresh_minimum_interval
15379
+ )
15380
+ self.managed_certificate_uri = managed_certificate_uri
15046
15381
 
15047
15382
 
15048
15383
  @attr.s(auto_attribs=True, init=False)
@@ -15164,11 +15499,11 @@ class WriteTheme(model.Model):
15164
15499
  class WriteUser(model.Model):
15165
15500
  """
15166
15501
  Dynamic writeable type for User removes:
15167
- 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
15502
+ 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
15168
15503
 
15169
15504
  Attributes:
15170
15505
  credentials_email: Dynamic writeable type for CredentialsEmail removes:
15171
- can, created_at, user_id, is_disabled, logged_in_at, password_reset_url, account_setup_url, type, url, user_url
15506
+ can, created_at, user_id, is_disabled, logged_in_at, password_reset_url, account_setup_url, password_reset_url_expired, account_setup_url_expired, type, url, user_url
15172
15507
  first_name: First name
15173
15508
  home_folder_id: ID string for user's home folder
15174
15509
  is_disabled: Account has been disabled