diff --git a/csharp/rtl/Constants.cs b/csharp/rtl/Constants.cs
index 6f6bbfec7..d017b0a3a 100644
--- a/csharp/rtl/Constants.cs
+++ b/csharp/rtl/Constants.cs
@@ -61,7 +61,7 @@ public struct Constants
public const string DefaultApiVersion = "4.0";
public const string AgentPrefix = "CS-SDK";
- public const string LookerVersion = "24.6";
+ public const string LookerVersion = "24.8";
public const string Bearer = "Bearer";
public const string LookerAppiId = "x-looker-appid";
diff --git a/csharp/sdk/4.0/models.cs b/csharp/sdk/4.0/models.cs
index c3a6daa93..752d4f4be 100644
--- a/csharp/sdk/4.0/models.cs
+++ b/csharp/sdk/4.0/models.cs
@@ -21,7 +21,7 @@
/// SOFTWARE.
///
-/// 340 API models: 257 Spec, 0 Request, 61 Write, 22 Enum
+/// 341 API models: 258 Spec, 0 Request, 61 Write, 22 Enum
#nullable enable
using System;
@@ -1689,6 +1689,8 @@ public class DBConnection : SdkModel
public bool? cost_estimate_enabled { get; set; } = null;
/// PDT builds on this connection can be kicked off and cancelled via API.
public bool? pdt_api_control_enabled { get; set; } = null;
+ /// Enable database connection pooling.
+ public bool? connection_pooling { get; set; } = null;
}
public class DBConnectionBase : SdkModel
@@ -1890,6 +1892,8 @@ public class DialectInfoOptions : SdkModel
public bool? username { get; set; } = null;
/// Username is required (read-only)
public bool? username_required { get; set; } = null;
+ /// Has support for connection pooling (read-only)
+ public bool? supports_connection_pooling { get; set; } = null;
}
public class DigestEmails : SdkModel
@@ -2657,6 +2661,8 @@ public class JsonBiFields : SdkModel
public JsonBiField[] measures { get; set; } = null;
/// Pivots (read-only)
public JsonBiField[] pivots { get; set; } = null;
+ /// Table Calculations (beta: May not be included) (read-only)
+ public JsonBiTableCalc[]? table_calculations { get; set; } = null;
}
public class JsonBiMetadata : SdkModel
@@ -2691,6 +2697,22 @@ public class JsonBiPivots : SdkModel
public bool is_total { get; set; }
}
+public class JsonBiTableCalc : SdkModel
+{
+ /// Table Calc Name (read-only)
+ public string name { get; set; } = "";
+ /// Table Calc Label (read-only)
+ public string label { get; set; } = "";
+ /// Alignment (read-only)
+ public string align { get; set; } = "";
+ /// Evaluated table calculation expression (read-only)
+ public string expression { get; set; } = "";
+ /// Value format (read-only)
+ public string value_format { get; set; } = "";
+ /// If table calculation is a measure (read-only)
+ public bool measure { get; set; }
+}
+
public class LDAPConfig : SdkModel
{
/// Operations the current user is able to perform on this object (read-only)
@@ -6199,6 +6221,8 @@ public class WriteDBConnection : SdkModel
public bool? cost_estimate_enabled { get; set; } = null;
/// PDT builds on this connection can be kicked off and cancelled via API.
public bool? pdt_api_control_enabled { get; set; } = null;
+ /// Enable database connection pooling.
+ public bool? connection_pooling { get; set; } = null;
}
/// Dynamic writeable type for DBConnectionOverride removes:
diff --git a/go/sdk/v4/models.go b/go/sdk/v4/models.go
index e90bee439..ebb318961 100644
--- a/go/sdk/v4/models.go
+++ b/go/sdk/v4/models.go
@@ -26,7 +26,7 @@ SOFTWARE.
/*
-406 API models: 257 Spec, 67 Request, 60 Write, 22 Enum
+407 API models: 258 Spec, 67 Request, 60 Write, 22 Enum
*/
// NOTE: Do not edit this file generated by Looker SDK Codegen for API v4
@@ -959,6 +959,7 @@ type DBConnection struct {
AlwaysRetryFailedBuilds *bool `json:"always_retry_failed_builds,omitempty"` // When true, error PDTs will be retried every regenerator cycle
CostEstimateEnabled *bool `json:"cost_estimate_enabled,omitempty"` // When true, query cost estimate will be displayed in explore.
PdtApiControlEnabled *bool `json:"pdt_api_control_enabled,omitempty"` // PDT builds on this connection can be kicked off and cancelled via API.
+ ConnectionPooling *bool `json:"connection_pooling,omitempty"` // Enable database connection pooling.
}
type DBConnectionBase struct {
@@ -1070,6 +1071,7 @@ type DialectInfoOptions struct {
Tns *bool `json:"tns,omitempty"` // Has Oracle TNS support
Username *bool `json:"username,omitempty"` // Username can be specified
UsernameRequired *bool `json:"username_required,omitempty"` // Username is required
+ SupportsConnectionPooling *bool `json:"supports_connection_pooling,omitempty"` // Has support for connection pooling
}
type DigestEmails struct {
@@ -1493,9 +1495,10 @@ type JsonBiField struct {
}
type JsonBiFields struct {
- Dimensions []JsonBiField `json:"dimensions"` // Dimensions represent a column in a table, or a computed value based on some sort of column manipulation or combination
- Measures []JsonBiField `json:"measures"` // Measures are similar to aggregate functions in SQL (for example, COUNT, SUM, AVG) and represent information about multiple rows
- Pivots []JsonBiField `json:"pivots"` // Pivots
+ Dimensions []JsonBiField `json:"dimensions"` // Dimensions represent a column in a table, or a computed value based on some sort of column manipulation or combination
+ Measures []JsonBiField `json:"measures"` // Measures are similar to aggregate functions in SQL (for example, COUNT, SUM, AVG) and represent information about multiple rows
+ Pivots []JsonBiField `json:"pivots"` // Pivots
+ TableCalculations *[]JsonBiTableCalc `json:"table_calculations,omitempty"` // Table Calculations (beta: May not be included)
}
type JsonBiMetadata struct {
@@ -1517,6 +1520,15 @@ type JsonBiPivots struct {
IsTotal bool `json:"is_total"` // If the value is a total
}
+type JsonBiTableCalc struct {
+ Name string `json:"name"` // Table Calc Name
+ Label string `json:"label"` // Table Calc Label
+ Align string `json:"align"` // Alignment
+ Expression string `json:"expression"` // Evaluated table calculation expression
+ ValueFormat string `json:"value_format"` // Value format
+ Measure bool `json:"measure"` // If table calculation is a measure
+}
+
type LDAPConfig struct {
Can *map[string]bool `json:"can,omitempty"` // Operations the current user is able to perform on this object
AlternateEmailLoginAllowed *bool `json:"alternate_email_login_allowed,omitempty"` // Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled.
@@ -4196,6 +4208,7 @@ type WriteDBConnection struct {
AlwaysRetryFailedBuilds *bool `json:"always_retry_failed_builds,omitempty"` // When true, error PDTs will be retried every regenerator cycle
CostEstimateEnabled *bool `json:"cost_estimate_enabled,omitempty"` // When true, query cost estimate will be displayed in explore.
PdtApiControlEnabled *bool `json:"pdt_api_control_enabled,omitempty"` // PDT builds on this connection can be kicked off and cancelled via API.
+ ConnectionPooling *bool `json:"connection_pooling,omitempty"` // Enable database connection pooling.
}
// Dynamic writeable type for DBConnectionOverride removes:
diff --git a/kotlin/src/main/com/looker/sdk/4.0/models.kt b/kotlin/src/main/com/looker/sdk/4.0/models.kt
index 753ee4aa2..ea187ce75 100644
--- a/kotlin/src/main/com/looker/sdk/4.0/models.kt
+++ b/kotlin/src/main/com/looker/sdk/4.0/models.kt
@@ -25,7 +25,7 @@
*/
/**
- * 340 API models: 257 Spec, 0 Request, 61 Write, 22 Enum
+ * 341 API models: 258 Spec, 0 Request, 61 Write, 22 Enum
*/
// NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
@@ -1738,6 +1738,7 @@ data class Datagroup(
* @property always_retry_failed_builds When true, error PDTs will be retried every regenerator cycle
* @property cost_estimate_enabled When true, query cost estimate will be displayed in explore.
* @property pdt_api_control_enabled PDT builds on this connection can be kicked off and cancelled via API.
+ * @property connection_pooling Enable database connection pooling.
*/
data class DBConnection(
var can: Map? = null,
@@ -1787,6 +1788,7 @@ data class DBConnection(
var always_retry_failed_builds: Boolean? = null,
var cost_estimate_enabled: Boolean? = null,
var pdt_api_control_enabled: Boolean? = null,
+ var connection_pooling: Boolean? = null,
) : Serializable
/**
@@ -1970,6 +1972,7 @@ data class DialectInfo(
* @property tns Has Oracle TNS support (read-only)
* @property username Username can be specified (read-only)
* @property username_required Username is required (read-only)
+ * @property supports_connection_pooling Has support for connection pooling (read-only)
*/
data class DialectInfoOptions(
var additional_params: Boolean? = null,
@@ -1993,6 +1996,7 @@ data class DialectInfoOptions(
var tns: Boolean? = null,
var username: Boolean? = null,
var username_required: Boolean? = null,
+ var supports_connection_pooling: Boolean? = null,
) : Serializable
/**
@@ -2795,11 +2799,13 @@ data class JsonBiField(
* @property dimensions Dimensions represent a column in a table, or a computed value based on some sort of column manipulation or combination (read-only)
* @property measures Measures are similar to aggregate functions in SQL (for example, COUNT, SUM, AVG) and represent information about multiple rows (read-only)
* @property pivots Pivots (read-only)
+ * @property table_calculations Table Calculations (beta: May not be included) (read-only)
*/
data class JsonBiFields(
var dimensions: Array,
var measures: Array,
var pivots: Array,
+ var table_calculations: Array? = null,
) : Serializable
/**
@@ -2838,6 +2844,23 @@ data class JsonBiPivots(
var is_total: Boolean,
) : Serializable
+/**
+ * @property name Table Calc Name (read-only)
+ * @property label Table Calc Label (read-only)
+ * @property align Alignment (read-only)
+ * @property expression Evaluated table calculation expression (read-only)
+ * @property value_format Value format (read-only)
+ * @property measure If table calculation is a measure (read-only)
+ */
+data class JsonBiTableCalc(
+ var name: String,
+ var label: String,
+ var align: String,
+ var expression: String,
+ var value_format: String,
+ var measure: Boolean,
+) : Serializable
+
/**
* @property can Operations the current user is able to perform on this object (read-only)
* @property alternate_email_login_allowed Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled.
@@ -6436,6 +6459,7 @@ data class WriteDatagroup(
* @property always_retry_failed_builds When true, error PDTs will be retried every regenerator cycle
* @property cost_estimate_enabled When true, query cost estimate will be displayed in explore.
* @property pdt_api_control_enabled PDT builds on this connection can be kicked off and cancelled via API.
+ * @property connection_pooling Enable database connection pooling.
*/
data class WriteDBConnection(
var name: String? = null,
@@ -6473,6 +6497,7 @@ data class WriteDBConnection(
var always_retry_failed_builds: Boolean? = null,
var cost_estimate_enabled: Boolean? = null,
var pdt_api_control_enabled: Boolean? = null,
+ var connection_pooling: Boolean? = null,
) : Serializable
/**
diff --git a/kotlin/src/main/com/looker/sdk/Constants.kt b/kotlin/src/main/com/looker/sdk/Constants.kt
index 0062aca0f..0380ae4a4 100644
--- a/kotlin/src/main/com/looker/sdk/Constants.kt
+++ b/kotlin/src/main/com/looker/sdk/Constants.kt
@@ -28,7 +28,7 @@ package com.looker.sdk
const val ENVIRONMENT_PREFIX = "LOOKERSDK"
const val SDK_TAG = "KT-SDK"
-const val LOOKER_VERSION = "24.6"
+const val LOOKER_VERSION = "24.8"
const val API_VERSION = "4.0"
const val AGENT_TAG = "$SDK_TAG $LOOKER_VERSION"
const val LOOKER_APPID = "x-looker-appid"
diff --git a/packages/sdk/src/4.0/models.ts b/packages/sdk/src/4.0/models.ts
index 9e89508dc..5e0d29677 100644
--- a/packages/sdk/src/4.0/models.ts
+++ b/packages/sdk/src/4.0/models.ts
@@ -25,7 +25,7 @@
*/
/**
- * 407 API models: 257 Spec, 67 Request, 61 Write, 22 Enum
+ * 408 API models: 258 Spec, 67 Request, 61 Write, 22 Enum
*/
import type { DelimArray, IDictionary } from '@looker/sdk-rtl';
@@ -2845,6 +2845,10 @@ export interface IDBConnection {
* PDT builds on this connection can be kicked off and cancelled via API.
*/
pdt_api_control_enabled?: boolean | null;
+ /**
+ * Enable database connection pooling.
+ */
+ connection_pooling?: boolean;
}
export interface IDBConnectionBase {
@@ -3169,6 +3173,10 @@ export interface IDialectInfoOptions {
* Username is required (read-only)
*/
username_required?: boolean;
+ /**
+ * Has support for connection pooling (read-only)
+ */
+ supports_connection_pooling?: boolean;
}
export interface IDigestEmails {
@@ -4475,6 +4483,10 @@ export interface IJsonBiFields {
* Pivots (read-only)
*/
pivots: IJsonBiField[];
+ /**
+ * Table Calculations (beta: May not be included) (read-only)
+ */
+ table_calculations?: IJsonBiTableCalc[];
}
export interface IJsonBiMetadata {
@@ -4529,6 +4541,33 @@ export interface IJsonBiPivots {
is_total: boolean;
}
+export interface IJsonBiTableCalc {
+ /**
+ * Table Calc Name (read-only)
+ */
+ name: string | null;
+ /**
+ * Table Calc Label (read-only)
+ */
+ label: string | null;
+ /**
+ * Alignment (read-only)
+ */
+ align: string | null;
+ /**
+ * Evaluated table calculation expression (read-only)
+ */
+ expression: string | null;
+ /**
+ * Value format (read-only)
+ */
+ value_format: string | null;
+ /**
+ * If table calculation is a measure (read-only)
+ */
+ measure: boolean | null;
+}
+
export interface ILDAPConfig {
/**
* Operations the current user is able to perform on this object (read-only)
@@ -12699,6 +12738,10 @@ export interface IWriteDBConnection {
* PDT builds on this connection can be kicked off and cancelled via API.
*/
pdt_api_control_enabled?: boolean | null;
+ /**
+ * Enable database connection pooling.
+ */
+ connection_pooling?: boolean;
}
/**
diff --git a/packages/sdk/src/constants.ts b/packages/sdk/src/constants.ts
index aaebc56dd..525d0dab0 100644
--- a/packages/sdk/src/constants.ts
+++ b/packages/sdk/src/constants.ts
@@ -24,5 +24,5 @@
*/
-export const sdkVersion = '24.6';
+export const sdkVersion = '24.8';
export const environmentPrefix = 'LOOKERSDK';
diff --git a/python/looker_sdk/sdk/api40/models.py b/python/looker_sdk/sdk/api40/models.py
index e224d581d..dec9789c9 100644
--- a/python/looker_sdk/sdk/api40/models.py
+++ b/python/looker_sdk/sdk/api40/models.py
@@ -21,7 +21,7 @@
# SOFTWARE.
#
-# 340 API models: 257 Spec, 0 Request, 61 Write, 22 Enum
+# 341 API models: 258 Spec, 0 Request, 61 Write, 22 Enum
# NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
@@ -3618,6 +3618,7 @@ class DBConnection(model.Model):
always_retry_failed_builds: When true, error PDTs will be retried every regenerator cycle
cost_estimate_enabled: When true, query cost estimate will be displayed in explore.
pdt_api_control_enabled: PDT builds on this connection can be kicked off and cancelled via API.
+ connection_pooling: Enable database connection pooling.
"""
can: Optional[MutableMapping[str, bool]] = None
@@ -3667,6 +3668,7 @@ class DBConnection(model.Model):
always_retry_failed_builds: Optional[bool] = None
cost_estimate_enabled: Optional[bool] = None
pdt_api_control_enabled: Optional[bool] = None
+ connection_pooling: Optional[bool] = None
def __init__(
self,
@@ -3717,7 +3719,8 @@ def __init__(
oauth_application_id: Optional[str] = None,
always_retry_failed_builds: Optional[bool] = None,
cost_estimate_enabled: Optional[bool] = None,
- pdt_api_control_enabled: Optional[bool] = None
+ pdt_api_control_enabled: Optional[bool] = None,
+ connection_pooling: Optional[bool] = None
):
self.can = can
self.name = name
@@ -3766,6 +3769,7 @@ def __init__(
self.always_retry_failed_builds = always_retry_failed_builds
self.cost_estimate_enabled = cost_estimate_enabled
self.pdt_api_control_enabled = pdt_api_control_enabled
+ self.connection_pooling = connection_pooling
@attr.s(auto_attribs=True, init=False)
@@ -4125,6 +4129,7 @@ class DialectInfoOptions(model.Model):
tns: Has Oracle TNS support
username: Username can be specified
username_required: Username is required
+ supports_connection_pooling: Has support for connection pooling
"""
additional_params: Optional[bool] = None
@@ -4148,6 +4153,7 @@ class DialectInfoOptions(model.Model):
tns: Optional[bool] = None
username: Optional[bool] = None
username_required: Optional[bool] = None
+ supports_connection_pooling: Optional[bool] = None
def __init__(
self,
@@ -4172,7 +4178,8 @@ def __init__(
tmp_table: Optional[bool] = None,
tns: Optional[bool] = None,
username: Optional[bool] = None,
- username_required: Optional[bool] = None
+ username_required: Optional[bool] = None,
+ supports_connection_pooling: Optional[bool] = None
):
self.additional_params = additional_params
self.after_connect_statements = after_connect_statements
@@ -4195,6 +4202,7 @@ def __init__(
self.tns = tns
self.username = username
self.username_required = username_required
+ self.supports_connection_pooling = supports_connection_pooling
@attr.s(auto_attribs=True, init=False)
@@ -5875,22 +5883,26 @@ class JsonBiFields(model.Model):
dimensions: Dimensions represent a column in a table, or a computed value based on some sort of column manipulation or combination
measures: Measures are similar to aggregate functions in SQL (for example, COUNT, SUM, AVG) and represent information about multiple rows
pivots: Pivots
+ table_calculations: Table Calculations (beta: May not be included)
"""
dimensions: Sequence["JsonBiField"]
measures: Sequence["JsonBiField"]
pivots: Sequence["JsonBiField"]
+ table_calculations: Optional[Sequence["JsonBiTableCalc"]] = None
def __init__(
self,
*,
dimensions: Sequence["JsonBiField"],
measures: Sequence["JsonBiField"],
- pivots: Sequence["JsonBiField"]
+ pivots: Sequence["JsonBiField"],
+ table_calculations: Optional[Sequence["JsonBiTableCalc"]] = None
):
self.dimensions = dimensions
self.measures = measures
self.pivots = pivots
+ self.table_calculations = table_calculations
@attr.s(auto_attribs=True, init=False)
@@ -5982,6 +5994,43 @@ def __init__(
self.is_total = is_total
+@attr.s(auto_attribs=True, init=False)
+class JsonBiTableCalc(model.Model):
+ """
+ Attributes:
+ name: Table Calc Name
+ label: Table Calc Label
+ align: Alignment
+ expression: Evaluated table calculation expression
+ value_format: Value format
+ measure: If table calculation is a measure
+ """
+
+ name: str
+ label: str
+ align: str
+ expression: str
+ value_format: str
+ measure: bool
+
+ def __init__(
+ self,
+ *,
+ name: str,
+ label: str,
+ align: str,
+ expression: str,
+ value_format: str,
+ measure: bool
+ ):
+ self.name = name
+ self.label = label
+ self.align = align
+ self.expression = expression
+ self.value_format = value_format
+ self.measure = measure
+
+
@attr.s(auto_attribs=True, init=False)
class LDAPConfig(model.Model):
"""
@@ -13410,6 +13459,7 @@ class WriteDBConnection(model.Model):
always_retry_failed_builds: When true, error PDTs will be retried every regenerator cycle
cost_estimate_enabled: When true, query cost estimate will be displayed in explore.
pdt_api_control_enabled: PDT builds on this connection can be kicked off and cancelled via API.
+ connection_pooling: Enable database connection pooling.
"""
name: Optional[str] = None
@@ -13447,6 +13497,7 @@ class WriteDBConnection(model.Model):
always_retry_failed_builds: Optional[bool] = None
cost_estimate_enabled: Optional[bool] = None
pdt_api_control_enabled: Optional[bool] = None
+ connection_pooling: Optional[bool] = None
def __init__(
self,
@@ -13485,7 +13536,8 @@ def __init__(
oauth_application_id: Optional[str] = None,
always_retry_failed_builds: Optional[bool] = None,
cost_estimate_enabled: Optional[bool] = None,
- pdt_api_control_enabled: Optional[bool] = None
+ pdt_api_control_enabled: Optional[bool] = None,
+ connection_pooling: Optional[bool] = None
):
self.name = name
self.host = host
@@ -13522,6 +13574,7 @@ def __init__(
self.always_retry_failed_builds = always_retry_failed_builds
self.cost_estimate_enabled = cost_estimate_enabled
self.pdt_api_control_enabled = pdt_api_control_enabled
+ self.connection_pooling = connection_pooling
@attr.s(auto_attribs=True, init=False)
diff --git a/python/looker_sdk/sdk/constants.py b/python/looker_sdk/sdk/constants.py
index 71de76015..e23c37bdf 100644
--- a/python/looker_sdk/sdk/constants.py
+++ b/python/looker_sdk/sdk/constants.py
@@ -20,5 +20,5 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
-sdk_version = "24.6"
+sdk_version = "24.8"
environment_prefix = "LOOKERSDK"
diff --git a/spec/Looker.4.0.json b/spec/Looker.4.0.json
index 235ab0e4d..6f5b68051 100644
--- a/spec/Looker.4.0.json
+++ b/spec/Looker.4.0.json
@@ -1,8 +1,8 @@
{
"swagger": "2.0",
"info": {
- "version": "4.0.24.6",
- "x-looker-release-version": "24.6.13",
+ "version": "4.0.24.8",
+ "x-looker-release-version": "24.8.0",
"title": "Looker API 4.0 Reference",
"description": "\nAPI 4.0 is the current release of the Looker API. API 3.x has been removed.\n\n### Authorization\n\nThe classic method of API authorization uses Looker **API** credentials for authorization and access control.\nLooker admins can create API credentials on Looker's **Admin/Users** page.\n\nAPI 4.0 adds additional ways to authenticate API requests, including OAuth and CORS requests.\n\nFor details, see [Looker API Authorization](https://cloud.google.com/looker/docs/r/api/authorization).\n\n\n### API Explorer\n\nThe API Explorer is a Looker-provided utility with many new and unique features for learning and using the Looker API and SDKs.\n\nFor details, see the [API Explorer documentation](https://cloud.google.com/looker/docs/r/api/explorer).\n\n\n### Looker Language SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. SDKs for a variety of programming languages are also provided to streamline using the API. Looker\nhas an OpenSource [sdk-codegen project](https://github.com/looker-open-source/sdk-codegen) that provides several\nlanguage SDKs. Language SDKs generated by `sdk-codegen` have an Authentication manager that can automatically\nauthenticate API requests when needed.\n\nFor details on available Looker SDKs, see [Looker API Client SDKs](https://cloud.google.com/looker/docs/r/api/client_sdks).\n\n\n### API Versioning\n\nFuture releases of Looker expand the latest API version release-by-release to securely expose more and more of the core\npower of the Looker platform to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\n\nFor details, see [Looker API Versioning](https://cloud.google.com/looker/docs/r/api/versioning).\n\n\n### In This Release\n\nAPI 4.0 is the only supported API version for Looker starting with release 23.18. API 3.0 and 3.1 have been removed.\n\nAPI 4.0 has better support for strongly typed languages like TypeScript, Kotlin, Swift, Go, C#, and more.\n\nSee the [API 4.0 GA announcement](https://developers.looker.com/api/advanced-usage/version-4-ga) for more information\nabout API 4.0.\n\nThe API Explorer can be used to [interactively compare](https://cloud.google.com/looker/docs/r/api/explorer#comparing_api_versions) the differences between API 3.1 and 4.0.\n\n\n### API and SDK Support Policies\n\nLooker API versions and language SDKs have varying support levels. Please read the API and SDK\n[support policies](https://cloud.google.com/looker/docs/r/api/support-policy) for more information.\n\n\n",
"contact": {
@@ -32299,6 +32299,11 @@
"type": "boolean",
"description": "PDT builds on this connection can be kicked off and cancelled via API.",
"x-looker-nullable": true
+ },
+ "connection_pooling": {
+ "type": "boolean",
+ "description": "Enable database connection pooling.",
+ "x-looker-nullable": false
}
},
"x-looker-status": "stable"
@@ -32633,6 +32638,12 @@
"readOnly": true,
"description": "Username is required",
"x-looker-nullable": false
+ },
+ "supports_connection_pooling": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Has support for connection pooling",
+ "x-looker-nullable": false
}
},
"x-looker-status": "stable"
@@ -34559,6 +34570,15 @@
"readOnly": true,
"description": "Pivots",
"x-looker-nullable": false
+ },
+ "table_calculations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JsonBiTableCalc"
+ },
+ "readOnly": true,
+ "description": "Table Calculations (beta: May not be included)",
+ "x-looker-nullable": false
}
},
"x-looker-status": "stable",
@@ -34659,6 +34679,55 @@
"description"
]
},
+ "JsonBiTableCalc": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Table Calc Name",
+ "x-looker-nullable": true
+ },
+ "label": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Table Calc Label",
+ "x-looker-nullable": true
+ },
+ "align": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Alignment",
+ "x-looker-nullable": true
+ },
+ "expression": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Evaluated table calculation expression",
+ "x-looker-nullable": true
+ },
+ "value_format": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Value format",
+ "x-looker-nullable": true
+ },
+ "measure": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "If table calculation is a measure",
+ "x-looker-nullable": true
+ }
+ },
+ "x-looker-status": "stable",
+ "required": [
+ "name",
+ "label",
+ "align",
+ "expression",
+ "value_format",
+ "measure"
+ ]
+ },
"JsonBiBigQueryMetadata": {
"properties": {
"total_bytes_processed": {
diff --git a/spec/Looker.4.0.oas.json b/spec/Looker.4.0.oas.json
index 9885967e1..7a9646db2 100644
--- a/spec/Looker.4.0.oas.json
+++ b/spec/Looker.4.0.oas.json
@@ -1,8 +1,8 @@
{
"openapi": "3.0.0",
"info": {
- "version": "4.0.24.6",
- "x-looker-release-version": "24.6.13",
+ "version": "4.0.24.8",
+ "x-looker-release-version": "24.8.0",
"title": "Looker API 4.0 Reference",
"description": "\nAPI 4.0 is the current release of the Looker API. API 3.x has been removed.\n\n### Authorization\n\nThe classic method of API authorization uses Looker **API** credentials for authorization and access control.\nLooker admins can create API credentials on Looker's **Admin/Users** page.\n\nAPI 4.0 adds additional ways to authenticate API requests, including OAuth and CORS requests.\n\nFor details, see [Looker API Authorization](https://cloud.google.com/looker/docs/r/api/authorization).\n\n\n### API Explorer\n\nThe API Explorer is a Looker-provided utility with many new and unique features for learning and using the Looker API and SDKs.\n\nFor details, see the [API Explorer documentation](https://cloud.google.com/looker/docs/r/api/explorer).\n\n\n### Looker Language SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. SDKs for a variety of programming languages are also provided to streamline using the API. Looker\nhas an OpenSource [sdk-codegen project](https://github.com/looker-open-source/sdk-codegen) that provides several\nlanguage SDKs. Language SDKs generated by `sdk-codegen` have an Authentication manager that can automatically\nauthenticate API requests when needed.\n\nFor details on available Looker SDKs, see [Looker API Client SDKs](https://cloud.google.com/looker/docs/r/api/client_sdks).\n\n\n### API Versioning\n\nFuture releases of Looker expand the latest API version release-by-release to securely expose more and more of the core\npower of the Looker platform to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\n\nFor details, see [Looker API Versioning](https://cloud.google.com/looker/docs/r/api/versioning).\n\n\n### In This Release\n\nAPI 4.0 is the only supported API version for Looker starting with release 23.18. API 3.0 and 3.1 have been removed.\n\nAPI 4.0 has better support for strongly typed languages like TypeScript, Kotlin, Swift, Go, C#, and more.\n\nSee the [API 4.0 GA announcement](https://developers.looker.com/api/advanced-usage/version-4-ga) for more information\nabout API 4.0.\n\nThe API Explorer can be used to [interactively compare](https://cloud.google.com/looker/docs/r/api/explorer#comparing_api_versions) the differences between API 3.1 and 4.0.\n\n\n### API and SDK Support Policies\n\nLooker API versions and language SDKs have varying support levels. Please read the API and SDK\n[support policies](https://cloud.google.com/looker/docs/r/api/support-policy) for more information.\n\n\n",
"contact": {
@@ -42812,6 +42812,11 @@
"type": "boolean",
"description": "PDT builds on this connection can be kicked off and cancelled via API.",
"nullable": true
+ },
+ "connection_pooling": {
+ "type": "boolean",
+ "description": "Enable database connection pooling.",
+ "nullable": false
}
},
"x-looker-status": "stable"
@@ -43143,6 +43148,12 @@
"readOnly": true,
"description": "Username is required",
"nullable": false
+ },
+ "supports_connection_pooling": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Has support for connection pooling",
+ "nullable": false
}
},
"x-looker-status": "stable"
@@ -45060,6 +45071,15 @@
"readOnly": true,
"description": "Pivots",
"nullable": false
+ },
+ "table_calculations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/JsonBiTableCalc"
+ },
+ "readOnly": true,
+ "description": "Table Calculations (beta: May not be included)",
+ "nullable": false
}
},
"x-looker-status": "stable",
@@ -45160,6 +45180,55 @@
"description"
]
},
+ "JsonBiTableCalc": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Table Calc Name",
+ "nullable": true
+ },
+ "label": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Table Calc Label",
+ "nullable": true
+ },
+ "align": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Alignment",
+ "nullable": true
+ },
+ "expression": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Evaluated table calculation expression",
+ "nullable": true
+ },
+ "value_format": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Value format",
+ "nullable": true
+ },
+ "measure": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "If table calculation is a measure",
+ "nullable": true
+ }
+ },
+ "x-looker-status": "stable",
+ "required": [
+ "name",
+ "label",
+ "align",
+ "expression",
+ "value_format",
+ "measure"
+ ]
+ },
"JsonBiBigQueryMetadata": {
"properties": {
"total_bytes_processed": {
diff --git a/swift/looker/rtl/constants.swift b/swift/looker/rtl/constants.swift
index 62f7f8a9b..fc09a3843 100644
--- a/swift/looker/rtl/constants.swift
+++ b/swift/looker/rtl/constants.swift
@@ -51,7 +51,7 @@ extension String {
}
public struct Constants {
- public static let lookerVersion = "24.6"
+ public static let lookerVersion = "24.8"
public static let apiVersion = "4.0"
public static let defaultApiVersion = "4.0" // Swift requires API 4.0
public static let sdkVersion = #"\#(apiVersion).\#(lookerVersion)"#
diff --git a/swift/looker/sdk/models.swift b/swift/looker/sdk/models.swift
index 0aacbbb17..2c5f6e8b5 100644
--- a/swift/looker/sdk/models.swift
+++ b/swift/looker/sdk/models.swift
@@ -25,7 +25,7 @@
*/
/**
- * 340 API models: 257 Spec, 0 Request, 61 Write, 22 Enum
+ * 341 API models: 258 Spec, 0 Request, 61 Write, 22 Enum
*/
@@ -6804,6 +6804,7 @@ public struct DBConnection: SDKModel {
case always_retry_failed_builds
case cost_estimate_enabled
case pdt_api_control_enabled
+ case connection_pooling
}
/**
* Operations the current user is able to perform on this object (read-only)
@@ -7146,7 +7147,12 @@ public struct DBConnection: SDKModel {
*/
public var pdt_api_control_enabled: Bool?
- public init(can: StringDictionary? = nil, name: String? = nil, dialect: Dialect? = nil, snippets: [Snippet]? = nil, pdts_enabled: Bool? = nil, host: String? = nil, port: String? = nil, username: String? = nil, password: String? = nil, uses_oauth: Bool? = nil, certificate: String? = nil, file_type: String? = nil, database: String? = nil, db_timezone: String? = nil, query_timezone: String? = nil, schema: String? = nil, max_connections: Int64? = nil, max_billing_gigabytes: String? = nil, ssl: Bool? = nil, verify_ssl: Bool? = nil, tmp_db_name: String? = nil, jdbc_additional_params: String? = nil, pool_timeout: Int64? = nil, dialect_name: String? = nil, supports_data_studio_link: Bool? = nil, created_at: String? = nil, user_id: String? = nil, example: Bool? = nil, user_db_credentials: Bool? = nil, user_attribute_fields: [String]? = nil, maintenance_cron: String? = nil, last_regen_at: String? = nil, last_reap_at: String? = nil, sql_runner_precache_tables: Bool? = nil, sql_writing_with_info_schema: Bool? = nil, after_connect_statements: String? = nil, pdt_context_override: DBConnectionOverride? = nil, managed: Bool? = nil, custom_local_port: Int64? = nil, tunnel_id: String? = nil, uses_tns: Bool? = nil, pdt_concurrency: Int64? = nil, disable_context_comment: Bool? = nil, oauth_application_id: String? = nil, always_retry_failed_builds: Bool? = nil, cost_estimate_enabled: Bool? = nil, pdt_api_control_enabled: Bool? = nil) {
+ /**
+ * Enable database connection pooling.
+ */
+ public var connection_pooling: Bool?
+
+ public init(can: StringDictionary? = nil, name: String? = nil, dialect: Dialect? = nil, snippets: [Snippet]? = nil, pdts_enabled: Bool? = nil, host: String? = nil, port: String? = nil, username: String? = nil, password: String? = nil, uses_oauth: Bool? = nil, certificate: String? = nil, file_type: String? = nil, database: String? = nil, db_timezone: String? = nil, query_timezone: String? = nil, schema: String? = nil, max_connections: Int64? = nil, max_billing_gigabytes: String? = nil, ssl: Bool? = nil, verify_ssl: Bool? = nil, tmp_db_name: String? = nil, jdbc_additional_params: String? = nil, pool_timeout: Int64? = nil, dialect_name: String? = nil, supports_data_studio_link: Bool? = nil, created_at: String? = nil, user_id: String? = nil, example: Bool? = nil, user_db_credentials: Bool? = nil, user_attribute_fields: [String]? = nil, maintenance_cron: String? = nil, last_regen_at: String? = nil, last_reap_at: String? = nil, sql_runner_precache_tables: Bool? = nil, sql_writing_with_info_schema: Bool? = nil, after_connect_statements: String? = nil, pdt_context_override: DBConnectionOverride? = nil, managed: Bool? = nil, custom_local_port: Int64? = nil, tunnel_id: String? = nil, uses_tns: Bool? = nil, pdt_concurrency: Int64? = nil, disable_context_comment: Bool? = nil, oauth_application_id: String? = nil, always_retry_failed_builds: Bool? = nil, cost_estimate_enabled: Bool? = nil, pdt_api_control_enabled: Bool? = nil, connection_pooling: Bool? = nil) {
self.can = can
self._name = name.map(AnyString.init)
self.dialect = dialect
@@ -7194,6 +7200,7 @@ public struct DBConnection: SDKModel {
self.always_retry_failed_builds = always_retry_failed_builds
self.cost_estimate_enabled = cost_estimate_enabled
self.pdt_api_control_enabled = pdt_api_control_enabled
+ self.connection_pooling = connection_pooling
}
}
@@ -7858,7 +7865,12 @@ public struct DialectInfoOptions: SDKModel {
*/
public var username_required: Bool?
- public init(additional_params: Bool? = nil, after_connect_statements: Bool? = nil, analytical_view_dataset: Bool? = nil, auth: Bool? = nil, cost_estimate: Bool? = nil, disable_context_comment: Bool? = nil, host: Bool? = nil, instance_name: Bool? = nil, max_billing_gigabytes: Bool? = nil, oauth_credentials: Bool? = nil, pdts_for_oauth: Bool? = nil, port: Bool? = nil, project_name: Bool? = nil, schema: Bool? = nil, service_account_credentials: Bool? = nil, ssl: Bool? = nil, timezone: Bool? = nil, tmp_table: Bool? = nil, tns: Bool? = nil, username: Bool? = nil, username_required: Bool? = nil) {
+ /**
+ * Has support for connection pooling (read-only)
+ */
+ public var supports_connection_pooling: Bool?
+
+ public init(additional_params: Bool? = nil, after_connect_statements: Bool? = nil, analytical_view_dataset: Bool? = nil, auth: Bool? = nil, cost_estimate: Bool? = nil, disable_context_comment: Bool? = nil, host: Bool? = nil, instance_name: Bool? = nil, max_billing_gigabytes: Bool? = nil, oauth_credentials: Bool? = nil, pdts_for_oauth: Bool? = nil, port: Bool? = nil, project_name: Bool? = nil, schema: Bool? = nil, service_account_credentials: Bool? = nil, ssl: Bool? = nil, timezone: Bool? = nil, tmp_table: Bool? = nil, tns: Bool? = nil, username: Bool? = nil, username_required: Bool? = nil, supports_connection_pooling: Bool? = nil) {
self.additional_params = additional_params
self.after_connect_statements = after_connect_statements
self.analytical_view_dataset = analytical_view_dataset
@@ -7880,6 +7892,7 @@ public struct DialectInfoOptions: SDKModel {
self.tns = tns
self.username = username
self.username_required = username_required
+ self.supports_connection_pooling = supports_connection_pooling
}
}
@@ -11041,14 +11054,20 @@ public struct JsonBiFields: SDKModel {
*/
public var pivots: [JsonBiField]
- public init(dimensions: [JsonBiField], measures: [JsonBiField], pivots: [JsonBiField]) {
+ /**
+ * Table Calculations (beta: May not be included) (read-only)
+ */
+ public var table_calculations: [JsonBiTableCalc]?
+
+ public init(dimensions: [JsonBiField], measures: [JsonBiField], pivots: [JsonBiField], table_calculations: [JsonBiTableCalc]? = nil) {
self.dimensions = dimensions
self.measures = measures
self.pivots = pivots
+ self.table_calculations = table_calculations
}
- public init(_ dimensions: [JsonBiField], _ measures: [JsonBiField], _ pivots: [JsonBiField]) {
- self.init(dimensions: dimensions, measures: measures, pivots: pivots)
+ public init(_ dimensions: [JsonBiField], _ measures: [JsonBiField], _ pivots: [JsonBiField], table_calculations: [JsonBiTableCalc]? = nil) {
+ self.init(dimensions: dimensions, measures: measures, pivots: pivots, table_calculations: table_calculations)
}
}
@@ -11180,6 +11199,81 @@ public struct JsonBiPivots: SDKModel {
}
+public struct JsonBiTableCalc: SDKModel {
+
+ private enum CodingKeys : String, CodingKey {
+ case _name = "name"
+ case _label = "label"
+ case _align = "align"
+ case _expression = "expression"
+ case _value_format = "value_format"
+ case measure
+ }
+ private var _name: AnyString
+ /**
+ * Table Calc Name (read-only)
+ */
+ public var name: String {
+ get { _name.value }
+ set { _name = AnyString.init(newValue) }
+ }
+
+ private var _label: AnyString
+ /**
+ * Table Calc Label (read-only)
+ */
+ public var label: String {
+ get { _label.value }
+ set { _label = AnyString.init(newValue) }
+ }
+
+ private var _align: AnyString
+ /**
+ * Alignment (read-only)
+ */
+ public var align: String {
+ get { _align.value }
+ set { _align = AnyString.init(newValue) }
+ }
+
+ private var _expression: AnyString
+ /**
+ * Evaluated table calculation expression (read-only)
+ */
+ public var expression: String {
+ get { _expression.value }
+ set { _expression = AnyString.init(newValue) }
+ }
+
+ private var _value_format: AnyString
+ /**
+ * Value format (read-only)
+ */
+ public var value_format: String {
+ get { _value_format.value }
+ set { _value_format = AnyString.init(newValue) }
+ }
+
+ /**
+ * If table calculation is a measure (read-only)
+ */
+ public var measure: Bool
+
+ public init(name: String, label: String, align: String, expression: String, value_format: String, measure: Bool) {
+ self._name = AnyString.init(name)
+ self._label = AnyString.init(label)
+ self._align = AnyString.init(align)
+ self._expression = AnyString.init(expression)
+ self._value_format = AnyString.init(value_format)
+ self.measure = measure
+ }
+
+ public init(_ name: String, _ label: String, _ align: String, _ expression: String, _ value_format: String, _ measure: Bool) {
+ self.init(name: name, label: label, align: align, expression: expression, value_format: value_format, measure: measure)
+ }
+
+}
+
public struct LDAPConfig: SDKModel {
private enum CodingKeys : String, CodingKey {
@@ -25077,6 +25171,7 @@ public struct WriteDBConnection: SDKModel {
case always_retry_failed_builds
case cost_estimate_enabled
case pdt_api_control_enabled
+ case connection_pooling
}
private var _name: AnyString?
/**
@@ -25350,7 +25445,12 @@ public struct WriteDBConnection: SDKModel {
*/
public var pdt_api_control_enabled: Bool?
- public init(name: String? = nil, host: String? = nil, port: String? = nil, username: String? = nil, password: String? = nil, certificate: String? = nil, file_type: String? = nil, database: String? = nil, db_timezone: String? = nil, query_timezone: String? = nil, schema: String? = nil, max_connections: Int64? = nil, max_billing_gigabytes: String? = nil, ssl: Bool? = nil, verify_ssl: Bool? = nil, tmp_db_name: String? = nil, jdbc_additional_params: String? = nil, pool_timeout: Int64? = nil, dialect_name: String? = nil, user_db_credentials: Bool? = nil, user_attribute_fields: [String]? = nil, maintenance_cron: String? = nil, sql_runner_precache_tables: Bool? = nil, sql_writing_with_info_schema: Bool? = nil, after_connect_statements: String? = nil, pdt_context_override: WriteDBConnectionOverride? = nil, custom_local_port: Int64? = nil, tunnel_id: String? = nil, uses_tns: Bool? = nil, pdt_concurrency: Int64? = nil, disable_context_comment: Bool? = nil, oauth_application_id: String? = nil, always_retry_failed_builds: Bool? = nil, cost_estimate_enabled: Bool? = nil, pdt_api_control_enabled: Bool? = nil) {
+ /**
+ * Enable database connection pooling.
+ */
+ public var connection_pooling: Bool?
+
+ public init(name: String? = nil, host: String? = nil, port: String? = nil, username: String? = nil, password: String? = nil, certificate: String? = nil, file_type: String? = nil, database: String? = nil, db_timezone: String? = nil, query_timezone: String? = nil, schema: String? = nil, max_connections: Int64? = nil, max_billing_gigabytes: String? = nil, ssl: Bool? = nil, verify_ssl: Bool? = nil, tmp_db_name: String? = nil, jdbc_additional_params: String? = nil, pool_timeout: Int64? = nil, dialect_name: String? = nil, user_db_credentials: Bool? = nil, user_attribute_fields: [String]? = nil, maintenance_cron: String? = nil, sql_runner_precache_tables: Bool? = nil, sql_writing_with_info_schema: Bool? = nil, after_connect_statements: String? = nil, pdt_context_override: WriteDBConnectionOverride? = nil, custom_local_port: Int64? = nil, tunnel_id: String? = nil, uses_tns: Bool? = nil, pdt_concurrency: Int64? = nil, disable_context_comment: Bool? = nil, oauth_application_id: String? = nil, always_retry_failed_builds: Bool? = nil, cost_estimate_enabled: Bool? = nil, pdt_api_control_enabled: Bool? = nil, connection_pooling: Bool? = nil) {
self._name = name.map(AnyString.init)
self._host = host.map(AnyString.init)
self._port = port.map(AnyString.init)
@@ -25386,6 +25486,7 @@ public struct WriteDBConnection: SDKModel {
self.always_retry_failed_builds = always_retry_failed_builds
self.cost_estimate_enabled = cost_estimate_enabled
self.pdt_api_control_enabled = pdt_api_control_enabled
+ self.connection_pooling = connection_pooling
}
}