diff --git a/csharp/rtl/Constants.cs b/csharp/rtl/Constants.cs index c31c2a6bb..72e567b1e 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 = "23.4"; + public const string LookerVersion = "23.6"; public const string Bearer = "Bearer"; public const string LookerAppiId = "x-looker-appid"; diff --git a/csharp/sdk/3.1/methods.cs b/csharp/sdk/3.1/methods.cs index 31af786e6..9a0952749 100644 --- a/csharp/sdk/3.1/methods.cs +++ b/csharp/sdk/3.1/methods.cs @@ -44,8 +44,8 @@ public Looker31SDK(IAuthSession authSession): base(authSession, "3.1") { } /// ### Present client credentials to obtain an authorization token /// /// Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - /// The client credentials required for this login must be obtained by creating an API3 key on a user account - /// in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + /// The client credentials required for this login must be obtained by creating an API key on a user account + /// in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. /// /// The access token returned by `login` must be used in the HTTP Authorization header of subsequent /// API requests, like this: @@ -68,14 +68,14 @@ public Looker31SDK(IAuthSession authSession): base(authSession, "3.1") { } /// ### Best Practice: /// Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. /// - /// For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + /// For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). /// /// POST /login -> AccessToken /// /// AccessToken Access token with metadata. (application/json) /// - /// client_id part of API3 Key. - /// client_secret part of API3 Key. + /// client_id part of API Key. + /// client_secret part of API Key. public async Task> login( string? client_id = null, string? client_secret = null, @@ -1567,6 +1567,7 @@ public async Task> delete_content_metadata_access /// Either dashboard or look /// ID of the dashboard or look to render /// Whether or not to refresh the rendered image with the latest content + /// Light or dark background. Default is "light" /// A value of png produces a thumbnail in PNG format instead of SVG (default) /// The width of the image if format is supplied /// The height of the image if format is supplied @@ -1574,6 +1575,7 @@ public async Task> content_thumbnail( string type, string resource_id, string? reload = null, + string? theme = null, string? format = null, long? width = null, long? height = null, @@ -1583,6 +1585,7 @@ public async Task> content_thumbnail( resource_id = SdkUtils.EncodeParam(resource_id); return await AuthRequest(HttpMethod.Get, $"/content_thumbnail/{type}/{resource_id}", new Values { { "reload", reload }, + { "theme", theme }, { "format", format }, { "width", width }, { "height", height }},null,options); @@ -1758,7 +1761,8 @@ public async Task> create_dashboard( /// ### Search Dashboards /// - /// Returns an **array of dashboard objects** that match the specified search criteria. + /// Returns an array of **user-defined dashboard** objects that match the specified search criteria. + /// Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. /// /// If multiple search params are given and `filter_or` is FALSE or not specified, /// search params are combined in a logical AND operation. @@ -7723,14 +7727,14 @@ public async Task> delete_user_credentials_oidc( return await AuthRequest(HttpMethod.Delete, $"/users/{user_id}/credentials_oidc", null,null,options); } - /// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + /// ### API login information for the specified user. This is for the newer API keys that can be added for any user. /// /// GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> CredentialsApi3 /// - /// CredentialsApi3 API 3 Credential (application/json) + /// CredentialsApi3 API Credential (application/json) /// /// Id of user - /// Id of API 3 Credential + /// Id of API Credential /// Requested fields. public async Task> user_credentials_api3( long user_id, @@ -7742,14 +7746,14 @@ public async Task> user_credentials_api3 { "fields", fields }},null,options); } - /// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + /// ### API login information for the specified user. This is for the newer API keys that can be added for any user. /// /// DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string /// /// string Successfully deleted. (application/json) /// /// Id of user - /// Id of API 3 Credential + /// Id of API Credential public async Task> delete_user_credentials_api3( long user_id, long credentials_api3_id, @@ -7758,11 +7762,11 @@ public async Task> delete_user_credentials_api3( return await AuthRequest(HttpMethod.Delete, $"/users/{user_id}/credentials_api3/{credentials_api3_id}", null,null,options); } - /// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + /// ### API login information for the specified user. This is for the newer API keys that can be added for any user. /// /// GET /users/{user_id}/credentials_api3 -> CredentialsApi3[] /// - /// CredentialsApi3[] API 3 Credential (application/json) + /// CredentialsApi3[] API Credential (application/json) /// /// Id of user /// Requested fields. @@ -7775,11 +7779,11 @@ public async Task> all_user_credential { "fields", fields }},null,options); } - /// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + /// ### API login information for the specified user. This is for the newer API keys that can be added for any user. /// /// POST /users/{user_id}/credentials_api3 -> CredentialsApi3 /// - /// CredentialsApi3 API 3 Credential (application/json) + /// CredentialsApi3 API Credential (application/json) /// /// Id of user /// Requested fields. @@ -8269,7 +8273,7 @@ public async Task> all_workspaces( /// /// The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using /// the same user account will see the same files in the dev workspace. To avoid collisions between - /// API clients it's best to have each client login with API3 credentials for a different user account. + /// API clients it's best to have each client login with API credentials for a different user account. /// /// Changes made to files in a dev workspace are persistent across API sessions. It's a good /// idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/csharp/sdk/3.1/models.cs b/csharp/sdk/3.1/models.cs index 968acaf2f..128b67b34 100644 --- a/csharp/sdk/3.1/models.cs +++ b/csharp/sdk/3.1/models.cs @@ -1165,7 +1165,7 @@ public class DBConnection : SdkModel public string? db_timezone { get; set; } = null; /// Timezone to use in queries public string? query_timezone { get; set; } = null; - /// Scheme name + /// Schema name public string? schema { get; set; } = null; /// Maximum number of concurrent connection to use public long? max_connections { get; set; } = null; @@ -1247,7 +1247,7 @@ public class DBConnectionOverride : SdkModel public string? file_type { get; set; } = null; /// Database name public string? database { get; set; } = null; - /// Scheme name + /// Schema name public string? schema { get; set; } = null; /// Additional params to add to JDBC connection string public string? jdbc_additional_params { get; set; } = null; @@ -4108,7 +4108,7 @@ public class ThemeSettings : SdkModel public string? font_family { get; set; } = null; /// Source specification for font public string? font_source { get; set; } = null; - /// Info button color + /// (DEPRECATED) Info button color public string? info_button_color { get; set; } = null; /// Primary button color public string? primary_button_color { get; set; } = null; @@ -4126,7 +4126,7 @@ public class ThemeSettings : SdkModel public string? tile_text_color { get; set; } = null; /// Color for titles public string? title_color { get; set; } = null; - /// Warning button color + /// (DEPRECATED) Warning button color public string? warn_button_color { get; set; } = null; /// The text alignment of tile titles (New Dashboards) public string? tile_title_alignment { get; set; } = null; @@ -4144,6 +4144,10 @@ public class ThemeSettings : SdkModel public bool? show_dashboard_header { get; set; } = null; /// Toggle to center the dashboard title. Defaults to false. public bool? center_dashboard_title { get; set; } = null; + /// Dashboard title font size. + public string? dashboard_title_font_size { get; set; } = null; + /// Default box shadow. + public string? box_shadow { get; set; } = null; } public class Timezone : SdkModel @@ -4180,7 +4184,7 @@ public class User : SdkModel public Url? avatar_url { get; set; } = null; /// URL for the avatar image (may be generic), does not specify size (read-only) public Url? avatar_url_without_sizing { get; set; } = null; - /// API 3 credentials (read-only) + /// API credentials (read-only) public CredentialsApi3[]? credentials_api3 { get; set; } = null; public CredentialsEmail? credentials_email { get; set; } /// Embed credentials (read-only) @@ -4852,7 +4856,7 @@ public class WriteDBConnection : SdkModel public string? db_timezone { get; set; } = null; /// Timezone to use in queries public string? query_timezone { get; set; } = null; - /// Scheme name + /// Schema name public string? schema { get; set; } = null; /// Maximum number of concurrent connection to use public long? max_connections { get; set; } = null; @@ -4911,7 +4915,7 @@ public class WriteDBConnectionOverride : SdkModel public string? file_type { get; set; } = null; /// Database name public string? database { get; set; } = null; - /// Scheme name + /// Schema name public string? schema { get; set; } = null; /// Additional params to add to JDBC connection string public string? jdbc_additional_params { get; set; } = null; diff --git a/csharp/sdk/4.0/methods.cs b/csharp/sdk/4.0/methods.cs index 48909d45c..951276dcb 100644 --- a/csharp/sdk/4.0/methods.cs +++ b/csharp/sdk/4.0/methods.cs @@ -286,8 +286,8 @@ public async Task> read_alert_notific /// ### Present client credentials to obtain an authorization token /// /// Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - /// The client credentials required for this login must be obtained by creating an API3 key on a user account - /// in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + /// The client credentials required for this login must be obtained by creating an API key on a user account + /// in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. /// /// The access token returned by `login` must be used in the HTTP Authorization header of subsequent /// API requests, like this: @@ -310,14 +310,14 @@ public async Task> read_alert_notific /// ### Best Practice: /// Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. /// - /// For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + /// For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). /// /// POST /login -> AccessToken /// /// AccessToken Access token with metadata. (application/json) /// - /// client_id part of API3 Key. - /// client_secret part of API3 Key. + /// client_id part of API Key. + /// client_secret part of API Key. public async Task> login( string? client_id = null, string? client_secret = null, @@ -3246,6 +3246,7 @@ public async Task> search_content( /// Either dashboard or look /// ID of the dashboard or look to render /// Whether or not to refresh the rendered image with the latest content + /// Light or dark background. Default is "light" /// A value of png produces a thumbnail in PNG format instead of SVG (default) /// The width of the image if format is supplied /// The height of the image if format is supplied @@ -3253,6 +3254,7 @@ public async Task> content_thumbnail( string type, string resource_id, string? reload = null, + string? theme = null, string? format = null, long? width = null, long? height = null, @@ -3262,6 +3264,7 @@ public async Task> content_thumbnail( resource_id = SdkUtils.EncodeParam(resource_id); return await AuthRequest(HttpMethod.Get, $"/content_thumbnail/{type}/{resource_id}", new Values { { "reload", reload }, + { "theme", theme }, { "format", format }, { "width", width }, { "height", height }},null,options); @@ -3437,7 +3440,8 @@ public async Task> create_dashboard( /// ### Search Dashboards /// - /// Returns an **array of dashboard objects** that match the specified search criteria. + /// Returns an array of **user-defined dashboard** objects that match the specified search criteria. + /// Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. /// /// If multiple search params are given and `filter_or` is FALSE or not specified, /// search params are combined in a logical AND operation. @@ -9542,14 +9546,14 @@ public async Task> delete_user_credentials_oidc( return await AuthRequest(HttpMethod.Delete, $"/users/{user_id}/credentials_oidc", null,null,options); } - /// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + /// ### API login information for the specified user. This is for the newer API keys that can be added for any user. /// /// GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> CredentialsApi3 /// - /// CredentialsApi3 API 3 Credential (application/json) + /// CredentialsApi3 API Credential (application/json) /// /// Id of user - /// Id of API 3 Credential + /// Id of API Credential /// Requested fields. public async Task> user_credentials_api3( string user_id, @@ -9563,14 +9567,14 @@ public async Task> user_credentials_api3 { "fields", fields }},null,options); } - /// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + /// ### API login information for the specified user. This is for the newer API keys that can be added for any user. /// /// DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string /// /// string Successfully deleted. (application/json) /// /// Id of user - /// Id of API 3 Credential + /// Id of API Credential public async Task> delete_user_credentials_api3( string user_id, string credentials_api3_id, @@ -9581,11 +9585,11 @@ public async Task> delete_user_credentials_api3( return await AuthRequest(HttpMethod.Delete, $"/users/{user_id}/credentials_api3/{credentials_api3_id}", null,null,options); } - /// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + /// ### API login information for the specified user. This is for the newer API keys that can be added for any user. /// /// GET /users/{user_id}/credentials_api3 -> CredentialsApi3[] /// - /// CredentialsApi3[] API 3 Credential (application/json) + /// CredentialsApi3[] API Credential (application/json) /// /// Id of user /// Requested fields. @@ -9599,11 +9603,11 @@ public async Task> all_user_credential { "fields", fields }},null,options); } - /// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + /// ### API login information for the specified user. This is for the newer API keys that can be added for any user. /// /// POST /users/{user_id}/credentials_api3 -> CreateCredentialsApi3 /// - /// CreateCredentialsApi3 API 3 Credential (application/json) + /// CreateCredentialsApi3 API Credential (application/json) /// /// Id of user /// Requested fields. @@ -10179,7 +10183,7 @@ public async Task> all_workspaces( /// /// The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using /// the same user account will see the same files in the dev workspace. To avoid collisions between - /// API clients it's best to have each client login with API3 credentials for a different user account. + /// API clients it's best to have each client login with API credentials for a different user account. /// /// Changes made to files in a dev workspace are persistent across API sessions. It's a good /// idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/csharp/sdk/4.0/models.cs b/csharp/sdk/4.0/models.cs index fc1872c41..e1e79a36b 100644 --- a/csharp/sdk/4.0/models.cs +++ b/csharp/sdk/4.0/models.cs @@ -1626,7 +1626,7 @@ public class DBConnection : SdkModel public string? db_timezone { get; set; } = null; /// Timezone to use in queries public string? query_timezone { get; set; } = null; - /// Scheme name + /// Schema name public string? schema { get; set; } = null; /// Maximum number of concurrent connection to use public long? max_connections { get; set; } = null; @@ -1724,7 +1724,7 @@ public class DBConnectionOverride : SdkModel public string? file_type { get; set; } = null; /// Database name public string? database { get; set; } = null; - /// Scheme name + /// Schema name public string? schema { get; set; } = null; /// Additional params to add to JDBC connection string public string? jdbc_additional_params { get; set; } = null; @@ -5043,7 +5043,7 @@ public class ThemeSettings : SdkModel public string? font_family { get; set; } = null; /// Source specification for font public string? font_source { get; set; } = null; - /// Info button color + /// (DEPRECATED) Info button color public string? info_button_color { get; set; } = null; /// Primary button color public string? primary_button_color { get; set; } = null; @@ -5061,7 +5061,7 @@ public class ThemeSettings : SdkModel public string? tile_text_color { get; set; } = null; /// Color for titles public string? title_color { get; set; } = null; - /// Warning button color + /// (DEPRECATED) Warning button color public string? warn_button_color { get; set; } = null; /// The text alignment of tile titles (New Dashboards) public string? tile_title_alignment { get; set; } = null; @@ -5079,6 +5079,10 @@ public class ThemeSettings : SdkModel public bool? show_dashboard_header { get; set; } = null; /// Toggle to center the dashboard title. Defaults to false. public bool? center_dashboard_title { get; set; } = null; + /// Dashboard title font size. + public string? dashboard_title_font_size { get; set; } = null; + /// Default box shadow. + public string? box_shadow { get; set; } = null; } public class Timezone : SdkModel @@ -5119,7 +5123,7 @@ public class User : SdkModel public string? avatar_url { get; set; } = null; /// URL for the avatar image (may be generic), does not specify size (read-only) public string? avatar_url_without_sizing { get; set; } = null; - /// API 3 credentials (read-only) + /// API credentials (read-only) public CredentialsApi3[]? credentials_api3 { get; set; } = null; public CredentialsEmail? credentials_email { get; set; } /// Embed credentials (read-only) @@ -5892,7 +5896,7 @@ public class WriteDBConnection : SdkModel public string? db_timezone { get; set; } = null; /// Timezone to use in queries public string? query_timezone { get; set; } = null; - /// Scheme name + /// Schema name public string? schema { get; set; } = null; /// Maximum number of concurrent connection to use public long? max_connections { get; set; } = null; @@ -5967,7 +5971,7 @@ public class WriteDBConnectionOverride : SdkModel public string? file_type { get; set; } = null; /// Database name public string? database { get; set; } = null; - /// Scheme name + /// Schema name public string? schema { get; set; } = null; /// Additional params to add to JDBC connection string public string? jdbc_additional_params { get; set; } = null; diff --git a/go/sdk/v4/methods.go b/go/sdk/v4/methods.go index b39604763..290fce6b2 100644 --- a/go/sdk/v4/methods.go +++ b/go/sdk/v4/methods.go @@ -240,8 +240,8 @@ func (l *LookerSDK) ReadAlertNotification( // ### Present client credentials to obtain an authorization token // // Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. -// The client credentials required for this login must be obtained by creating an API3 key on a user account -// in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. +// The client credentials required for this login must be obtained by creating an API key on a user account +// in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. // // The access token returned by `login` must be used in the HTTP Authorization header of subsequent // API requests, like this: @@ -264,7 +264,7 @@ func (l *LookerSDK) ReadAlertNotification( // ### Best Practice: // Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. // -// For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). +// For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). // // POST /login -> AccessToken func (l *LookerSDK) Login(request RequestLogin, @@ -2693,7 +2693,7 @@ func (l *LookerSDK) ContentThumbnail(request RequestContentThumbnail, request.Type = url.PathEscape(request.Type) request.ResourceId = url.PathEscape(request.ResourceId) var result string - err := l.session.Do(&result, "GET", "/4.0", fmt.Sprintf("/content_thumbnail/%v/%v", request.Type, request.ResourceId), map[string]interface{}{"reload": request.Reload, "format": request.Format, "width": request.Width, "height": request.Height}, nil, options) + err := l.session.Do(&result, "GET", "/4.0", fmt.Sprintf("/content_thumbnail/%v/%v", request.Type, request.ResourceId), map[string]interface{}{"reload": request.Reload, "theme": request.Theme, "format": request.Format, "width": request.Width, "height": request.Height}, nil, options) return result, err } @@ -2817,7 +2817,8 @@ func (l *LookerSDK) CreateDashboard( // ### Search Dashboards // -// Returns an **array of dashboard objects** that match the specified search criteria. +// Returns an array of **user-defined dashboard** objects that match the specified search criteria. +// Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. // // If multiple search params are given and `filter_or` is FALSE or not specified, // search params are combined in a logical AND operation. @@ -7238,7 +7239,7 @@ func (l *LookerSDK) DeleteUserCredentialsOidc( } -// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. +// ### API login information for the specified user. This is for the newer API keys that can be added for any user. // // GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> CredentialsApi3 func (l *LookerSDK) UserCredentialsApi3( @@ -7254,7 +7255,7 @@ func (l *LookerSDK) UserCredentialsApi3( } -// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. +// ### API login information for the specified user. This is for the newer API keys that can be added for any user. // // DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string func (l *LookerSDK) DeleteUserCredentialsApi3( @@ -7269,7 +7270,7 @@ func (l *LookerSDK) DeleteUserCredentialsApi3( } -// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. +// ### API login information for the specified user. This is for the newer API keys that can be added for any user. // // GET /users/{user_id}/credentials_api3 -> []CredentialsApi3 func (l *LookerSDK) AllUserCredentialsApi3s( @@ -7283,7 +7284,7 @@ func (l *LookerSDK) AllUserCredentialsApi3s( } -// ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. +// ### API login information for the specified user. This is for the newer API keys that can be added for any user. // // POST /users/{user_id}/credentials_api3 -> CreateCredentialsApi3 func (l *LookerSDK) CreateUserCredentialsApi3( @@ -7750,7 +7751,7 @@ func (l *LookerSDK) AllWorkspaces( // // The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using // the same user account will see the same files in the dev workspace. To avoid collisions between -// API clients it's best to have each client login with API3 credentials for a different user account. +// API clients it's best to have each client login with API credentials for a different user account. // // Changes made to files in a dev workspace are persistent across API sessions. It's a good // idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/go/sdk/v4/models.go b/go/sdk/v4/models.go index 11c8510b2..178c4905e 100644 --- a/go/sdk/v4/models.go +++ b/go/sdk/v4/models.go @@ -927,7 +927,7 @@ type DBConnection struct { Database *string `json:"database,omitempty"` // Database name DbTimezone *string `json:"db_timezone,omitempty"` // Time zone of database QueryTimezone *string `json:"query_timezone,omitempty"` // Timezone to use in queries - Schema *string `json:"schema,omitempty"` // Scheme name + Schema *string `json:"schema,omitempty"` // Schema name MaxConnections *int64 `json:"max_connections,omitempty"` // Maximum number of concurrent connection to use MaxBillingGigabytes *string `json:"max_billing_gigabytes,omitempty"` // Maximum size of query in GBs (BigQuery only, can be a user_attribute name) Ssl *bool `json:"ssl,omitempty"` // Use SSL/TLS when connecting to server @@ -979,7 +979,7 @@ type DBConnectionOverride struct { Certificate *string `json:"certificate,omitempty"` // (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect). FileType *string `json:"file_type,omitempty"` // (Write-Only) Certificate keyfile type - .json or .p12 Database *string `json:"database,omitempty"` // Database name - Schema *string `json:"schema,omitempty"` // Scheme name + Schema *string `json:"schema,omitempty"` // Schema name JdbcAdditionalParams *string `json:"jdbc_additional_params,omitempty"` // Additional params to add to JDBC connection string AfterConnectStatements *string `json:"after_connect_statements,omitempty"` // SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature } @@ -2493,6 +2493,7 @@ type RequestContentThumbnail struct { Type string `json:"type"` // Either dashboard or look ResourceId string `json:"resource_id"` // ID of the dashboard or look to render Reload *string `json:"reload,omitempty"` // Whether or not to refresh the rendered image with the latest content + Theme *string `json:"theme,omitempty"` // Light or dark background. Default is "light" Format *string `json:"format,omitempty"` // A value of png produces a thumbnail in PNG format instead of SVG (default) Width *int64 `json:"width,omitempty"` // The width of the image if format is supplied Height *int64 `json:"height,omitempty"` // The height of the image if format is supplied @@ -2585,8 +2586,8 @@ type RequestGraphDerivedTablesForView struct { // Dynamically generated request type for login type RequestLogin struct { - ClientId *string `json:"client_id,omitempty"` // client_id part of API3 Key. - ClientSecret *string `json:"client_secret,omitempty"` // client_secret part of API3 Key. + ClientId *string `json:"client_id,omitempty"` // client_id part of API Key. + ClientSecret *string `json:"client_secret,omitempty"` // client_secret part of API Key. } // Dynamically generated request type for model_fieldname_suggestions @@ -3534,7 +3535,7 @@ type ThemeSettings struct { FontColor *string `json:"font_color,omitempty"` // Default font color FontFamily *string `json:"font_family,omitempty"` // Primary font family FontSource *string `json:"font_source,omitempty"` // Source specification for font - InfoButtonColor *string `json:"info_button_color,omitempty"` // Info button color + InfoButtonColor *string `json:"info_button_color,omitempty"` // (DEPRECATED) Info button color PrimaryButtonColor *string `json:"primary_button_color,omitempty"` // Primary button color ShowFiltersBar *bool `json:"show_filters_bar,omitempty"` // Toggle to show filters. Defaults to true. ShowTitle *bool `json:"show_title,omitempty"` // Toggle to show the title. Defaults to true. @@ -3543,7 +3544,7 @@ type ThemeSettings struct { TextTileBackgroundColor *string `json:"text_tile_background_color,omitempty"` // Background color for text tiles TileTextColor *string `json:"tile_text_color,omitempty"` // Text color for tiles TitleColor *string `json:"title_color,omitempty"` // Color for titles - WarnButtonColor *string `json:"warn_button_color,omitempty"` // Warning button color + WarnButtonColor *string `json:"warn_button_color,omitempty"` // (DEPRECATED) Warning button color TileTitleAlignment *string `json:"tile_title_alignment,omitempty"` // The text alignment of tile titles (New Dashboards) TileShadow *bool `json:"tile_shadow,omitempty"` // Toggles the tile shadow (not supported) ShowLastUpdatedIndicator *bool `json:"show_last_updated_indicator,omitempty"` // Toggle to show the dashboard last updated indicator. Defaults to true. @@ -3552,6 +3553,8 @@ type ThemeSettings struct { ShowFiltersToggle *bool `json:"show_filters_toggle,omitempty"` // Toggle to show the filters icon/toggle. Defaults to true. ShowDashboardHeader *bool `json:"show_dashboard_header,omitempty"` // Toggle to show the dashboard header. Defaults to true. CenterDashboardTitle *bool `json:"center_dashboard_title,omitempty"` // Toggle to center the dashboard title. Defaults to false. + DashboardTitleFontSize *string `json:"dashboard_title_font_size,omitempty"` // Dashboard title font size. + BoxShadow *string `json:"box_shadow,omitempty"` // Default box shadow. } type Timezone struct { @@ -3576,7 +3579,7 @@ type User struct { Can *map[string]bool `json:"can,omitempty"` // Operations the current user is able to perform on this object AvatarUrl *string `json:"avatar_url,omitempty"` // URL for the avatar image (may be generic) AvatarUrlWithoutSizing *string `json:"avatar_url_without_sizing,omitempty"` // URL for the avatar image (may be generic), does not specify size - CredentialsApi3 *[]CredentialsApi3 `json:"credentials_api3,omitempty"` // API 3 credentials + CredentialsApi3 *[]CredentialsApi3 `json:"credentials_api3,omitempty"` // API credentials CredentialsEmail *CredentialsEmail `json:"credentials_email,omitempty"` CredentialsEmbed *[]CredentialsEmbed `json:"credentials_embed,omitempty"` // Embed credentials CredentialsGoogle *CredentialsGoogle `json:"credentials_google,omitempty"` @@ -4017,7 +4020,7 @@ type WriteDBConnection struct { Database *string `json:"database,omitempty"` // Database name DbTimezone *string `json:"db_timezone,omitempty"` // Time zone of database QueryTimezone *string `json:"query_timezone,omitempty"` // Timezone to use in queries - Schema *string `json:"schema,omitempty"` // Scheme name + Schema *string `json:"schema,omitempty"` // Schema name MaxConnections *int64 `json:"max_connections,omitempty"` // Maximum number of concurrent connection to use MaxBillingGigabytes *string `json:"max_billing_gigabytes,omitempty"` // Maximum size of query in GBs (BigQuery only, can be a user_attribute name) Ssl *bool `json:"ssl,omitempty"` // Use SSL/TLS when connecting to server @@ -4056,7 +4059,7 @@ type WriteDBConnectionOverride struct { Certificate *string `json:"certificate,omitempty"` // (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect). FileType *string `json:"file_type,omitempty"` // (Write-Only) Certificate keyfile type - .json or .p12 Database *string `json:"database,omitempty"` // Database name - Schema *string `json:"schema,omitempty"` // Scheme name + Schema *string `json:"schema,omitempty"` // Schema name JdbcAdditionalParams *string `json:"jdbc_additional_params,omitempty"` // Additional params to add to JDBC connection string AfterConnectStatements *string `json:"after_connect_statements,omitempty"` // SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature } diff --git a/kotlin/src/main/com/looker/sdk/4.0/methods.kt b/kotlin/src/main/com/looker/sdk/4.0/methods.kt index ecdbca820..7e701339e 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/methods.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/methods.kt @@ -291,8 +291,8 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -315,10 +315,10 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * - * @param {String} client_id client_id part of API3 Key. - * @param {String} client_secret client_secret part of API3 Key. + * @param {String} client_id client_id part of API Key. + * @param {String} client_secret client_secret part of API Key. * * POST /login -> AccessToken */ @@ -3294,6 +3294,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * @param {String} type Either dashboard or look * @param {String} resource_id ID of the dashboard or look to render * @param {String} reload Whether or not to refresh the rendered image with the latest content + * @param {String} theme Light or dark background. Default is "light" * @param {String} format A value of png produces a thumbnail in PNG format instead of SVG (default) * @param {Long} width The width of the image if format is supplied * @param {Long} height The height of the image if format is supplied @@ -3306,6 +3307,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { type: String, resource_id: String, reload: String? = null, + theme: String? = null, format: String? = null, width: Long? = null, height: Long? = null @@ -3314,6 +3316,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { val path_resource_id = encodeParam(resource_id) return this.get("/content_thumbnail/${path_type}/${path_resource_id}", mapOf("reload" to reload, + "theme" to theme, "format" to format, "width" to width, "height" to height)) @@ -3492,7 +3495,8 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -9603,10 +9607,10 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * @param {String} user_id Id of user - * @param {String} credentials_api3_id Id of API 3 Credential + * @param {String} credentials_api3_id Id of API Credential * @param {String} fields Requested fields. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> CredentialsApi3 @@ -9624,10 +9628,10 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * @param {String} user_id Id of user - * @param {String} credentials_api3_id Id of API 3 Credential + * @param {String} credentials_api3_id Id of API Credential * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> String */ @@ -9642,7 +9646,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * @param {String} user_id Id of user * @param {String} fields Requested fields. @@ -9660,7 +9664,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * @param {String} user_id Id of user * @param {String} fields Requested fields. @@ -10247,7 +10251,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files 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 9874163d9..41f18d7a2 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/models.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/models.kt @@ -1707,7 +1707,7 @@ data class Datagroup ( * @property database Database name * @property db_timezone Time zone of database * @property query_timezone Timezone to use in queries - * @property schema Scheme name + * @property schema Schema name * @property max_connections Maximum number of concurrent connection to use * @property max_billing_gigabytes Maximum size of query in GBs (BigQuery only, can be a user_attribute name) * @property ssl Use SSL/TLS when connecting to server @@ -1815,7 +1815,7 @@ data class DBConnectionBase ( * @property certificate (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect). * @property file_type (Write-Only) Certificate keyfile type - .json or .p12 * @property database Database name - * @property schema Scheme name + * @property schema Schema name * @property jdbc_additional_params Additional params to add to JDBC connection string * @property after_connect_statements SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature */ @@ -5259,7 +5259,7 @@ data class Theme ( * @property font_color Default font color * @property font_family Primary font family * @property font_source Source specification for font - * @property info_button_color Info button color + * @property info_button_color (DEPRECATED) Info button color * @property primary_button_color Primary button color * @property show_filters_bar Toggle to show filters. Defaults to true. * @property show_title Toggle to show the title. Defaults to true. @@ -5268,7 +5268,7 @@ data class Theme ( * @property text_tile_background_color Background color for text tiles * @property tile_text_color Text color for tiles * @property title_color Color for titles - * @property warn_button_color Warning button color + * @property warn_button_color (DEPRECATED) Warning button color * @property tile_title_alignment The text alignment of tile titles (New Dashboards) * @property tile_shadow Toggles the tile shadow (not supported) * @property show_last_updated_indicator Toggle to show the dashboard last updated indicator. Defaults to true. @@ -5277,6 +5277,8 @@ data class Theme ( * @property show_filters_toggle Toggle to show the filters icon/toggle. Defaults to true. * @property show_dashboard_header Toggle to show the dashboard header. Defaults to true. * @property center_dashboard_title Toggle to center the dashboard title. Defaults to false. + * @property dashboard_title_font_size Dashboard title font size. + * @property box_shadow Default box shadow. */ data class ThemeSettings ( var background_color: String? = null, @@ -5302,7 +5304,9 @@ data class ThemeSettings ( var show_dashboard_menu: Boolean? = null, var show_filters_toggle: Boolean? = null, var show_dashboard_header: Boolean? = null, - var center_dashboard_title: Boolean? = null + var center_dashboard_title: Boolean? = null, + var dashboard_title_font_size: String? = null, + var box_shadow: String? = null ) : Serializable /** @@ -5342,7 +5346,7 @@ data class UpdateFolder ( * @property can Operations the current user is able to perform on this object (read-only) * @property avatar_url URL for the avatar image (may be generic) (read-only) * @property avatar_url_without_sizing URL for the avatar image (may be generic), does not specify size (read-only) - * @property credentials_api3 API 3 credentials (read-only) + * @property credentials_api3 API credentials (read-only) * @property credentials_email * @property credentials_embed Embed credentials (read-only) * @property credentials_google @@ -6141,7 +6145,7 @@ data class WriteDatagroup ( * @property database Database name * @property db_timezone Time zone of database * @property query_timezone Timezone to use in queries - * @property schema Scheme name + * @property schema Schema name * @property max_connections Maximum number of concurrent connection to use * @property max_billing_gigabytes Maximum size of query in GBs (BigQuery only, can be a user_attribute name) * @property ssl Use SSL/TLS when connecting to server @@ -6218,7 +6222,7 @@ data class WriteDBConnection ( * @property certificate (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect). * @property file_type (Write-Only) Certificate keyfile type - .json or .p12 * @property database Database name - * @property schema Scheme name + * @property schema Schema name * @property jdbc_additional_params Additional params to add to JDBC connection string * @property after_connect_statements SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature */ diff --git a/kotlin/src/main/com/looker/sdk/4.0/streams.kt b/kotlin/src/main/com/looker/sdk/4.0/streams.kt index 7eea5b442..aeb7cb1aa 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/streams.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/streams.kt @@ -290,8 +290,8 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -314,10 +314,10 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * - * @param {String} client_id client_id part of API3 Key. - * @param {String} client_secret client_secret part of API3 Key. + * @param {String} client_id client_id part of API Key. + * @param {String} client_secret client_secret part of API Key. * * POST /login -> ByteArray */ @@ -3293,6 +3293,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * @param {String} type Either dashboard or look * @param {String} resource_id ID of the dashboard or look to render * @param {String} reload Whether or not to refresh the rendered image with the latest content + * @param {String} theme Light or dark background. Default is "light" * @param {String} format A value of png produces a thumbnail in PNG format instead of SVG (default) * @param {Long} width The width of the image if format is supplied * @param {Long} height The height of the image if format is supplied @@ -3305,6 +3306,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { type: String, resource_id: String, reload: String? = null, + theme: String? = null, format: String? = null, width: Long? = null, height: Long? = null @@ -3313,6 +3315,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { val path_resource_id = encodeParam(resource_id) return this.get("/content_thumbnail/${path_type}/${path_resource_id}", mapOf("reload" to reload, + "theme" to theme, "format" to format, "width" to width, "height" to height)) @@ -3491,7 +3494,8 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -9602,10 +9606,10 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * @param {String} user_id Id of user - * @param {String} credentials_api3_id Id of API 3 Credential + * @param {String} credentials_api3_id Id of API Credential * @param {String} fields Requested fields. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ByteArray @@ -9623,10 +9627,10 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * @param {String} user_id Id of user - * @param {String} credentials_api3_id Id of API 3 Credential + * @param {String} credentials_api3_id Id of API Credential * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> ByteArray */ @@ -9641,7 +9645,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * @param {String} user_id Id of user * @param {String} fields Requested fields. @@ -9659,7 +9663,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * @param {String} user_id Id of user * @param {String} fields Requested fields. @@ -10246,7 +10250,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/kotlin/src/main/com/looker/sdk/Constants.kt b/kotlin/src/main/com/looker/sdk/Constants.kt index 27f0cc3ed..de9d9e0ce 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 = "23.4" +const val LOOKER_VERSION = "23.6" 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/3.1/funcs.ts b/packages/sdk/src/3.1/funcs.ts index 76e71aa62..47673d9ec 100644 --- a/packages/sdk/src/3.1/funcs.ts +++ b/packages/sdk/src/3.1/funcs.ts @@ -269,8 +269,8 @@ export const functionalSdk31 = (authSession: IAuthSession) => { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -293,7 +293,7 @@ export const functionalSdk31 = (authSession: IAuthSession) => { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> IAccessToken * @@ -2475,13 +2475,14 @@ export const content_thumbnail = async ( sdk: IAPIMethods, request: IRequestContentThumbnail, options?: Partial -): Promise> => { +): Promise> => { request.type = encodeParam(request.type) request.resource_id = encodeParam(request.resource_id) - return sdk.get( + return sdk.get( `/content_thumbnail/${request.type}/${request.resource_id}`, { reload: request.reload, + theme: request.theme, format: request.format, width: request.width, height: request.height, @@ -2683,7 +2684,8 @@ export const create_dashboard = async ( /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -10112,13 +10114,13 @@ export const delete_user_credentials_oidc = async ( } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3 * * @param sdk IAPIMethods implementation * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param fields Requested fields. * @param options one-time API call overrides * @@ -10139,13 +10141,13 @@ export const user_credentials_api3 = async ( } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string * * @param sdk IAPIMethods implementation * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param options one-time API call overrides * */ @@ -10164,7 +10166,7 @@ export const delete_user_credentials_api3 = async ( } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[] * @@ -10189,7 +10191,7 @@ export const all_user_credentials_api3s = async ( } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> ICredentialsApi3 * @@ -10862,7 +10864,7 @@ export const all_workspaces = async ( * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/packages/sdk/src/3.1/methods.ts b/packages/sdk/src/3.1/methods.ts index f5a0d6628..081049fcd 100644 --- a/packages/sdk/src/3.1/methods.ts +++ b/packages/sdk/src/3.1/methods.ts @@ -270,8 +270,8 @@ export class Looker31SDK extends APIMethods implements ILooker31SDK { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -294,7 +294,7 @@ export class Looker31SDK extends APIMethods implements ILooker31SDK { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> IAccessToken * @@ -2313,13 +2313,14 @@ export class Looker31SDK extends APIMethods implements ILooker31SDK { async content_thumbnail( request: IRequestContentThumbnail, options?: Partial - ): Promise> { + ): Promise> { request.type = encodeParam(request.type) request.resource_id = encodeParam(request.resource_id) - return this.get( + return this.get( `/content_thumbnail/${request.type}/${request.resource_id}`, { reload: request.reload, + theme: request.theme, format: request.format, width: request.width, height: request.height, @@ -2511,7 +2512,8 @@ export class Looker31SDK extends APIMethods implements ILooker31SDK { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -9497,12 +9499,12 @@ export class Looker31SDK extends APIMethods implements ILooker31SDK { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3 * * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param fields Requested fields. * @param options one-time API call overrides * @@ -9522,12 +9524,12 @@ export class Looker31SDK extends APIMethods implements ILooker31SDK { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string * * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param options one-time API call overrides * */ @@ -9545,7 +9547,7 @@ export class Looker31SDK extends APIMethods implements ILooker31SDK { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[] * @@ -9568,7 +9570,7 @@ export class Looker31SDK extends APIMethods implements ILooker31SDK { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> ICredentialsApi3 * @@ -10195,7 +10197,7 @@ export class Looker31SDK extends APIMethods implements ILooker31SDK { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/packages/sdk/src/3.1/methodsInterface.ts b/packages/sdk/src/3.1/methodsInterface.ts index 73974df9c..d11726c1b 100644 --- a/packages/sdk/src/3.1/methodsInterface.ts +++ b/packages/sdk/src/3.1/methodsInterface.ts @@ -257,8 +257,8 @@ export interface ILooker31SDK extends IAPIMethods { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -281,7 +281,7 @@ export interface ILooker31SDK extends IAPIMethods { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> IAccessToken * @@ -1724,7 +1724,7 @@ export interface ILooker31SDK extends IAPIMethods { content_thumbnail( request: IRequestContentThumbnail, options?: Partial - ): Promise> + ): Promise> /** * ### Validate All Content @@ -1857,7 +1857,8 @@ export interface ILooker31SDK extends IAPIMethods { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -6822,12 +6823,12 @@ export interface ILooker31SDK extends IAPIMethods { ): Promise> /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3 * * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param fields Requested fields. * @param options one-time API call overrides * @@ -6840,12 +6841,12 @@ export interface ILooker31SDK extends IAPIMethods { ): Promise> /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string * * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param options one-time API call overrides * */ @@ -6856,7 +6857,7 @@ export interface ILooker31SDK extends IAPIMethods { ): Promise> /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[] * @@ -6872,7 +6873,7 @@ export interface ILooker31SDK extends IAPIMethods { ): Promise> /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> ICredentialsApi3 * @@ -7333,7 +7334,7 @@ export interface ILooker31SDK extends IAPIMethods { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/packages/sdk/src/3.1/models.ts b/packages/sdk/src/3.1/models.ts index 6f82c3b83..f753ae399 100644 --- a/packages/sdk/src/3.1/models.ts +++ b/packages/sdk/src/3.1/models.ts @@ -1948,7 +1948,7 @@ export interface IDBConnection { */ query_timezone?: string | null /** - * Scheme name + * Schema name */ schema?: string | null /** @@ -2100,7 +2100,7 @@ export interface IDBConnectionOverride { */ database?: string | null /** - * Scheme name + * Schema name */ schema?: string | null /** @@ -6058,6 +6058,10 @@ export interface IRequestContentThumbnail { * Whether or not to refresh the rendered image with the latest content */ reload?: string | null + /** + * Light or dark background. Default is "light" + */ + theme?: string | null /** * A value of png produces a thumbnail in PNG format instead of SVG (default) */ @@ -6353,11 +6357,11 @@ export interface IRequestGraphDerivedTablesForView { */ export interface IRequestLogin { /** - * client_id part of API3 Key. + * client_id part of API Key. */ client_id?: string | null /** - * client_secret part of API3 Key. + * client_secret part of API Key. */ client_secret?: string | null } @@ -8745,7 +8749,7 @@ export interface IThemeSettings { */ font_source?: string | null /** - * Info button color + * (DEPRECATED) Info button color */ info_button_color?: string /** @@ -8781,7 +8785,7 @@ export interface IThemeSettings { */ title_color?: string /** - * Warning button color + * (DEPRECATED) Warning button color */ warn_button_color?: string /** @@ -8816,6 +8820,14 @@ export interface IThemeSettings { * Toggle to center the dashboard title. Defaults to false. */ center_dashboard_title?: boolean + /** + * Dashboard title font size. + */ + dashboard_title_font_size?: string + /** + * Default box shadow. + */ + box_shadow?: string } export interface ITimezone { @@ -8869,7 +8881,7 @@ export interface IUser { */ avatar_url_without_sizing?: Url | null /** - * API 3 credentials (read-only) + * API credentials (read-only) */ credentials_api3?: ICredentialsApi3[] | null credentials_email?: ICredentialsEmail @@ -9968,7 +9980,7 @@ export interface IWriteDBConnection { */ query_timezone?: string | null /** - * Scheme name + * Schema name */ schema?: string | null /** @@ -10076,7 +10088,7 @@ export interface IWriteDBConnectionOverride { */ database?: string | null /** - * Scheme name + * Schema name */ schema?: string | null /** diff --git a/packages/sdk/src/3.1/streams.ts b/packages/sdk/src/3.1/streams.ts index 47a9f0b89..08261caf3 100644 --- a/packages/sdk/src/3.1/streams.ts +++ b/packages/sdk/src/3.1/streams.ts @@ -269,8 +269,8 @@ export class Looker31SDKStream extends APIMethods { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -293,7 +293,7 @@ export class Looker31SDKStream extends APIMethods { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> IAccessToken * @@ -2682,6 +2682,7 @@ export class Looker31SDKStream extends APIMethods { `/content_thumbnail/${request.type}/${request.resource_id}`, { reload: request.reload, + theme: request.theme, format: request.format, width: request.width, height: request.height, @@ -2893,7 +2894,8 @@ export class Looker31SDKStream extends APIMethods { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -10907,13 +10909,13 @@ export class Looker31SDKStream extends APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3 * * @param callback streaming output function * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param fields Requested fields. * @param options one-time API call overrides * @@ -10936,13 +10938,13 @@ export class Looker31SDKStream extends APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string * * @param callback streaming output function * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param options one-time API call overrides * */ @@ -10963,7 +10965,7 @@ export class Looker31SDKStream extends APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[] * @@ -10990,7 +10992,7 @@ export class Looker31SDKStream extends APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> ICredentialsApi3 * @@ -11712,7 +11714,7 @@ export class Looker31SDKStream extends APIMethods { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/packages/sdk/src/4.0/funcs.ts b/packages/sdk/src/4.0/funcs.ts index 1170ec5e8..c49b8302d 100644 --- a/packages/sdk/src/4.0/funcs.ts +++ b/packages/sdk/src/4.0/funcs.ts @@ -646,8 +646,8 @@ export const read_alert_notification = async ( * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -670,7 +670,7 @@ export const read_alert_notification = async ( * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> IAccessToken * @@ -4806,13 +4806,14 @@ export const content_thumbnail = async ( sdk: IAPIMethods, request: IRequestContentThumbnail, options?: Partial -): Promise> => { +): Promise> => { request.type = encodeParam(request.type) request.resource_id = encodeParam(request.resource_id) - return sdk.get( + return sdk.get( `/content_thumbnail/${request.type}/${request.resource_id}`, { reload: request.reload, + theme: request.theme, format: request.format, width: request.width, height: request.height, @@ -5014,7 +5015,8 @@ export const create_dashboard = async ( /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -12422,13 +12424,13 @@ export const delete_user_credentials_oidc = async ( } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3 * * @param sdk IAPIMethods implementation * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param fields Requested fields. * @param options one-time API call overrides * @@ -12451,13 +12453,13 @@ export const user_credentials_api3 = async ( } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string * * @param sdk IAPIMethods implementation * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param options one-time API call overrides * */ @@ -12478,7 +12480,7 @@ export const delete_user_credentials_api3 = async ( } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[] * @@ -12504,7 +12506,7 @@ export const all_user_credentials_api3s = async ( } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> ICreateCredentialsApi3 * @@ -13284,7 +13286,7 @@ export const all_workspaces = async ( * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/packages/sdk/src/4.0/methods.ts b/packages/sdk/src/4.0/methods.ts index 3b8cf563f..8ad0a3f48 100644 --- a/packages/sdk/src/4.0/methods.ts +++ b/packages/sdk/src/4.0/methods.ts @@ -625,8 +625,8 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -649,7 +649,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> IAccessToken * @@ -4504,13 +4504,14 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { async content_thumbnail( request: IRequestContentThumbnail, options?: Partial - ): Promise> { + ): Promise> { request.type = encodeParam(request.type) request.resource_id = encodeParam(request.resource_id) - return this.get( + return this.get( `/content_thumbnail/${request.type}/${request.resource_id}`, { reload: request.reload, + theme: request.theme, format: request.format, width: request.width, height: request.height, @@ -4702,7 +4703,8 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -11678,12 +11680,12 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3 * * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param fields Requested fields. * @param options one-time API call overrides * @@ -11705,12 +11707,12 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string * * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param options one-time API call overrides * */ @@ -11730,7 +11732,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[] * @@ -11754,7 +11756,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> ICreateCredentialsApi3 * @@ -12487,7 +12489,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/packages/sdk/src/4.0/methodsInterface.ts b/packages/sdk/src/4.0/methodsInterface.ts index 15561a161..ab17734c3 100644 --- a/packages/sdk/src/4.0/methodsInterface.ts +++ b/packages/sdk/src/4.0/methodsInterface.ts @@ -526,8 +526,8 @@ export interface ILooker40SDK extends IAPIMethods { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -550,7 +550,7 @@ export interface ILooker40SDK extends IAPIMethods { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> IAccessToken * @@ -3271,7 +3271,7 @@ export interface ILooker40SDK extends IAPIMethods { content_thumbnail( request: IRequestContentThumbnail, options?: Partial - ): Promise> + ): Promise> /** * ### Validate All Content @@ -3404,7 +3404,8 @@ export interface ILooker40SDK extends IAPIMethods { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -8302,12 +8303,12 @@ export interface ILooker40SDK extends IAPIMethods { ): Promise> /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3 * * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param fields Requested fields. * @param options one-time API call overrides * @@ -8320,12 +8321,12 @@ export interface ILooker40SDK extends IAPIMethods { ): Promise> /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string * * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param options one-time API call overrides * */ @@ -8336,7 +8337,7 @@ export interface ILooker40SDK extends IAPIMethods { ): Promise> /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[] * @@ -8352,7 +8353,7 @@ export interface ILooker40SDK extends IAPIMethods { ): Promise> /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> ICreateCredentialsApi3 * @@ -8870,7 +8871,7 @@ export interface ILooker40SDK extends IAPIMethods { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/packages/sdk/src/4.0/models.ts b/packages/sdk/src/4.0/models.ts index 95c77fd68..9b945190f 100644 --- a/packages/sdk/src/4.0/models.ts +++ b/packages/sdk/src/4.0/models.ts @@ -2721,7 +2721,7 @@ export interface IDBConnection { */ query_timezone?: string | null /** - * Scheme name + * Schema name */ schema?: string | null /** @@ -2905,7 +2905,7 @@ export interface IDBConnectionOverride { */ database?: string | null /** - * Scheme name + * Schema name */ schema?: string | null /** @@ -7564,6 +7564,10 @@ export interface IRequestContentThumbnail { * Whether or not to refresh the rendered image with the latest content */ reload?: string | null + /** + * Light or dark background. Default is "light" + */ + theme?: string | null /** * A value of png produces a thumbnail in PNG format instead of SVG (default) */ @@ -7833,11 +7837,11 @@ export interface IRequestGraphDerivedTablesForView { */ export interface IRequestLogin { /** - * client_id part of API3 Key. + * client_id part of API Key. */ client_id?: string | null /** - * client_secret part of API3 Key. + * client_secret part of API Key. */ client_secret?: string | null } @@ -10729,7 +10733,7 @@ export interface IThemeSettings { */ font_source?: string | null /** - * Info button color + * (DEPRECATED) Info button color */ info_button_color?: string /** @@ -10765,7 +10769,7 @@ export interface IThemeSettings { */ title_color?: string /** - * Warning button color + * (DEPRECATED) Warning button color */ warn_button_color?: string /** @@ -10800,6 +10804,14 @@ export interface IThemeSettings { * Toggle to center the dashboard title. Defaults to false. */ center_dashboard_title?: boolean + /** + * Dashboard title font size. + */ + dashboard_title_font_size?: string + /** + * Default box shadow. + */ + box_shadow?: string } export interface ITimezone { @@ -10861,7 +10873,7 @@ export interface IUser { */ avatar_url_without_sizing?: string | null /** - * API 3 credentials (read-only) + * API credentials (read-only) */ credentials_api3?: ICredentialsApi3[] | null credentials_email?: ICredentialsEmail @@ -12141,7 +12153,7 @@ export interface IWriteDBConnection { */ query_timezone?: string | null /** - * Scheme name + * Schema name */ schema?: string | null /** @@ -12281,7 +12293,7 @@ export interface IWriteDBConnectionOverride { */ database?: string | null /** - * Scheme name + * Schema name */ schema?: string | null /** diff --git a/packages/sdk/src/4.0/streams.ts b/packages/sdk/src/4.0/streams.ts index bd794c45a..e6de5392a 100644 --- a/packages/sdk/src/4.0/streams.ts +++ b/packages/sdk/src/4.0/streams.ts @@ -678,8 +678,8 @@ export class Looker40SDKStream extends APIMethods { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -702,7 +702,7 @@ export class Looker40SDKStream extends APIMethods { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> IAccessToken * @@ -5197,6 +5197,7 @@ export class Looker40SDKStream extends APIMethods { `/content_thumbnail/${request.type}/${request.resource_id}`, { reload: request.reload, + theme: request.theme, format: request.format, width: request.width, height: request.height, @@ -5408,7 +5409,8 @@ export class Looker40SDKStream extends APIMethods { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -13375,13 +13377,13 @@ export class Looker40SDKStream extends APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3 * * @param callback streaming output function * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param fields Requested fields. * @param options one-time API call overrides * @@ -13406,13 +13408,13 @@ export class Looker40SDKStream extends APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string * * @param callback streaming output function * @param user_id Id of user - * @param credentials_api3_id Id of API 3 Credential + * @param credentials_api3_id Id of API Credential * @param options one-time API call overrides * */ @@ -13435,7 +13437,7 @@ export class Looker40SDKStream extends APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[] * @@ -13463,7 +13465,7 @@ export class Looker40SDKStream extends APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> ICreateCredentialsApi3 * @@ -14303,7 +14305,7 @@ export class Looker40SDKStream extends APIMethods { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/packages/sdk/src/constants.ts b/packages/sdk/src/constants.ts index 4c6837fc2..34954158a 100644 --- a/packages/sdk/src/constants.ts +++ b/packages/sdk/src/constants.ts @@ -24,5 +24,5 @@ */ -export const sdkVersion = '23.4' +export const sdkVersion = '23.6' export const environmentPrefix = 'LOOKERSDK' diff --git a/python/looker_sdk/sdk/api31/methods.py b/python/looker_sdk/sdk/api31/methods.py index 53e9dc0f7..523feaf5b 100644 --- a/python/looker_sdk/sdk/api31/methods.py +++ b/python/looker_sdk/sdk/api31/methods.py @@ -40,8 +40,8 @@ class Looker31SDK(api_methods.APIMethods): # ### Present client credentials to obtain an authorization token # # Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - # The client credentials required for this login must be obtained by creating an API3 key on a user account - # in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + # The client credentials required for this login must be obtained by creating an API key on a user account + # in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. # # The access token returned by `login` must be used in the HTTP Authorization header of subsequent # API requests, like this: @@ -64,14 +64,14 @@ class Looker31SDK(api_methods.APIMethods): # ### Best Practice: # Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. # - # For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + # For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). # # POST /login -> mdls.AccessToken def login( self, - # client_id part of API3 Key. + # client_id part of API Key. client_id: Optional[str] = None, - # client_secret part of API3 Key. + # client_secret part of API Key. client_secret: Optional[str] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> mdls.AccessToken: @@ -2066,6 +2066,8 @@ def content_thumbnail( resource_id: str, # Whether or not to refresh the rendered image with the latest content reload: Optional[str] = None, + # Light or dark background. Default is "light" + theme: Optional[str] = None, # A value of png produces a thumbnail in PNG format instead of SVG (default) format: Optional[str] = None, # The width of the image if format is supplied @@ -2082,7 +2084,7 @@ def content_thumbnail( self.get( path=f"/content_thumbnail/{type}/{resource_id}", structure=Union[str, bytes], # type: ignore - query_params={"reload": reload, "format": format, "width": width, "height": height}, + query_params={"reload": reload, "theme": theme, "format": format, "width": width, "height": height}, transport_options=transport_options ) ) @@ -2276,7 +2278,8 @@ def create_dashboard( # ### Search Dashboards # - # Returns an **array of dashboard objects** that match the specified search criteria. + # Returns an array of **user-defined dashboard** objects that match the specified search criteria. + # Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. # # If multiple search params are given and `filter_or` is FALSE or not specified, # search params are combined in a logical AND operation. @@ -9417,20 +9420,20 @@ def delete_user_credentials_oidc( ) return response - # ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + # ### API login information for the specified user. This is for the newer API keys that can be added for any user. # # GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> mdls.CredentialsApi3 def user_credentials_api3( self, # Id of user user_id: int, - # Id of API 3 Credential + # Id of API Credential credentials_api3_id: int, # Requested fields. fields: Optional[str] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> mdls.CredentialsApi3: - """Get API 3 Credential""" + """Get API Credential""" response = cast( mdls.CredentialsApi3, self.get( @@ -9442,18 +9445,18 @@ def user_credentials_api3( ) return response - # ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + # ### API login information for the specified user. This is for the newer API keys that can be added for any user. # # DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> str def delete_user_credentials_api3( self, # Id of user user_id: int, - # Id of API 3 Credential + # Id of API Credential credentials_api3_id: int, transport_options: Optional[transport.TransportOptions] = None, ) -> str: - """Delete API 3 Credential""" + """Delete API Credential""" response = cast( str, self.delete( @@ -9464,7 +9467,7 @@ def delete_user_credentials_api3( ) return response - # ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + # ### API login information for the specified user. This is for the newer API keys that can be added for any user. # # GET /users/{user_id}/credentials_api3 -> Sequence[mdls.CredentialsApi3] def all_user_credentials_api3s( @@ -9475,7 +9478,7 @@ def all_user_credentials_api3s( fields: Optional[str] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> Sequence[mdls.CredentialsApi3]: - """Get All API 3 Credentials""" + """Get All API Credentials""" response = cast( Sequence[mdls.CredentialsApi3], self.get( @@ -9487,7 +9490,7 @@ def all_user_credentials_api3s( ) return response - # ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + # ### API login information for the specified user. This is for the newer API keys that can be added for any user. # # POST /users/{user_id}/credentials_api3 -> mdls.CredentialsApi3 def create_user_credentials_api3( @@ -9500,7 +9503,7 @@ def create_user_credentials_api3( fields: Optional[str] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> mdls.CredentialsApi3: - """Create API 3 Credential""" + """Create API Credential""" response = cast( mdls.CredentialsApi3, self.post( @@ -10120,7 +10123,7 @@ def all_workspaces( # # The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using # the same user account will see the same files in the dev workspace. To avoid collisions between - # API clients it's best to have each client login with API3 credentials for a different user account. + # API clients it's best to have each client login with API credentials for a different user account. # # Changes made to files in a dev workspace are persistent across API sessions. It's a good # idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/python/looker_sdk/sdk/api31/models.py b/python/looker_sdk/sdk/api31/models.py index 5bb0262ca..39ae7bb2c 100644 --- a/python/looker_sdk/sdk/api31/models.py +++ b/python/looker_sdk/sdk/api31/models.py @@ -2355,7 +2355,7 @@ class DBConnection(model.Model): database: Database name db_timezone: Time zone of database query_timezone: Timezone to use in queries - schema: Scheme name + schema: Schema name max_connections: Maximum number of concurrent connection to use max_billing_gigabytes: Maximum size of query in GBs (BigQuery only, can be a user_attribute name) ssl: Use SSL/TLS when connecting to server @@ -2543,7 +2543,7 @@ class DBConnectionOverride(model.Model): certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect). file_type: (Write-Only) Certificate keyfile type - .json or .p12 database: Database name - schema: Scheme name + schema: Schema name jdbc_additional_params: Additional params to add to JDBC connection string after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature """ @@ -8288,7 +8288,7 @@ class ThemeSettings(model.Model): font_color: Default font color font_family: Primary font family font_source: Source specification for font - info_button_color: Info button color + info_button_color: (DEPRECATED) Info button color primary_button_color: Primary button color show_filters_bar: Toggle to show filters. Defaults to true. show_title: Toggle to show the title. Defaults to true. @@ -8297,7 +8297,7 @@ class ThemeSettings(model.Model): text_tile_background_color: Background color for text tiles tile_text_color: Text color for tiles title_color: Color for titles - warn_button_color: Warning button color + warn_button_color: (DEPRECATED) Warning button color tile_title_alignment: The text alignment of tile titles (New Dashboards) tile_shadow: Toggles the tile shadow (not supported) show_last_updated_indicator: Toggle to show the dashboard last updated indicator. Defaults to true. @@ -8306,6 +8306,8 @@ class ThemeSettings(model.Model): show_filters_toggle: Toggle to show the filters icon/toggle. Defaults to true. show_dashboard_header: Toggle to show the dashboard header. Defaults to true. center_dashboard_title: Toggle to center the dashboard title. Defaults to false. + dashboard_title_font_size: Dashboard title font size. + box_shadow: Default box shadow. """ background_color: Optional[str] = None base_font_size: Optional[str] = None @@ -8331,6 +8333,8 @@ class ThemeSettings(model.Model): show_filters_toggle: Optional[bool] = None show_dashboard_header: Optional[bool] = None center_dashboard_title: Optional[bool] = None + dashboard_title_font_size: Optional[str] = None + box_shadow: Optional[str] = None def __init__(self, *, background_color: Optional[str] = None, @@ -8356,7 +8360,9 @@ def __init__(self, *, show_dashboard_menu: Optional[bool] = None, show_filters_toggle: Optional[bool] = None, show_dashboard_header: Optional[bool] = None, - center_dashboard_title: Optional[bool] = None): + center_dashboard_title: Optional[bool] = None, + dashboard_title_font_size: Optional[str] = None, + box_shadow: Optional[str] = None): self.background_color = background_color self.base_font_size = base_font_size self.color_collection_id = color_collection_id @@ -8381,6 +8387,8 @@ def __init__(self, *, self.show_filters_toggle = show_filters_toggle self.show_dashboard_header = show_dashboard_header self.center_dashboard_title = center_dashboard_title + self.dashboard_title_font_size = dashboard_title_font_size + self.box_shadow = box_shadow @attr.s(auto_attribs=True, init=False) @@ -8445,7 +8453,7 @@ class User(model.Model): can: Operations the current user is able to perform on this object avatar_url: URL for the avatar image (may be generic) avatar_url_without_sizing: URL for the avatar image (may be generic), does not specify size - credentials_api3: API 3 credentials + credentials_api3: API credentials credentials_email: credentials_embed: Embed credentials credentials_google: @@ -9717,7 +9725,7 @@ class WriteDBConnection(model.Model): database: Database name db_timezone: Time zone of database query_timezone: Timezone to use in queries - schema: Scheme name + schema: Schema name max_connections: Maximum number of concurrent connection to use max_billing_gigabytes: Maximum size of query in GBs (BigQuery only, can be a user_attribute name) ssl: Use SSL/TLS when connecting to server @@ -9836,7 +9844,7 @@ class WriteDBConnectionOverride(model.Model): certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect). file_type: (Write-Only) Certificate keyfile type - .json or .p12 database: Database name - schema: Scheme name + schema: Schema name jdbc_additional_params: Additional params to add to JDBC connection string after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature """ diff --git a/python/looker_sdk/sdk/api40/methods.py b/python/looker_sdk/sdk/api40/methods.py index fc868df03..3234558d2 100644 --- a/python/looker_sdk/sdk/api40/methods.py +++ b/python/looker_sdk/sdk/api40/methods.py @@ -341,8 +341,8 @@ def read_alert_notification( # ### Present client credentials to obtain an authorization token # # Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - # The client credentials required for this login must be obtained by creating an API3 key on a user account - # in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + # The client credentials required for this login must be obtained by creating an API key on a user account + # in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. # # The access token returned by `login` must be used in the HTTP Authorization header of subsequent # API requests, like this: @@ -365,14 +365,14 @@ def read_alert_notification( # ### Best Practice: # Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. # - # For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + # For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). # # POST /login -> mdls.AccessToken def login( self, - # client_id part of API3 Key. + # client_id part of API Key. client_id: Optional[str] = None, - # client_secret part of API3 Key. + # client_secret part of API Key. client_secret: Optional[str] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> mdls.AccessToken: @@ -4193,6 +4193,8 @@ def content_thumbnail( resource_id: str, # Whether or not to refresh the rendered image with the latest content reload: Optional[str] = None, + # Light or dark background. Default is "light" + theme: Optional[str] = None, # A value of png produces a thumbnail in PNG format instead of SVG (default) format: Optional[str] = None, # The width of the image if format is supplied @@ -4209,7 +4211,7 @@ def content_thumbnail( self.get( path=f"/content_thumbnail/{type}/{resource_id}", structure=Union[str, bytes], # type: ignore - query_params={"reload": reload, "format": format, "width": width, "height": height}, + query_params={"reload": reload, "theme": theme, "format": format, "width": width, "height": height}, transport_options=transport_options ) ) @@ -4403,7 +4405,8 @@ def create_dashboard( # ### Search Dashboards # - # Returns an **array of dashboard objects** that match the specified search criteria. + # Returns an array of **user-defined dashboard** objects that match the specified search criteria. + # Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. # # If multiple search params are given and `filter_or` is FALSE or not specified, # search params are combined in a logical AND operation. @@ -11623,20 +11626,20 @@ def delete_user_credentials_oidc( ) return response - # ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + # ### API login information for the specified user. This is for the newer API keys that can be added for any user. # # GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> mdls.CredentialsApi3 def user_credentials_api3( self, # Id of user user_id: str, - # Id of API 3 Credential + # Id of API Credential credentials_api3_id: str, # Requested fields. fields: Optional[str] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> mdls.CredentialsApi3: - """Get API 3 Credential""" + """Get API Credential""" user_id = self.encode_path_param(user_id) credentials_api3_id = self.encode_path_param(credentials_api3_id) response = cast( @@ -11650,18 +11653,18 @@ def user_credentials_api3( ) return response - # ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + # ### API login information for the specified user. This is for the newer API keys that can be added for any user. # # DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> str def delete_user_credentials_api3( self, # Id of user user_id: str, - # Id of API 3 Credential + # Id of API Credential credentials_api3_id: str, transport_options: Optional[transport.TransportOptions] = None, ) -> str: - """Delete API 3 Credential""" + """Delete API Credential""" user_id = self.encode_path_param(user_id) credentials_api3_id = self.encode_path_param(credentials_api3_id) response = cast( @@ -11674,7 +11677,7 @@ def delete_user_credentials_api3( ) return response - # ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + # ### API login information for the specified user. This is for the newer API keys that can be added for any user. # # GET /users/{user_id}/credentials_api3 -> Sequence[mdls.CredentialsApi3] def all_user_credentials_api3s( @@ -11685,7 +11688,7 @@ def all_user_credentials_api3s( fields: Optional[str] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> Sequence[mdls.CredentialsApi3]: - """Get All API 3 Credentials""" + """Get All API Credentials""" user_id = self.encode_path_param(user_id) response = cast( Sequence[mdls.CredentialsApi3], @@ -11698,7 +11701,7 @@ def all_user_credentials_api3s( ) return response - # ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + # ### API login information for the specified user. This is for the newer API keys that can be added for any user. # # POST /users/{user_id}/credentials_api3 -> mdls.CreateCredentialsApi3 def create_user_credentials_api3( @@ -11709,7 +11712,7 @@ def create_user_credentials_api3( fields: Optional[str] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> mdls.CreateCredentialsApi3: - """Create API 3 Credential""" + """Create API Credential""" user_id = self.encode_path_param(user_id) response = cast( mdls.CreateCredentialsApi3, @@ -12435,7 +12438,7 @@ def all_workspaces( # # The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using # the same user account will see the same files in the dev workspace. To avoid collisions between - # API clients it's best to have each client login with API3 credentials for a different user account. + # API clients it's best to have each client login with API credentials for a different user account. # # Changes made to files in a dev workspace are persistent across API sessions. It's a good # idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/python/looker_sdk/sdk/api40/models.py b/python/looker_sdk/sdk/api40/models.py index de35ece69..6d0d6082b 100644 --- a/python/looker_sdk/sdk/api40/models.py +++ b/python/looker_sdk/sdk/api40/models.py @@ -3316,7 +3316,7 @@ class DBConnection(model.Model): database: Database name db_timezone: Time zone of database query_timezone: Timezone to use in queries - schema: Scheme name + schema: Schema name max_connections: Maximum number of concurrent connection to use max_billing_gigabytes: Maximum size of query in GBs (BigQuery only, can be a user_attribute name) ssl: Use SSL/TLS when connecting to server @@ -3536,7 +3536,7 @@ class DBConnectionOverride(model.Model): certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect). file_type: (Write-Only) Certificate keyfile type - .json or .p12 database: Database name - schema: Scheme name + schema: Schema name jdbc_additional_params: Additional params to add to JDBC connection string after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature """ @@ -10213,7 +10213,7 @@ class ThemeSettings(model.Model): font_color: Default font color font_family: Primary font family font_source: Source specification for font - info_button_color: Info button color + info_button_color: (DEPRECATED) Info button color primary_button_color: Primary button color show_filters_bar: Toggle to show filters. Defaults to true. show_title: Toggle to show the title. Defaults to true. @@ -10222,7 +10222,7 @@ class ThemeSettings(model.Model): text_tile_background_color: Background color for text tiles tile_text_color: Text color for tiles title_color: Color for titles - warn_button_color: Warning button color + warn_button_color: (DEPRECATED) Warning button color tile_title_alignment: The text alignment of tile titles (New Dashboards) tile_shadow: Toggles the tile shadow (not supported) show_last_updated_indicator: Toggle to show the dashboard last updated indicator. Defaults to true. @@ -10231,6 +10231,8 @@ class ThemeSettings(model.Model): show_filters_toggle: Toggle to show the filters icon/toggle. Defaults to true. show_dashboard_header: Toggle to show the dashboard header. Defaults to true. center_dashboard_title: Toggle to center the dashboard title. Defaults to false. + dashboard_title_font_size: Dashboard title font size. + box_shadow: Default box shadow. """ background_color: Optional[str] = None base_font_size: Optional[str] = None @@ -10256,6 +10258,8 @@ class ThemeSettings(model.Model): show_filters_toggle: Optional[bool] = None show_dashboard_header: Optional[bool] = None center_dashboard_title: Optional[bool] = None + dashboard_title_font_size: Optional[str] = None + box_shadow: Optional[str] = None def __init__(self, *, background_color: Optional[str] = None, @@ -10281,7 +10285,9 @@ def __init__(self, *, show_dashboard_menu: Optional[bool] = None, show_filters_toggle: Optional[bool] = None, show_dashboard_header: Optional[bool] = None, - center_dashboard_title: Optional[bool] = None): + center_dashboard_title: Optional[bool] = None, + dashboard_title_font_size: Optional[str] = None, + box_shadow: Optional[str] = None): self.background_color = background_color self.base_font_size = base_font_size self.color_collection_id = color_collection_id @@ -10306,6 +10312,8 @@ def __init__(self, *, self.show_filters_toggle = show_filters_toggle self.show_dashboard_header = show_dashboard_header self.center_dashboard_title = center_dashboard_title + self.dashboard_title_font_size = dashboard_title_font_size + self.box_shadow = box_shadow @attr.s(auto_attribs=True, init=False) @@ -10378,7 +10386,7 @@ class User(model.Model): can: Operations the current user is able to perform on this object avatar_url: URL for the avatar image (may be generic) avatar_url_without_sizing: URL for the avatar image (may be generic), does not specify size - credentials_api3: API 3 credentials + credentials_api3: API credentials credentials_email: credentials_embed: Embed credentials credentials_google: @@ -11881,7 +11889,7 @@ class WriteDBConnection(model.Model): database: Database name db_timezone: Time zone of database query_timezone: Timezone to use in queries - schema: Scheme name + schema: Schema name max_connections: Maximum number of concurrent connection to use max_billing_gigabytes: Maximum size of query in GBs (BigQuery only, can be a user_attribute name) ssl: Use SSL/TLS when connecting to server @@ -12032,7 +12040,7 @@ class WriteDBConnectionOverride(model.Model): certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect). file_type: (Write-Only) Certificate keyfile type - .json or .p12 database: Database name - schema: Scheme name + schema: Schema name jdbc_additional_params: Additional params to add to JDBC connection string after_connect_statements: SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature """ diff --git a/python/looker_sdk/sdk/constants.py b/python/looker_sdk/sdk/constants.py index 0579931e3..a62be7f80 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 = "23.4" +sdk_version = "23.6" environment_prefix = "LOOKERSDK" diff --git a/spec/Looker.3.1.json b/spec/Looker.3.1.json index ac1afbb96..c9de791f7 100644 --- a/spec/Looker.3.1.json +++ b/spec/Looker.3.1.json @@ -2,9 +2,9 @@ "swagger": "2.0", "info": { "version": "3.1.0", - "x-looker-release-version": "23.4.29", + "x-looker-release-version": "23.6.7", "title": "Looker API 3.1 Reference", - "description": "### Authorization\n\nThe classic method of API authorization uses Looker **API3** credentials for authorization and access control.\nLooker admins can create API3 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### 3.1 Legacy API\n\nAPI 3.1 is now **deprecated**. API 4.0 should be used instead.\n\nThe text below is retained for reference purposes.\n\nThe following are a few examples of noteworthy items that have changed between API 3.0 and API 3.1.\nFor more comprehensive coverage of API changes, please see the release notes for your Looker release.\n\n### Examples of new things added in API 3.1 (compared to API 3.0):\n\n* [Dashboard construction](#!/3.1/Dashboard/) APIs\n* [Themes](#!/3.1/Theme/) and [custom color collections](#!/3.1/ColorCollection) APIs\n* Create and run [SQL Runner](#!/3.1/Query/run_sql_query) queries\n* Create and run [merged results](#!/3.1/Query/create_merge_query) queries\n* Create and modify [dashboard filters](#!/3.1/Dashboard/create_dashboard_filter)\n* Create and modify [password requirements](#!/3.1/Auth/password_config)\n\n### Deprecated in API 3.0\n\nThe following functions and properties have been deprecated in API 3.0. They continue to exist and work in API 3.0\nfor the next several Looker releases but they have not been carried forward to API 3.1:\n\n* Dashboard Prefetch functions\n* User access_filter functions\n* User API 1.0 credentials functions\n* Space.is_root and Space.is_user_root properties. Use Space.is_shared_root and Space.is_users_root instead.\n\n### Semantic changes in API 3.1:\n\n* [all_looks()](#!/3.1/Look/all_looks) no longer includes soft-deleted looks, matching [all_dashboards()](#!/3.1/Dashboard/all_dashboards) behavior.\nYou can find soft-deleted looks using [search_looks()](#!/3.1/Look/search_looks) with the `deleted` param set to True.\n* [all_spaces()](#!/3.1/Space/all_spaces) no longer includes duplicate items\n* [search_users()](#!/3.1/User/search_users) no longer accepts Y,y,1,0,N,n for Boolean params, only \"true\" and \"false\".\n* For greater client and network compatibility, [render_task_results](#!/3.1/RenderTask/render_task_results) now returns\nHTTP status **202 Accepted** instead of HTTP status **102 Processing**\n* [all_running_queries()](#!/3.1/Query/all_running_queries) and [kill_query](#!/3.1/Query/kill_query) functions have moved into the [Query](#!/3.1/Query/) function group.\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", + "description": "### 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### 3.1 Legacy API\n\nAPI 3.1 is now **deprecated**. API 4.0 should be used instead.\n\nThe text below is retained for reference purposes.\n\nThe following are a few examples of noteworthy items that have changed between API 3.0 and API 3.1.\nFor more comprehensive coverage of API changes, please see the release notes for your Looker release.\n\n### Examples of new things added in API 3.1 (compared to API 3.0):\n\n* [Dashboard construction](#!/3.1/Dashboard/) APIs\n* [Themes](#!/3.1/Theme/) and [custom color collections](#!/3.1/ColorCollection) APIs\n* Create and run [SQL Runner](#!/3.1/Query/run_sql_query) queries\n* Create and run [merged results](#!/3.1/Query/create_merge_query) queries\n* Create and modify [dashboard filters](#!/3.1/Dashboard/create_dashboard_filter)\n* Create and modify [password requirements](#!/3.1/Auth/password_config)\n\n### Deprecated in API 3.0\n\nThe following functions and properties have been deprecated in API 3.0. They continue to exist and work in API 3.0\nfor the next several Looker releases but they have not been carried forward to API 3.1:\n\n* Dashboard Prefetch functions\n* User access_filter functions\n* User API 1.0 credentials functions\n* Space.is_root and Space.is_user_root properties. Use Space.is_shared_root and Space.is_users_root instead.\n\n### Semantic changes in API 3.1:\n\n* [all_looks()](#!/3.1/Look/all_looks) no longer includes soft-deleted looks, matching [all_dashboards()](#!/3.1/Dashboard/all_dashboards) behavior.\nYou can find soft-deleted looks using [search_looks()](#!/3.1/Look/search_looks) with the `deleted` param set to True.\n* [all_spaces()](#!/3.1/Space/all_spaces) no longer includes duplicate items\n* [search_users()](#!/3.1/User/search_users) no longer accepts Y,y,1,0,N,n for Boolean params, only \"true\" and \"false\".\n* For greater client and network compatibility, [render_task_results](#!/3.1/RenderTask/render_task_results) now returns\nHTTP status **202 Accepted** instead of HTTP status **102 Processing**\n* [all_running_queries()](#!/3.1/Query/all_running_queries) and [kill_query](#!/3.1/Query/kill_query) functions have moved into the [Query](#!/3.1/Query/) function group.\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": { "name": "Looker Team", "url": "https://help.looker.com" @@ -992,7 +992,7 @@ ], "operationId": "login", "summary": "Login", - "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API3 key on a user account\nin the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", + "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API key on a user account\nin the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", "consumes": [ "application/x-www-form-urlencoded" ], @@ -1000,14 +1000,14 @@ { "name": "client_id", "in": "query", - "description": "client_id part of API3 Key.", + "description": "client_id part of API Key.", "required": false, "type": "string" }, { "name": "client_secret", "in": "query", - "description": "client_secret part of API3 Key.", + "description": "client_secret part of API Key.", "required": false, "type": "string" } @@ -2425,6 +2425,13 @@ "required": false, "type": "string" }, + { + "name": "theme", + "in": "query", + "description": "Light or dark background. Default is \"light\"", + "required": false, + "type": "string" + }, { "name": "format", "in": "query", @@ -2467,6 +2474,12 @@ "schema": { "$ref": "#/definitions/Error" } + }, + "422": { + "description": "Validation Error", + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -2917,7 +2930,7 @@ ], "operationId": "search_dashboards", "summary": "Search Dashboards", - "description": "### Search Dashboards\n\nReturns an **array of dashboard objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", + "description": "### Search Dashboards\n\nReturns an array of **user-defined dashboard** objects that match the specified search criteria.\nNote, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", "parameters": [ { "name": "id", @@ -19667,8 +19680,8 @@ "User" ], "operationId": "user_credentials_api3", - "summary": "Get API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Get API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -19681,7 +19694,7 @@ { "name": "credentials_api3_id", "in": "path", - "description": "Id of API 3 Credential", + "description": "Id of API Credential", "required": true, "type": "integer", "format": "int64" @@ -19696,7 +19709,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "schema": { "$ref": "#/definitions/CredentialsApi3" } @@ -19728,8 +19741,8 @@ "User" ], "operationId": "delete_user_credentials_api3", - "summary": "Delete API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Delete API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -19742,7 +19755,7 @@ { "name": "credentials_api3_id", "in": "path", - "description": "Id of API 3 Credential", + "description": "Id of API Credential", "required": true, "type": "integer", "format": "int64" @@ -19790,8 +19803,8 @@ "User" ], "operationId": "all_user_credentials_api3s", - "summary": "Get All API 3 Credentials", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Get All API Credentials", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -19811,7 +19824,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "schema": { "type": "array", "items": { @@ -19846,8 +19859,8 @@ "User" ], "operationId": "create_user_credentials_api3", - "summary": "Create API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Create API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -19860,7 +19873,7 @@ { "name": "body", "in": "body", - "description": "API 3 Credential", + "description": "API Credential", "required": false, "schema": { "$ref": "#/definitions/CredentialsApi3" @@ -19876,7 +19889,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "schema": { "$ref": "#/definitions/CredentialsApi3" } @@ -21010,7 +21023,7 @@ ], "operationId": "workspace", "summary": "Get Workspace", - "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API3 credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", + "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", "parameters": [ { "name": "workspace_id", @@ -24737,7 +24750,7 @@ }, "schema": { "type": "string", - "description": "Scheme name", + "description": "Schema name", "x-looker-nullable": true }, "max_connections": { @@ -24923,7 +24936,7 @@ }, "schema": { "type": "string", - "description": "Scheme name", + "description": "Schema name", "x-looker-nullable": true }, "jdbc_additional_params": { @@ -32378,7 +32391,8 @@ }, "info_button_color": { "type": "string", - "description": "Info button color", + "x-looker-deprecated": true, + "description": "(DEPRECATED) Info button color", "x-looker-nullable": false }, "primary_button_color": { @@ -32423,7 +32437,8 @@ }, "warn_button_color": { "type": "string", - "description": "Warning button color", + "x-looker-deprecated": true, + "description": "(DEPRECATED) Warning button color", "x-looker-nullable": false }, "tile_title_alignment": { @@ -32465,6 +32480,16 @@ "type": "boolean", "description": "Toggle to center the dashboard title. Defaults to false.", "x-looker-nullable": false + }, + "dashboard_title_font_size": { + "type": "string", + "description": "Dashboard title font size.", + "x-looker-nullable": false + }, + "box_shadow": { + "type": "string", + "description": "Default box shadow.", + "x-looker-nullable": false } }, "x-looker-status": "stable" @@ -32852,7 +32877,7 @@ "$ref": "#/definitions/CredentialsApi3" }, "readOnly": true, - "description": "API 3 credentials", + "description": "API credentials", "x-looker-nullable": true }, "credentials_email": { diff --git a/spec/Looker.3.1.oas.json b/spec/Looker.3.1.oas.json index 74772d737..7848f5392 100644 --- a/spec/Looker.3.1.oas.json +++ b/spec/Looker.3.1.oas.json @@ -2,9 +2,9 @@ "openapi": "3.0.0", "info": { "version": "3.1.0", - "x-looker-release-version": "23.4.29", + "x-looker-release-version": "23.6.7", "title": "Looker API 3.1 Reference", - "description": "### Authorization\n\nThe classic method of API authorization uses Looker **API3** credentials for authorization and access control.\nLooker admins can create API3 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### 3.1 Legacy API\n\nAPI 3.1 is now **deprecated**. API 4.0 should be used instead.\n\nThe text below is retained for reference purposes.\n\nThe following are a few examples of noteworthy items that have changed between API 3.0 and API 3.1.\nFor more comprehensive coverage of API changes, please see the release notes for your Looker release.\n\n### Examples of new things added in API 3.1 (compared to API 3.0):\n\n* [Dashboard construction](#!/3.1/Dashboard/) APIs\n* [Themes](#!/3.1/Theme/) and [custom color collections](#!/3.1/ColorCollection) APIs\n* Create and run [SQL Runner](#!/3.1/Query/run_sql_query) queries\n* Create and run [merged results](#!/3.1/Query/create_merge_query) queries\n* Create and modify [dashboard filters](#!/3.1/Dashboard/create_dashboard_filter)\n* Create and modify [password requirements](#!/3.1/Auth/password_config)\n\n### Deprecated in API 3.0\n\nThe following functions and properties have been deprecated in API 3.0. They continue to exist and work in API 3.0\nfor the next several Looker releases but they have not been carried forward to API 3.1:\n\n* Dashboard Prefetch functions\n* User access_filter functions\n* User API 1.0 credentials functions\n* Space.is_root and Space.is_user_root properties. Use Space.is_shared_root and Space.is_users_root instead.\n\n### Semantic changes in API 3.1:\n\n* [all_looks()](#!/3.1/Look/all_looks) no longer includes soft-deleted looks, matching [all_dashboards()](#!/3.1/Dashboard/all_dashboards) behavior.\nYou can find soft-deleted looks using [search_looks()](#!/3.1/Look/search_looks) with the `deleted` param set to True.\n* [all_spaces()](#!/3.1/Space/all_spaces) no longer includes duplicate items\n* [search_users()](#!/3.1/User/search_users) no longer accepts Y,y,1,0,N,n for Boolean params, only \"true\" and \"false\".\n* For greater client and network compatibility, [render_task_results](#!/3.1/RenderTask/render_task_results) now returns\nHTTP status **202 Accepted** instead of HTTP status **102 Processing**\n* [all_running_queries()](#!/3.1/Query/all_running_queries) and [kill_query](#!/3.1/Query/kill_query) functions have moved into the [Query](#!/3.1/Query/) function group.\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", + "description": "### 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### 3.1 Legacy API\n\nAPI 3.1 is now **deprecated**. API 4.0 should be used instead.\n\nThe text below is retained for reference purposes.\n\nThe following are a few examples of noteworthy items that have changed between API 3.0 and API 3.1.\nFor more comprehensive coverage of API changes, please see the release notes for your Looker release.\n\n### Examples of new things added in API 3.1 (compared to API 3.0):\n\n* [Dashboard construction](#!/3.1/Dashboard/) APIs\n* [Themes](#!/3.1/Theme/) and [custom color collections](#!/3.1/ColorCollection) APIs\n* Create and run [SQL Runner](#!/3.1/Query/run_sql_query) queries\n* Create and run [merged results](#!/3.1/Query/create_merge_query) queries\n* Create and modify [dashboard filters](#!/3.1/Dashboard/create_dashboard_filter)\n* Create and modify [password requirements](#!/3.1/Auth/password_config)\n\n### Deprecated in API 3.0\n\nThe following functions and properties have been deprecated in API 3.0. They continue to exist and work in API 3.0\nfor the next several Looker releases but they have not been carried forward to API 3.1:\n\n* Dashboard Prefetch functions\n* User access_filter functions\n* User API 1.0 credentials functions\n* Space.is_root and Space.is_user_root properties. Use Space.is_shared_root and Space.is_users_root instead.\n\n### Semantic changes in API 3.1:\n\n* [all_looks()](#!/3.1/Look/all_looks) no longer includes soft-deleted looks, matching [all_dashboards()](#!/3.1/Dashboard/all_dashboards) behavior.\nYou can find soft-deleted looks using [search_looks()](#!/3.1/Look/search_looks) with the `deleted` param set to True.\n* [all_spaces()](#!/3.1/Space/all_spaces) no longer includes duplicate items\n* [search_users()](#!/3.1/User/search_users) no longer accepts Y,y,1,0,N,n for Boolean params, only \"true\" and \"false\".\n* For greater client and network compatibility, [render_task_results](#!/3.1/RenderTask/render_task_results) now returns\nHTTP status **202 Accepted** instead of HTTP status **102 Processing**\n* [all_running_queries()](#!/3.1/Query/all_running_queries) and [kill_query](#!/3.1/Query/kill_query) functions have moved into the [Query](#!/3.1/Query/) function group.\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": { "name": "Looker Team", "url": "https://help.looker.com" @@ -1487,12 +1487,12 @@ ], "operationId": "login", "summary": "Login", - "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API3 key on a user account\nin the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", + "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API key on a user account\nin the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", "parameters": [ { "name": "client_id", "in": "query", - "description": "client_id part of API3 Key.", + "description": "client_id part of API Key.", "required": false, "schema": { "type": "string" @@ -1501,7 +1501,7 @@ { "name": "client_secret", "in": "query", - "description": "client_secret part of API3 Key.", + "description": "client_secret part of API Key.", "required": false, "schema": { "type": "string" @@ -3425,6 +3425,15 @@ "type": "string" } }, + { + "name": "theme", + "in": "query", + "description": "Light or dark background. Default is \"light\"", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "format", "in": "query", @@ -3500,6 +3509,21 @@ } } } + }, + "422": { + "description": "Validation Error", + "content": { + "image/svg+xml": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + } + }, + "image/png": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + } + } + } } }, "x-looker-status": "stable", @@ -4104,7 +4128,7 @@ ], "operationId": "search_dashboards", "summary": "Search Dashboards", - "description": "### Search Dashboards\n\nReturns an **array of dashboard objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", + "description": "### Search Dashboards\n\nReturns an array of **user-defined dashboard** objects that match the specified search criteria.\nNote, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", "parameters": [ { "name": "id", @@ -26962,8 +26986,8 @@ "User" ], "operationId": "user_credentials_api3", - "summary": "Get API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Get API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -26978,7 +27002,7 @@ { "name": "credentials_api3_id", "in": "path", - "description": "Id of API 3 Credential", + "description": "Id of API Credential", "required": true, "schema": { "type": "integer", @@ -26997,7 +27021,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "content": { "application/json": { "schema": { @@ -27045,8 +27069,8 @@ "User" ], "operationId": "delete_user_credentials_api3", - "summary": "Delete API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Delete API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -27061,7 +27085,7 @@ { "name": "credentials_api3_id", "in": "path", - "description": "Id of API 3 Credential", + "description": "Id of API Credential", "required": true, "schema": { "type": "integer", @@ -27131,8 +27155,8 @@ "User" ], "operationId": "all_user_credentials_api3s", - "summary": "Get All API 3 Credentials", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Get All API Credentials", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -27156,7 +27180,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "content": { "application/json": { "schema": { @@ -27207,8 +27231,8 @@ "User" ], "operationId": "create_user_credentials_api3", - "summary": "Create API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Create API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -27232,7 +27256,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "content": { "application/json": { "schema": { @@ -27312,7 +27336,7 @@ } } }, - "description": "API 3 Credential", + "description": "API Credential", "required": false } } @@ -28777,7 +28801,7 @@ ], "operationId": "workspace", "summary": "Get Workspace", - "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API3 credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", + "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", "parameters": [ { "name": "workspace_id", @@ -32448,7 +32472,7 @@ }, "schema": { "type": "string", - "description": "Scheme name", + "description": "Schema name", "nullable": true }, "max_connections": { @@ -32632,7 +32656,7 @@ }, "schema": { "type": "string", - "description": "Scheme name", + "description": "Schema name", "nullable": true }, "jdbc_additional_params": { @@ -39988,7 +40012,8 @@ }, "info_button_color": { "type": "string", - "description": "Info button color", + "deprecated": true, + "description": "(DEPRECATED) Info button color", "nullable": false }, "primary_button_color": { @@ -40033,7 +40058,8 @@ }, "warn_button_color": { "type": "string", - "description": "Warning button color", + "deprecated": true, + "description": "(DEPRECATED) Warning button color", "nullable": false }, "tile_title_alignment": { @@ -40075,6 +40101,16 @@ "type": "boolean", "description": "Toggle to center the dashboard title. Defaults to false.", "nullable": false + }, + "dashboard_title_font_size": { + "type": "string", + "description": "Dashboard title font size.", + "nullable": false + }, + "box_shadow": { + "type": "string", + "description": "Default box shadow.", + "nullable": false } }, "x-looker-status": "stable" @@ -40460,7 +40496,7 @@ "$ref": "#/components/schemas/CredentialsApi3" }, "readOnly": true, - "description": "API 3 credentials", + "description": "API credentials", "nullable": true }, "credentials_email": { diff --git a/spec/Looker.4.0.json b/spec/Looker.4.0.json index 8b1d90493..787d04f85 100644 --- a/spec/Looker.4.0.json +++ b/spec/Looker.4.0.json @@ -1,10 +1,10 @@ { "swagger": "2.0", "info": { - "version": "4.0.23.4", - "x-looker-release-version": "23.4.29", + "version": "4.0.23.6", + "x-looker-release-version": "23.6.7", "title": "Looker API 4.0 Reference", - "description": "\nAPI 4.0 is the current release of the Looker API. API 3.1 is deprecated.\n\n### Authorization\n\nThe classic method of API authorization uses Looker **API3** credentials for authorization and access control.\nLooker admins can create API3 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 version was introduced to make adjustments to API functions, parameters, and response types to\nfix bugs and inconsistencies. These changes fall outside the bounds of non-breaking additive changes we can\nmake to the previous API 3.1.\n\nOne benefit of these type adjustments in API 4.0 is dramatically better support for strongly\ntyped 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", + "description": "\nAPI 4.0 is the current release of the Looker API. API 3.1 is deprecated.\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 version was introduced to make adjustments to API functions, parameters, and response types to\nfix bugs and inconsistencies. These changes fall outside the bounds of non-breaking additive changes we can\nmake to the previous API 3.1.\n\nOne benefit of these type adjustments in API 4.0 is dramatically better support for strongly\ntyped 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": { "name": "Looker Team", "url": "https://help.looker.com" @@ -1012,7 +1012,7 @@ ], "operationId": "login", "summary": "Login", - "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API3 key on a user account\nin the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", + "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API key on a user account\nin the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", "consumes": [ "application/x-www-form-urlencoded" ], @@ -1020,14 +1020,14 @@ { "name": "client_id", "in": "query", - "description": "client_id part of API3 Key.", + "description": "client_id part of API Key.", "required": false, "type": "string" }, { "name": "client_secret", "in": "query", - "description": "client_secret part of API3 Key.", + "description": "client_secret part of API Key.", "required": false, "type": "string" } @@ -3641,6 +3641,13 @@ "required": false, "type": "string" }, + { + "name": "theme", + "in": "query", + "description": "Light or dark background. Default is \"light\"", + "required": false, + "type": "string" + }, { "name": "format", "in": "query", @@ -3683,6 +3690,12 @@ "schema": { "$ref": "#/definitions/Error" } + }, + "422": { + "description": "Validation Error", + "schema": { + "$ref": "#/definitions/ValidationError" + } } }, "x-looker-status": "stable", @@ -4232,7 +4245,7 @@ ], "operationId": "search_dashboards", "summary": "Search Dashboards", - "description": "### Search Dashboards\n\nReturns an **array of dashboard objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", + "description": "### Search Dashboards\n\nReturns an array of **user-defined dashboard** objects that match the specified search criteria.\nNote, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", "parameters": [ { "name": "id", @@ -23986,8 +23999,8 @@ "User" ], "operationId": "user_credentials_api3", - "summary": "Get API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Get API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -23999,7 +24012,7 @@ { "name": "credentials_api3_id", "in": "path", - "description": "Id of API 3 Credential", + "description": "Id of API Credential", "required": true, "type": "string" }, @@ -24013,7 +24026,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "schema": { "$ref": "#/definitions/CredentialsApi3" } @@ -24045,8 +24058,8 @@ "User" ], "operationId": "delete_user_credentials_api3", - "summary": "Delete API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Delete API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -24058,7 +24071,7 @@ { "name": "credentials_api3_id", "in": "path", - "description": "Id of API 3 Credential", + "description": "Id of API Credential", "required": true, "type": "string" } @@ -24105,8 +24118,8 @@ "User" ], "operationId": "all_user_credentials_api3s", - "summary": "Get All API 3 Credentials", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Get All API Credentials", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -24125,7 +24138,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "schema": { "type": "array", "items": { @@ -24160,8 +24173,8 @@ "User" ], "operationId": "create_user_credentials_api3", - "summary": "Create API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Create API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -24180,7 +24193,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "schema": { "$ref": "#/definitions/CreateCredentialsApi3" } @@ -25516,7 +25529,7 @@ ], "operationId": "workspace", "summary": "Get Workspace", - "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API3 credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", + "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", "parameters": [ { "name": "workspace_id", @@ -29988,7 +30001,7 @@ }, "schema": { "type": "string", - "description": "Scheme name", + "description": "Schema name", "x-looker-nullable": true }, "max_connections": { @@ -30218,7 +30231,7 @@ }, "schema": { "type": "string", - "description": "Scheme name", + "description": "Schema name", "x-looker-nullable": true }, "jdbc_additional_params": { @@ -38966,7 +38979,8 @@ }, "info_button_color": { "type": "string", - "description": "Info button color", + "x-looker-deprecated": true, + "description": "(DEPRECATED) Info button color", "x-looker-nullable": false }, "primary_button_color": { @@ -39011,7 +39025,8 @@ }, "warn_button_color": { "type": "string", - "description": "Warning button color", + "x-looker-deprecated": true, + "description": "(DEPRECATED) Warning button color", "x-looker-nullable": false }, "tile_title_alignment": { @@ -39053,6 +39068,16 @@ "type": "boolean", "description": "Toggle to center the dashboard title. Defaults to false.", "x-looker-nullable": false + }, + "dashboard_title_font_size": { + "type": "string", + "description": "Dashboard title font size.", + "x-looker-nullable": false + }, + "box_shadow": { + "type": "string", + "description": "Default box shadow.", + "x-looker-nullable": false } }, "x-looker-status": "stable" @@ -39438,7 +39463,7 @@ "$ref": "#/definitions/CredentialsApi3" }, "readOnly": true, - "description": "API 3 credentials", + "description": "API credentials", "x-looker-nullable": true }, "credentials_email": { diff --git a/spec/Looker.4.0.oas.json b/spec/Looker.4.0.oas.json index f8cf3e22c..6b13c1a33 100644 --- a/spec/Looker.4.0.oas.json +++ b/spec/Looker.4.0.oas.json @@ -1,10 +1,10 @@ { "openapi": "3.0.0", "info": { - "version": "4.0.23.4", - "x-looker-release-version": "23.4.29", + "version": "4.0.23.6", + "x-looker-release-version": "23.6.7", "title": "Looker API 4.0 Reference", - "description": "\nAPI 4.0 is the current release of the Looker API. API 3.1 is deprecated.\n\n### Authorization\n\nThe classic method of API authorization uses Looker **API3** credentials for authorization and access control.\nLooker admins can create API3 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 version was introduced to make adjustments to API functions, parameters, and response types to\nfix bugs and inconsistencies. These changes fall outside the bounds of non-breaking additive changes we can\nmake to the previous API 3.1.\n\nOne benefit of these type adjustments in API 4.0 is dramatically better support for strongly\ntyped 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", + "description": "\nAPI 4.0 is the current release of the Looker API. API 3.1 is deprecated.\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 version was introduced to make adjustments to API functions, parameters, and response types to\nfix bugs and inconsistencies. These changes fall outside the bounds of non-breaking additive changes we can\nmake to the previous API 3.1.\n\nOne benefit of these type adjustments in API 4.0 is dramatically better support for strongly\ntyped 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": { "name": "Looker Team", "url": "https://help.looker.com" @@ -1509,12 +1509,12 @@ ], "operationId": "login", "summary": "Login", - "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API3 key on a user account\nin the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", + "description": "### Present client credentials to obtain an authorization token\n\nLooker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\nThe client credentials required for this login must be obtained by creating an API key on a user account\nin the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`.\n\nThe access token returned by `login` must be used in the HTTP Authorization header of subsequent\nAPI requests, like this:\n```\nAuthorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n```\nReplace \"4QDkCy...\" with the `access_token` value returned by `login`.\nThe word `token` is a string literal and must be included exactly as shown.\n\nThis function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n\nExample of passing credentials in the HTTP request body:\n````\nPOST HTTP /login\nContent-Type: application/x-www-form-urlencoded\n\nclient_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n````\n\n### Best Practice:\nAlways pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n\nFor more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n", "parameters": [ { "name": "client_id", "in": "query", - "description": "client_id part of API3 Key.", + "description": "client_id part of API Key.", "required": false, "schema": { "type": "string" @@ -1523,7 +1523,7 @@ { "name": "client_secret", "in": "query", - "description": "client_secret part of API3 Key.", + "description": "client_secret part of API Key.", "required": false, "schema": { "type": "string" @@ -5067,6 +5067,15 @@ "type": "string" } }, + { + "name": "theme", + "in": "query", + "description": "Light or dark background. Default is \"light\"", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "format", "in": "query", @@ -5142,6 +5151,21 @@ } } } + }, + "422": { + "description": "Validation Error", + "content": { + "image/svg+xml": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + } + }, + "image/png": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + } + } + } } }, "x-looker-status": "stable", @@ -5877,7 +5901,7 @@ ], "operationId": "search_dashboards", "summary": "Search Dashboards", - "description": "### Search Dashboards\n\nReturns an **array of dashboard objects** that match the specified search criteria.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", + "description": "### Search Dashboards\n\nReturns an array of **user-defined dashboard** objects that match the specified search criteria.\nNote, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects.\n\nIf multiple search params are given and `filter_or` is FALSE or not specified,\nsearch params are combined in a logical AND operation.\nOnly rows that match *all* search param criteria will be returned.\n\nIf `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\nResults will include rows that match **any** of the search criteria.\n\nString search params use case-insensitive matching.\nString search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\nexample=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\nexample=\"D_m%\" will match \"Damage\" and \"dump\"\n\nInteger search params can accept a single value or a comma separated list of values. The multiple\nvalues will be combined under a logical OR operation - results will match at least one of\nthe given values.\n\nMost search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\nor exclude (respectively) rows where the column is null.\n\nBoolean search params accept only \"true\" and \"false\" as values.\n\n\nThe parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n\nGet a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n", "parameters": [ { "name": "id", @@ -32921,8 +32945,8 @@ "User" ], "operationId": "user_credentials_api3", - "summary": "Get API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Get API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -32936,7 +32960,7 @@ { "name": "credentials_api3_id", "in": "path", - "description": "Id of API 3 Credential", + "description": "Id of API Credential", "required": true, "schema": { "type": "string" @@ -32954,7 +32978,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "content": { "application/json": { "schema": { @@ -33002,8 +33026,8 @@ "User" ], "operationId": "delete_user_credentials_api3", - "summary": "Delete API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Delete API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -33017,7 +33041,7 @@ { "name": "credentials_api3_id", "in": "path", - "description": "Id of API 3 Credential", + "description": "Id of API Credential", "required": true, "schema": { "type": "string" @@ -33086,8 +33110,8 @@ "User" ], "operationId": "all_user_credentials_api3s", - "summary": "Get All API 3 Credentials", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Get All API Credentials", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -33110,7 +33134,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "content": { "application/json": { "schema": { @@ -33161,8 +33185,8 @@ "User" ], "operationId": "create_user_credentials_api3", - "summary": "Create API 3 Credential", - "description": "### API 3 login information for the specified user. This is for the newer API keys that can be added for any user.", + "summary": "Create API Credential", + "description": "### API login information for the specified user. This is for the newer API keys that can be added for any user.", "parameters": [ { "name": "user_id", @@ -33185,7 +33209,7 @@ ], "responses": { "200": { - "description": "API 3 Credential", + "description": "API Credential", "content": { "application/json": { "schema": { @@ -34999,7 +35023,7 @@ ], "operationId": "workspace", "summary": "Get Workspace", - "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API3 credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", + "description": "### Get A Workspace\n\nReturns information about a workspace such as the git status and selected branches\nof all projects available to the caller's user account.\n\nA workspace defines which versions of project files will be used to evaluate expressions\nand operations that use model definitions - operations such as running queries or rendering dashboards.\nEach project has its own git repository, and each project in a workspace may be configured to reference\nparticular branch or revision within their respective repositories.\n\nThere are two predefined workspaces available: \"production\" and \"dev\".\n\nThe production workspace is shared across all Looker users. Models in the production workspace are read-only.\nChanging files in production is accomplished by modifying files in a git branch and using Pull Requests\nto merge the changes from the dev branch into the production branch, and then telling\nLooker to sync with production.\n\nThe dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\nthat user, and only when the dev workspace is selected as the active workspace for the API session.\n(See set_session_workspace()).\n\nThe dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\nthe same user account will see the same files in the dev workspace. To avoid collisions between\nAPI clients it's best to have each client login with API credentials for a different user account.\n\nChanges made to files in a dev workspace are persistent across API sessions. It's a good\nidea to commit any changes you've made to the git repository, but not strictly required. Your modified files\nreside in a special user-specific directory on the Looker server and will still be there when you login in again\nlater and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n", "parameters": [ { "name": "workspace_id", @@ -39422,7 +39446,7 @@ }, "schema": { "type": "string", - "description": "Scheme name", + "description": "Schema name", "nullable": true }, "max_connections": { @@ -39650,7 +39674,7 @@ }, "schema": { "type": "string", - "description": "Scheme name", + "description": "Schema name", "nullable": true }, "jdbc_additional_params": { @@ -48308,7 +48332,8 @@ }, "info_button_color": { "type": "string", - "description": "Info button color", + "deprecated": true, + "description": "(DEPRECATED) Info button color", "nullable": false }, "primary_button_color": { @@ -48353,7 +48378,8 @@ }, "warn_button_color": { "type": "string", - "description": "Warning button color", + "deprecated": true, + "description": "(DEPRECATED) Warning button color", "nullable": false }, "tile_title_alignment": { @@ -48395,6 +48421,16 @@ "type": "boolean", "description": "Toggle to center the dashboard title. Defaults to false.", "nullable": false + }, + "dashboard_title_font_size": { + "type": "string", + "description": "Dashboard title font size.", + "nullable": false + }, + "box_shadow": { + "type": "string", + "description": "Default box shadow.", + "nullable": false } }, "x-looker-status": "stable" @@ -48778,7 +48814,7 @@ "$ref": "#/components/schemas/CredentialsApi3" }, "readOnly": true, - "description": "API 3 credentials", + "description": "API credentials", "nullable": true }, "credentials_email": { diff --git a/swift/looker/rtl/constants.swift b/swift/looker/rtl/constants.swift index 2b62c5089..d279ef61b 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 = "23.4" + public static let lookerVersion = "23.6" 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/methods.swift b/swift/looker/sdk/methods.swift index 5e762b3cb..4047d23b7 100644 --- a/swift/looker/sdk/methods.swift +++ b/swift/looker/sdk/methods.swift @@ -327,8 +327,8 @@ open class LookerSDK: APIMethods { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -351,17 +351,17 @@ open class LookerSDK: APIMethods { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> AccessToken */ public func login( /** - * @param {String} client_id client_id part of API3 Key. + * @param {String} client_id client_id part of API Key. */ client_id: String? = nil, /** - * @param {String} client_secret client_secret part of API3 Key. + * @param {String} client_secret client_secret part of API Key. */ client_secret: String? = nil, options: ITransportSettings? = nil @@ -3750,6 +3750,10 @@ open class LookerSDK: APIMethods { * @param {String} reload Whether or not to refresh the rendered image with the latest content */ reload: String? = nil, + /** + * @param {String} theme Light or dark background. Default is "light" + */ + theme: String? = nil, /** * @param {String} format A value of png produces a thumbnail in PNG format instead of SVG (default) */ @@ -3767,7 +3771,7 @@ open class LookerSDK: APIMethods { let path_type = encodeParam(type) let path_resource_id = encodeParam(resource_id) let result: SDKResponse = self.get("/content_thumbnail/\(path_type)/\(path_resource_id)", - ["reload": reload, "format": format, "width": width, "height": height], nil, options) + ["reload": reload, "theme": theme, "format": format, "width": width, "height": height], nil, options) return result } @@ -3969,7 +3973,8 @@ open class LookerSDK: APIMethods { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -11155,7 +11160,7 @@ open class LookerSDK: APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> CredentialsApi3 */ @@ -11165,7 +11170,7 @@ open class LookerSDK: APIMethods { */ _ user_id: String, /** - * @param {String} credentials_api3_id Id of API 3 Credential + * @param {String} credentials_api3_id Id of API Credential */ _ credentials_api3_id: String, /** @@ -11182,7 +11187,7 @@ open class LookerSDK: APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> String */ @@ -11192,7 +11197,7 @@ open class LookerSDK: APIMethods { */ _ user_id: String, /** - * @param {String} credentials_api3_id Id of API 3 Credential + * @param {String} credentials_api3_id Id of API Credential */ _ credentials_api3_id: String, options: ITransportSettings? = nil @@ -11204,7 +11209,7 @@ open class LookerSDK: APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> [CredentialsApi3] */ @@ -11226,7 +11231,7 @@ open class LookerSDK: APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> CreateCredentialsApi3 */ @@ -11923,7 +11928,7 @@ open class LookerSDK: APIMethods { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files diff --git a/swift/looker/sdk/models.swift b/swift/looker/sdk/models.swift index b945d89a9..3f2bddb73 100644 --- a/swift/looker/sdk/models.swift +++ b/swift/looker/sdk/models.swift @@ -6919,7 +6919,7 @@ public struct DBConnection: SDKModel { private var _schema: AnyString? /** - * Scheme name + * Schema name */ public var schema: String? { get { _schema?.value } @@ -7338,7 +7338,7 @@ public struct DBConnectionOverride: SDKModel { private var _schema: AnyString? /** - * Scheme name + * Schema name */ public var schema: String? { get { _schema?.value } @@ -20720,6 +20720,8 @@ public struct ThemeSettings: SDKModel { case show_filters_toggle case show_dashboard_header case center_dashboard_title + case _dashboard_title_font_size = "dashboard_title_font_size" + case _box_shadow = "box_shadow" } private var _background_color: AnyString? /** @@ -20777,7 +20779,7 @@ public struct ThemeSettings: SDKModel { private var _info_button_color: AnyString? /** - * Info button color + * (DEPRECATED) Info button color */ public var info_button_color: String? { get { _info_button_color?.value } @@ -20850,7 +20852,7 @@ public struct ThemeSettings: SDKModel { private var _warn_button_color: AnyString? /** - * Warning button color + * (DEPRECATED) Warning button color */ public var warn_button_color: String? { get { _warn_button_color?.value } @@ -20901,7 +20903,25 @@ public struct ThemeSettings: SDKModel { */ public var center_dashboard_title: Bool? - public init(background_color: String? = nil, base_font_size: String? = nil, color_collection_id: String? = nil, font_color: String? = nil, font_family: String? = nil, font_source: String? = nil, info_button_color: String? = nil, primary_button_color: String? = nil, show_filters_bar: Bool? = nil, show_title: Bool? = nil, text_tile_text_color: String? = nil, tile_background_color: String? = nil, text_tile_background_color: String? = nil, tile_text_color: String? = nil, title_color: String? = nil, warn_button_color: String? = nil, tile_title_alignment: String? = nil, tile_shadow: Bool? = nil, show_last_updated_indicator: Bool? = nil, show_reload_data_icon: Bool? = nil, show_dashboard_menu: Bool? = nil, show_filters_toggle: Bool? = nil, show_dashboard_header: Bool? = nil, center_dashboard_title: Bool? = nil) { + private var _dashboard_title_font_size: AnyString? + /** + * Dashboard title font size. + */ + public var dashboard_title_font_size: String? { + get { _dashboard_title_font_size?.value } + set { _dashboard_title_font_size = newValue.map(AnyString.init) } + } + + private var _box_shadow: AnyString? + /** + * Default box shadow. + */ + public var box_shadow: String? { + get { _box_shadow?.value } + set { _box_shadow = newValue.map(AnyString.init) } + } + + public init(background_color: String? = nil, base_font_size: String? = nil, color_collection_id: String? = nil, font_color: String? = nil, font_family: String? = nil, font_source: String? = nil, info_button_color: String? = nil, primary_button_color: String? = nil, show_filters_bar: Bool? = nil, show_title: Bool? = nil, text_tile_text_color: String? = nil, tile_background_color: String? = nil, text_tile_background_color: String? = nil, tile_text_color: String? = nil, title_color: String? = nil, warn_button_color: String? = nil, tile_title_alignment: String? = nil, tile_shadow: Bool? = nil, show_last_updated_indicator: Bool? = nil, show_reload_data_icon: Bool? = nil, show_dashboard_menu: Bool? = nil, show_filters_toggle: Bool? = nil, show_dashboard_header: Bool? = nil, center_dashboard_title: Bool? = nil, dashboard_title_font_size: String? = nil, box_shadow: String? = nil) { self._background_color = background_color.map(AnyString.init) self._base_font_size = base_font_size.map(AnyString.init) self._color_collection_id = color_collection_id.map(AnyString.init) @@ -20926,6 +20946,8 @@ public struct ThemeSettings: SDKModel { self.show_filters_toggle = show_filters_toggle self.show_dashboard_header = show_dashboard_header self.center_dashboard_title = center_dashboard_title + self._dashboard_title_font_size = dashboard_title_font_size.map(AnyString.init) + self._box_shadow = box_shadow.map(AnyString.init) } } @@ -21124,7 +21146,7 @@ public struct User: SDKModel { } /** - * API 3 credentials (read-only) + * API credentials (read-only) */ public var credentials_api3: [CredentialsApi3]? @@ -24137,7 +24159,7 @@ public struct WriteDBConnection: SDKModel { private var _schema: AnyString? /** - * Scheme name + * Schema name */ public var schema: String? { get { _schema?.value } @@ -24450,7 +24472,7 @@ public struct WriteDBConnectionOverride: SDKModel { private var _schema: AnyString? /** - * Scheme name + * Schema name */ public var schema: String? { get { _schema?.value } diff --git a/swift/looker/sdk/streams.swift b/swift/looker/sdk/streams.swift index b6269920b..2278bb744 100644 --- a/swift/looker/sdk/streams.swift +++ b/swift/looker/sdk/streams.swift @@ -325,8 +325,8 @@ open class LookerSDKStream: APIMethods { * ### Present client credentials to obtain an authorization token * * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern. - * The client credentials required for this login must be obtained by creating an API3 key on a user account - * in the Looker Admin console. The API3 key consists of a public `client_id` and a private `client_secret`. + * The client credentials required for this login must be obtained by creating an API key on a user account + * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`. * * The access token returned by `login` must be used in the HTTP Authorization header of subsequent * API requests, like this: @@ -349,17 +349,17 @@ open class LookerSDKStream: APIMethods { * ### Best Practice: * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations. * - * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API3](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). + * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md). * * POST /login -> AccessToken */ public func login( /** - * @param {String} client_id client_id part of API3 Key. + * @param {String} client_id client_id part of API Key. */ client_id: String? = nil, /** - * @param {String} client_secret client_secret part of API3 Key. + * @param {String} client_secret client_secret part of API Key. */ client_secret: String? = nil, options: ITransportSettings? = nil @@ -3748,6 +3748,10 @@ open class LookerSDKStream: APIMethods { * @param {String} reload Whether or not to refresh the rendered image with the latest content */ reload: String? = nil, + /** + * @param {String} theme Light or dark background. Default is "light" + */ + theme: String? = nil, /** * @param {String} format A value of png produces a thumbnail in PNG format instead of SVG (default) */ @@ -3765,7 +3769,7 @@ open class LookerSDKStream: APIMethods { let path_type = encodeParam(type) let path_resource_id = encodeParam(resource_id) let result: SDKResponse = self.get("/content_thumbnail/\(path_type)/\(path_resource_id)", - ["reload": reload, "format": format, "width": width, "height": height], nil, options) + ["reload": reload, "theme": theme, "format": format, "width": width, "height": height], nil, options) return result } @@ -3967,7 +3971,8 @@ open class LookerSDKStream: APIMethods { /** * ### Search Dashboards * - * Returns an **array of dashboard objects** that match the specified search criteria. + * Returns an array of **user-defined dashboard** objects that match the specified search criteria. + * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects. * * If multiple search params are given and `filter_or` is FALSE or not specified, * search params are combined in a logical AND operation. @@ -11153,7 +11158,7 @@ open class LookerSDKStream: APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> CredentialsApi3 */ @@ -11163,7 +11168,7 @@ open class LookerSDKStream: APIMethods { */ _ user_id: String, /** - * @param {String} credentials_api3_id Id of API 3 Credential + * @param {String} credentials_api3_id Id of API Credential */ _ credentials_api3_id: String, /** @@ -11180,7 +11185,7 @@ open class LookerSDKStream: APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> String */ @@ -11190,7 +11195,7 @@ open class LookerSDKStream: APIMethods { */ _ user_id: String, /** - * @param {String} credentials_api3_id Id of API 3 Credential + * @param {String} credentials_api3_id Id of API Credential */ _ credentials_api3_id: String, options: ITransportSettings? = nil @@ -11202,7 +11207,7 @@ open class LookerSDKStream: APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * GET /users/{user_id}/credentials_api3 -> [CredentialsApi3] */ @@ -11224,7 +11229,7 @@ open class LookerSDKStream: APIMethods { } /** - * ### API 3 login information for the specified user. This is for the newer API keys that can be added for any user. + * ### API login information for the specified user. This is for the newer API keys that can be added for any user. * * POST /users/{user_id}/credentials_api3 -> CreateCredentialsApi3 */ @@ -11921,7 +11926,7 @@ open class LookerSDKStream: APIMethods { * * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using * the same user account will see the same files in the dev workspace. To avoid collisions between - * API clients it's best to have each client login with API3 credentials for a different user account. + * API clients it's best to have each client login with API credentials for a different user account. * * Changes made to files in a dev workspace are persistent across API sessions. It's a good * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files