diff --git a/csharp/rtl/Constants.cs b/csharp/rtl/Constants.cs index 2e8842f39..b8929061f 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.17"; + public const string LookerVersion = "23.18"; public const string Bearer = "Bearer"; public const string LookerAppiId = "x-looker-appid"; diff --git a/csharp/sdk/4.0/methods.cs b/csharp/sdk/4.0/methods.cs index ad74b9348..99007d41f 100644 --- a/csharp/sdk/4.0/methods.cs +++ b/csharp/sdk/4.0/methods.cs @@ -5414,25 +5414,6 @@ public async Task> test_integratio #endregion Integration: Manage Integrations - #region JdbcInterface: LookML Model metadata for JDBC Clients - - /// ### Handle Avatica RPC Requests - /// - /// GET /__jdbc_interface__ -> JdbcInterface - /// - /// JdbcInterface (application/json) - /// - /// Avatica RPC request - public async Task> jdbc_interface( - string? avatica_request = null, - ITransportSettings? options = null) -{ - return await AuthRequest(HttpMethod.Get, "/__jdbc_interface__", new Values { - { "avatica_request", avatica_request }},null,options); - } - - #endregion JdbcInterface: LookML Model metadata for JDBC Clients - #region Look: Run and Manage Looks /// ### Get information about all active Looks @@ -7449,70 +7430,6 @@ public async Task> kill_query( return await AuthRequest(HttpMethod.Delete, $"/running_queries/{query_task_id}", null,null,options); } - /// ### Run a saved SQL interface query. - /// - /// This runs a previously created SQL interface query. - /// - /// The 'result_format' parameter specifies the desired structure and format of the response. - /// - /// Supported formats: - /// - /// | result_format | Description - /// | :-----------: | :--- | - /// | json | Plain json - /// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - /// | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - /// | csv | Comma separated values with a header - /// | txt | Tab separated values with a header - /// | html | Simple html - /// | md | Simple markdown - /// | xlsx | MS Excel spreadsheet - /// | sql | Returns the generated SQL rather than running the query - /// | png | A PNG image of the visualization of the query - /// | jpg | A JPG image of the visualization of the query - /// - /// GET /sql_interface_queries/{query_id}/run/{result_format} -> string - /// - /// **Note**: Binary content may be returned by this method. - /// - /// - /// string SQL Interface Query (text) - /// string SQL Interface Query (application/json) - /// string SQL Interface Query (image/png) - /// string SQL Interface Query (image/jpeg) - /// - /// - /// Integer id of query - /// Format of result, options are: ["json_bi"] - public async Task> run_sql_interface_query( - long query_id, - string result_format, - ITransportSettings? options = null) where TSuccess : class -{ - result_format = SdkUtils.EncodeParam(result_format); - return await AuthRequest(HttpMethod.Get, $"/sql_interface_queries/{query_id}/run/{result_format}", null,null,options); - } - - /// ### Create a SQL interface query. - /// - /// This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - /// and are not deleted. If you create a query that is exactly like an existing query then the existing query - /// will be returned and no new query will be created. Whether a new query is created or not, you can use - /// the 'id' in the returned query with the 'run' method. - /// - /// The query parameters are passed as json in the body of the request. - /// - /// POST /sql_interface_queries -> SqlInterfaceQuery - /// - /// SqlInterfaceQuery SQL Interface Query (application/json) - /// - public async Task> create_sql_interface_query( - WriteSqlInterfaceQueryCreate body, - ITransportSettings? options = null) -{ - return await AuthRequest(HttpMethod.Post, "/sql_interface_queries", null,body,options); - } - /// ### Create a SQL Runner Query /// /// Either the `connection_name` or `model_name` parameter MUST be provided. @@ -8816,6 +8733,89 @@ public async Task> update_session( #endregion Session: Session Information + #region SqlInterfaceQuery: Run and Manage SQL Interface Queries + + /// ### Handles Avatica RPC metadata requests for SQL Interface queries + /// + /// GET /sql_interface_queries/metadata -> SqlInterfaceQueryMetadata + /// + /// SqlInterfaceQueryMetadata (application/json) + /// + /// Avatica RPC request + public async Task> sql_interface_metadata( + string? avatica_request = null, + ITransportSettings? options = null) +{ + return await AuthRequest(HttpMethod.Get, "/sql_interface_queries/metadata", new Values { + { "avatica_request", avatica_request }},null,options); + } + + /// ### Run a saved SQL interface query. + /// + /// This runs a previously created SQL interface query. + /// + /// The 'result_format' parameter specifies the desired structure and format of the response. + /// + /// Supported formats: + /// + /// | result_format | Description + /// | :-----------: | :--- | + /// | json | Plain json + /// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + /// | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + /// | csv | Comma separated values with a header + /// | txt | Tab separated values with a header + /// | html | Simple html + /// | md | Simple markdown + /// | xlsx | MS Excel spreadsheet + /// | sql | Returns the generated SQL rather than running the query + /// | png | A PNG image of the visualization of the query + /// | jpg | A JPG image of the visualization of the query + /// + /// GET /sql_interface_queries/{query_id}/run/{result_format} -> string + /// + /// **Note**: Binary content may be returned by this method. + /// + /// + /// string SQL Interface Query (text) + /// string SQL Interface Query (application/json) + /// string SQL Interface Query (image/png) + /// string SQL Interface Query (image/jpeg) + /// + /// + /// Integer id of query + /// Format of result, options are: ["json_bi"] + public async Task> run_sql_interface_query( + long query_id, + string result_format, + ITransportSettings? options = null) where TSuccess : class +{ + result_format = SdkUtils.EncodeParam(result_format); + return await AuthRequest(HttpMethod.Get, $"/sql_interface_queries/{query_id}/run/{result_format}", null,null,options); + } + + /// ### Create a SQL interface query. + /// + /// This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + /// and are not deleted. If you create a query that is exactly like an existing query then the existing query + /// will be returned and no new query will be created. Whether a new query is created or not, you can use + /// the 'id' in the returned query with the 'run' method. + /// + /// The query parameters are passed as json in the body of the request. + /// + /// POST /sql_interface_queries -> SqlInterfaceQuery + /// + /// SqlInterfaceQuery SQL Interface Query (application/json) + /// + public async Task> create_sql_interface_query( + WriteSqlInterfaceQueryCreate body, + ITransportSettings? options = null) +{ + return await AuthRequest(HttpMethod.Post, "/sql_interface_queries", null,body,options); + } + + #endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries + #region Theme: Manage Themes /// ### Get an array of all existing themes @@ -8824,7 +8824,7 @@ public async Task> update_session( /// /// This method returns an array of all existing themes. The active time for the theme is not considered. /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// GET /themes -> Theme[] /// @@ -8853,7 +8853,7 @@ public async Task> all_themes( /// /// For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// POST /themes -> Theme /// @@ -8903,7 +8903,7 @@ public async Task> create_theme( /// /// Get a **single theme** by id with [Theme](#!/Theme/theme) /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// GET /themes/search -> Theme[] /// @@ -8973,7 +8973,7 @@ public async Task> default_theme( /// /// Returns the new specified default theme object. /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// PUT /themes/default -> Theme /// @@ -8996,7 +8996,7 @@ public async Task> set_default_theme( /// /// The optional `ts` parameter can specify a different timestamp than "now." /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// GET /themes/active -> Theme[] /// @@ -9022,7 +9022,7 @@ public async Task> active_themes( /// The optional `ts` parameter can specify a different timestamp than "now." /// Note: API users with `show` ability can call this function /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// GET /themes/theme_or_default -> Theme /// @@ -9046,7 +9046,7 @@ public async Task> theme_or_default( /// /// See [Create Theme](#!/Theme/create_theme) for constraints /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// POST /themes/validate -> ValidationError /// @@ -9066,7 +9066,7 @@ public async Task> validate_theme( /// /// Use this to retrieve a specific theme, whether or not it's currently active. /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// GET /themes/{theme_id} -> Theme /// @@ -9086,7 +9086,7 @@ public async Task> theme( /// ### Update the theme by id. /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// PATCH /themes/{theme_id} -> Theme /// @@ -9110,7 +9110,7 @@ public async Task> update_theme( /// /// All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). /// - /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + /// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. /// /// DELETE /themes/{theme_id} -> string /// diff --git a/csharp/sdk/4.0/models.cs b/csharp/sdk/4.0/models.cs index be8f99fe3..0607d4c92 100644 --- a/csharp/sdk/4.0/models.cs +++ b/csharp/sdk/4.0/models.cs @@ -2606,12 +2606,6 @@ public enum InvestigativeContentType dashboard } -public class JdbcInterface : SdkModel -{ - /// JDBC Metadata to inflate Avatica response classes. (read-only) - public string? results { get; set; } = null; -} - public class LDAPConfig : SdkModel { /// Operations the current user is able to perform on this object (read-only) @@ -3970,8 +3964,6 @@ public class Project : SdkModel public bool? is_example { get; set; } = null; /// Status of dependencies in your manifest & lockfile public string? dependency_status { get; set; } = null; - /// Number of data tests within project (read-only) - public long? data_tests_count { get; set; } = null; } public class ProjectError : SdkModel @@ -4880,6 +4872,12 @@ public class SqlInterfaceQueryCreate : SdkModel public bool? jdbc_client { get; set; } = null; } +public class SqlInterfaceQueryMetadata : SdkModel +{ + /// JDBC Metadata to inflate Avatica response classes. (read-only) + public string? results { get; set; } = null; +} + public class SqlQuery : SdkModel { /// Operations the current user is able to perform on this object (read-only) @@ -6500,7 +6498,7 @@ public class WritePrivatelabelConfiguration : SdkModel } /// Dynamic writeable type for Project removes: -/// can, id, uses_git, is_example, data_tests_count +/// can, id, uses_git, is_example public class WriteProject : SdkModel { /// Project display name diff --git a/go/sdk/v4/methods.go b/go/sdk/v4/methods.go index 46d6be848..2d8cd5f0d 100644 --- a/go/sdk/v4/methods.go +++ b/go/sdk/v4/methods.go @@ -3865,7 +3865,7 @@ func (l *LookerSDK) SearchGroups(request RequestSearchGroups, // Boolean search params accept only "true" and "false" as values. // // GET /groups/search/with_roles -> []GroupSearch -func (l *LookerSDK) SearchGroupsWithRoles(request RequestSearchGroupsWithRoles, +func (l *LookerSDK) SearchGroupsWithRoles(request RequestSearchGroups, options *rtl.ApiSettings) ([]GroupSearch, error) { var result []GroupSearch err := l.session.Do(&result, "GET", "/4.0", "/groups/search/with_roles", map[string]interface{}{"fields": request.Fields, "limit": request.Limit, "offset": request.Offset, "sorts": request.Sorts, "filter_or": request.FilterOr, "id": request.Id, "name": request.Name, "external_group_id": request.ExternalGroupId, "externally_managed": request.ExternallyManaged, "externally_orphaned": request.ExternallyOrphaned}, nil, options) @@ -3900,7 +3900,7 @@ func (l *LookerSDK) SearchGroupsWithRoles(request RequestSearchGroupsWithRoles, // Boolean search params accept only "true" and "false" as values. // // GET /groups/search/with_hierarchy -> []GroupHierarchy -func (l *LookerSDK) SearchGroupsWithHierarchy(request RequestSearchGroupsWithHierarchy, +func (l *LookerSDK) SearchGroupsWithHierarchy(request RequestSearchGroups, options *rtl.ApiSettings) ([]GroupHierarchy, error) { var result []GroupHierarchy err := l.session.Do(&result, "GET", "/4.0", "/groups/search/with_hierarchy", map[string]interface{}{"fields": request.Fields, "limit": request.Limit, "offset": request.Offset, "sorts": request.Sorts, "filter_or": request.FilterOr, "id": request.Id, "name": request.Name, "external_group_id": request.ExternalGroupId, "externally_managed": request.ExternallyManaged, "externally_orphaned": request.ExternallyOrphaned}, nil, options) @@ -4237,22 +4237,6 @@ func (l *LookerSDK) TestIntegration( // endregion Integration: Manage Integrations -// region JdbcInterface: LookML Model metadata for JDBC Clients - -// ### Handle Avatica RPC Requests -// -// GET /__jdbc_interface__ -> JdbcInterface -func (l *LookerSDK) JdbcInterface( - avaticaRequest string, - options *rtl.ApiSettings) (JdbcInterface, error) { - var result JdbcInterface - err := l.session.Do(&result, "GET", "/4.0", "/__jdbc_interface__", map[string]interface{}{"avatica_request": avaticaRequest}, nil, options) - return result, err - -} - -// endregion JdbcInterface: LookML Model metadata for JDBC Clients - // region Look: Run and Manage Looks // ### Get information about all active Looks @@ -4476,7 +4460,7 @@ func (l *LookerSDK) MoveLook( // ### Get information about all lookml models. // // GET /lookml_models -> []LookmlModel -func (l *LookerSDK) AllLookmlModels(request RequestAllLookmlModels, +func (l *LookerSDK) AllLookmlModels(request RequestArtifactNamespaces, options *rtl.ApiSettings) ([]LookmlModel, error) { var result []LookmlModel err := l.session.Do(&result, "GET", "/4.0", "/lookml_models", map[string]interface{}{"fields": request.Fields, "limit": request.Limit, "offset": request.Offset}, nil, options) @@ -5713,61 +5697,6 @@ func (l *LookerSDK) KillQuery( } -// ### Run a saved SQL interface query. -// -// This runs a previously created SQL interface query. -// -// The 'result_format' parameter specifies the desired structure and format of the response. -// -// Supported formats: -// -// | result_format | Description -// | :-----------: | :--- | -// | json | Plain json -// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query -// | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query -// | csv | Comma separated values with a header -// | txt | Tab separated values with a header -// | html | Simple html -// | md | Simple markdown -// | xlsx | MS Excel spreadsheet -// | sql | Returns the generated SQL rather than running the query -// | png | A PNG image of the visualization of the query -// | jpg | A JPG image of the visualization of the query -// -// GET /sql_interface_queries/{query_id}/run/{result_format} -> string -// -// **Note**: Binary content may be returned by this method. -func (l *LookerSDK) RunSqlInterfaceQuery( - queryId int64, - resultFormat string, - options *rtl.ApiSettings) (string, error) { - resultFormat = url.PathEscape(resultFormat) - var result string - err := l.session.Do(&result, "GET", "/4.0", fmt.Sprintf("/sql_interface_queries/%v/run/%v", queryId, resultFormat), nil, nil, options) - return result, err - -} - -// ### Create a SQL interface query. -// -// This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created -// and are not deleted. If you create a query that is exactly like an existing query then the existing query -// will be returned and no new query will be created. Whether a new query is created or not, you can use -// the 'id' in the returned query with the 'run' method. -// -// The query parameters are passed as json in the body of the request. -// -// POST /sql_interface_queries -> SqlInterfaceQuery -func (l *LookerSDK) CreateSqlInterfaceQuery( - body WriteSqlInterfaceQueryCreate, - options *rtl.ApiSettings) (SqlInterfaceQuery, error) { - var result SqlInterfaceQuery - err := l.session.Do(&result, "POST", "/4.0", "/sql_interface_queries", nil, body, options) - return result, err - -} - // ### Create a SQL Runner Query // // Either the `connection_name` or `model_name` parameter MUST be provided. @@ -6085,7 +6014,7 @@ func (l *LookerSDK) AllPermissions( // Boolean search params accept only "true" and "false" as values. // // GET /permission_sets/search -> []PermissionSet -func (l *LookerSDK) SearchPermissionSets(request RequestSearchPermissionSets, +func (l *LookerSDK) SearchPermissionSets(request RequestSearchModelSets, options *rtl.ApiSettings) ([]PermissionSet, error) { var result []PermissionSet err := l.session.Do(&result, "GET", "/4.0", "/permission_sets/search", map[string]interface{}{"fields": request.Fields, "limit": request.Limit, "offset": request.Offset, "sorts": request.Sorts, "id": request.Id, "name": request.Name, "all_access": request.AllAccess, "built_in": request.BuiltIn, "filter_or": request.FilterOr}, nil, options) @@ -6242,7 +6171,7 @@ func (l *LookerSDK) SearchRoles(request RequestSearchRoles, // Boolean search params accept only "true" and "false" as values. // // GET /roles/search/with_user_count -> []RoleSearch -func (l *LookerSDK) SearchRolesWithUserCount(request RequestSearchRolesWithUserCount, +func (l *LookerSDK) SearchRolesWithUserCount(request RequestSearchRoles, options *rtl.ApiSettings) ([]RoleSearch, error) { var result []RoleSearch err := l.session.Do(&result, "GET", "/4.0", "/roles/search/with_user_count", map[string]interface{}{"fields": request.Fields, "limit": request.Limit, "offset": request.Offset, "sorts": request.Sorts, "id": request.Id, "name": request.Name, "built_in": request.BuiltIn, "filter_or": request.FilterOr}, nil, options) @@ -6754,6 +6683,77 @@ func (l *LookerSDK) UpdateSession( // endregion Session: Session Information +// region SqlInterfaceQuery: Run and Manage SQL Interface Queries + +// ### Handles Avatica RPC metadata requests for SQL Interface queries +// +// GET /sql_interface_queries/metadata -> SqlInterfaceQueryMetadata +func (l *LookerSDK) SqlInterfaceMetadata( + avaticaRequest string, + options *rtl.ApiSettings) (SqlInterfaceQueryMetadata, error) { + var result SqlInterfaceQueryMetadata + err := l.session.Do(&result, "GET", "/4.0", "/sql_interface_queries/metadata", map[string]interface{}{"avatica_request": avaticaRequest}, nil, options) + return result, err + +} + +// ### Run a saved SQL interface query. +// +// This runs a previously created SQL interface query. +// +// The 'result_format' parameter specifies the desired structure and format of the response. +// +// Supported formats: +// +// | result_format | Description +// | :-----------: | :--- | +// | json | Plain json +// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query +// | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query +// | csv | Comma separated values with a header +// | txt | Tab separated values with a header +// | html | Simple html +// | md | Simple markdown +// | xlsx | MS Excel spreadsheet +// | sql | Returns the generated SQL rather than running the query +// | png | A PNG image of the visualization of the query +// | jpg | A JPG image of the visualization of the query +// +// GET /sql_interface_queries/{query_id}/run/{result_format} -> string +// +// **Note**: Binary content may be returned by this method. +func (l *LookerSDK) RunSqlInterfaceQuery( + queryId int64, + resultFormat string, + options *rtl.ApiSettings) (string, error) { + resultFormat = url.PathEscape(resultFormat) + var result string + err := l.session.Do(&result, "GET", "/4.0", fmt.Sprintf("/sql_interface_queries/%v/run/%v", queryId, resultFormat), nil, nil, options) + return result, err + +} + +// ### Create a SQL interface query. +// +// This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created +// and are not deleted. If you create a query that is exactly like an existing query then the existing query +// will be returned and no new query will be created. Whether a new query is created or not, you can use +// the 'id' in the returned query with the 'run' method. +// +// The query parameters are passed as json in the body of the request. +// +// POST /sql_interface_queries -> SqlInterfaceQuery +func (l *LookerSDK) CreateSqlInterfaceQuery( + body WriteSqlInterfaceQueryCreate, + options *rtl.ApiSettings) (SqlInterfaceQuery, error) { + var result SqlInterfaceQuery + err := l.session.Do(&result, "POST", "/4.0", "/sql_interface_queries", nil, body, options) + return result, err + +} + +// endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries + // region Theme: Manage Themes // ### Get an array of all existing themes @@ -6762,7 +6762,7 @@ func (l *LookerSDK) UpdateSession( // // This method returns an array of all existing themes. The active time for the theme is not considered. // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // GET /themes -> []Theme func (l *LookerSDK) AllThemes( @@ -6788,7 +6788,7 @@ func (l *LookerSDK) AllThemes( // // For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // POST /themes -> Theme func (l *LookerSDK) CreateTheme( @@ -6836,7 +6836,7 @@ func (l *LookerSDK) CreateTheme( // // Get a **single theme** by id with [Theme](#!/Theme/theme) // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // GET /themes/search -> []Theme func (l *LookerSDK) SearchThemes(request RequestSearchThemes, @@ -6875,7 +6875,7 @@ func (l *LookerSDK) DefaultTheme( // // Returns the new specified default theme object. // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // PUT /themes/default -> Theme func (l *LookerSDK) SetDefaultTheme( @@ -6895,7 +6895,7 @@ func (l *LookerSDK) SetDefaultTheme( // // The optional `ts` parameter can specify a different timestamp than "now." // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // GET /themes/active -> []Theme func (l *LookerSDK) ActiveThemes(request RequestActiveThemes, @@ -6911,7 +6911,7 @@ func (l *LookerSDK) ActiveThemes(request RequestActiveThemes, // The optional `ts` parameter can specify a different timestamp than "now." // Note: API users with `show` ability can call this function // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // GET /themes/theme_or_default -> Theme func (l *LookerSDK) ThemeOrDefault( @@ -6930,7 +6930,7 @@ func (l *LookerSDK) ThemeOrDefault( // // See [Create Theme](#!/Theme/create_theme) for constraints // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // POST /themes/validate -> ValidationError func (l *LookerSDK) ValidateTheme( @@ -6946,7 +6946,7 @@ func (l *LookerSDK) ValidateTheme( // // Use this to retrieve a specific theme, whether or not it's currently active. // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // GET /themes/{theme_id} -> Theme func (l *LookerSDK) Theme( @@ -6962,7 +6962,7 @@ func (l *LookerSDK) Theme( // ### Update the theme by id. // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // PATCH /themes/{theme_id} -> Theme func (l *LookerSDK) UpdateTheme( @@ -6984,7 +6984,7 @@ func (l *LookerSDK) UpdateTheme( // // All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). // -// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. +// **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. // // DELETE /themes/{theme_id} -> string func (l *LookerSDK) DeleteTheme( @@ -7837,7 +7837,7 @@ func (l *LookerSDK) CreateEmbedUser( // ### Get information about all user attributes. // // GET /user_attributes -> []UserAttribute -func (l *LookerSDK) AllUserAttributes(request RequestAllUserAttributes, +func (l *LookerSDK) AllUserAttributes(request RequestAllBoardSections, options *rtl.ApiSettings) ([]UserAttribute, error) { var result []UserAttribute err := l.session.Do(&result, "GET", "/4.0", "/user_attributes", map[string]interface{}{"fields": request.Fields, "sorts": request.Sorts}, nil, options) diff --git a/go/sdk/v4/models.go b/go/sdk/v4/models.go index 6678ebc71..67dc560a8 100644 --- a/go/sdk/v4/models.go +++ b/go/sdk/v4/models.go @@ -26,7 +26,7 @@ SOFTWARE. /* -397 API models: 249 Spec, 66 Request, 60 Write, 22 Enum +392 API models: 249 Spec, 60 Request, 61 Write, 22 Enum */ // NOTE: Do not edit this file generated by Looker SDK Codegen for API v4 @@ -1467,10 +1467,6 @@ type InvestigativeContentType string const InvestigativeContentType_Dashboard InvestigativeContentType = "dashboard" -type JdbcInterface struct { - Results *string `json:"results,omitempty"` // JDBC Metadata to inflate Avatica response classes. -} - type LDAPConfig struct { Can *map[string]bool `json:"can,omitempty"` // Operations the current user is able to perform on this object AlternateEmailLoginAllowed *bool `json:"alternate_email_login_allowed,omitempty"` // Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled. @@ -2215,7 +2211,6 @@ type Project struct { AllowWarnings *bool `json:"allow_warnings,omitempty"` // Validation policy: If true, the project can be committed with warnings when `validation_required` is true. (`allow_warnings` does nothing if `validation_required` is false). IsExample *bool `json:"is_example,omitempty"` // If true the project is an example project and cannot be modified DependencyStatus *string `json:"dependency_status,omitempty"` // Status of dependencies in your manifest & lockfile - DataTestsCount *int64 `json:"data_tests_count,omitempty"` // Number of data tests within project } type ProjectError struct { @@ -2425,13 +2420,6 @@ type RequestAllIntegrations struct { IntegrationHubId *string `json:"integration_hub_id,omitempty"` // Filter to a specific provider } -// Dynamically generated request type for all_lookml_models -type RequestAllLookmlModels struct { - Fields *string `json:"fields,omitempty"` // Requested fields. - Limit *int64 `json:"limit,omitempty"` // Number of results to return. (can be used with offset) - Offset *int64 `json:"offset,omitempty"` // Number of results to skip before returning any. (Defaults to 0 if not set when limit is used) -} - // Dynamically generated request type for all_roles type RequestAllRoles struct { Fields *string `json:"fields,omitempty"` // Requested fields. @@ -2445,12 +2433,6 @@ type RequestAllScheduledPlans struct { AllUsers *bool `json:"all_users,omitempty"` // Return scheduled plans belonging to all users (caller needs see_schedules permission) } -// Dynamically generated request type for all_user_attributes -type RequestAllUserAttributes struct { - Fields *string `json:"fields,omitempty"` // Requested fields. - Sorts *string `json:"sorts,omitempty"` // Fields to order the results by. Sortable fields include: name, label -} - // Dynamically generated request type for all_users type RequestAllUsers struct { Fields *string `json:"fields,omitempty"` // Requested fields. @@ -2894,34 +2876,6 @@ type RequestSearchGroups struct { ExternallyOrphaned *bool `json:"externally_orphaned,omitempty"` // Match group externally_orphaned. } -// Dynamically generated request type for search_groups_with_hierarchy -type RequestSearchGroupsWithHierarchy struct { - Fields *string `json:"fields,omitempty"` // Requested fields. - Limit *int64 `json:"limit,omitempty"` // Number of results to return (used with `offset`). - Offset *int64 `json:"offset,omitempty"` // Number of results to skip before returning any (used with `limit`). - Sorts *string `json:"sorts,omitempty"` // Fields to sort by. - FilterOr *bool `json:"filter_or,omitempty"` // Combine given search criteria in a boolean OR expression - Id *string `json:"id,omitempty"` // Match group id. - Name *string `json:"name,omitempty"` // Match group name. - ExternalGroupId *string `json:"external_group_id,omitempty"` // Match group external_group_id. - ExternallyManaged *bool `json:"externally_managed,omitempty"` // Match group externally_managed. - ExternallyOrphaned *bool `json:"externally_orphaned,omitempty"` // Match group externally_orphaned. -} - -// Dynamically generated request type for search_groups_with_roles -type RequestSearchGroupsWithRoles struct { - Fields *string `json:"fields,omitempty"` // Requested fields. - Limit *int64 `json:"limit,omitempty"` // Number of results to return (used with `offset`). - Offset *int64 `json:"offset,omitempty"` // Number of results to skip before returning any (used with `limit`). - Sorts *string `json:"sorts,omitempty"` // Fields to sort by. - FilterOr *bool `json:"filter_or,omitempty"` // Combine given search criteria in a boolean OR expression - Id *string `json:"id,omitempty"` // Match group id. - Name *string `json:"name,omitempty"` // Match group name. - ExternalGroupId *string `json:"external_group_id,omitempty"` // Match group external_group_id. - ExternallyManaged *bool `json:"externally_managed,omitempty"` // Match group externally_managed. - ExternallyOrphaned *bool `json:"externally_orphaned,omitempty"` // Match group externally_orphaned. -} - // Dynamically generated request type for search_looks type RequestSearchLooks struct { Id *string `json:"id,omitempty"` // Match look id. @@ -2957,19 +2911,6 @@ type RequestSearchModelSets struct { FilterOr *bool `json:"filter_or,omitempty"` // Combine given search criteria in a boolean OR expression. } -// Dynamically generated request type for search_permission_sets -type RequestSearchPermissionSets struct { - Fields *string `json:"fields,omitempty"` // Requested fields. - Limit *int64 `json:"limit,omitempty"` // Number of results to return (used with `offset`). - Offset *int64 `json:"offset,omitempty"` // Number of results to skip before returning any (used with `limit`). - Sorts *string `json:"sorts,omitempty"` // Fields to sort by. - Id *string `json:"id,omitempty"` // Match permission set id. - Name *string `json:"name,omitempty"` // Match permission set name. - AllAccess *bool `json:"all_access,omitempty"` // Match permission sets by all_access status. - BuiltIn *bool `json:"built_in,omitempty"` // Match permission sets by built_in status. - FilterOr *bool `json:"filter_or,omitempty"` // Combine given search criteria in a boolean OR expression. -} - // Dynamically generated request type for search_roles type RequestSearchRoles struct { Fields *string `json:"fields,omitempty"` // Requested fields. @@ -2982,18 +2923,6 @@ type RequestSearchRoles struct { FilterOr *bool `json:"filter_or,omitempty"` // Combine given search criteria in a boolean OR expression. } -// Dynamically generated request type for search_roles_with_user_count -type RequestSearchRolesWithUserCount struct { - Fields *string `json:"fields,omitempty"` // Requested fields. - Limit *int64 `json:"limit,omitempty"` // Number of results to return (used with `offset`). - Offset *int64 `json:"offset,omitempty"` // Number of results to skip before returning any (used with `limit`). - Sorts *string `json:"sorts,omitempty"` // Fields to sort by. - Id *string `json:"id,omitempty"` // Match role id. - Name *string `json:"name,omitempty"` // Match role name. - BuiltIn *bool `json:"built_in,omitempty"` // Match roles by built_in status. - FilterOr *bool `json:"filter_or,omitempty"` // Combine given search criteria in a boolean OR expression. -} - // Dynamically generated request type for search_themes type RequestSearchThemes struct { Id *string `json:"id,omitempty"` // Match theme id. @@ -3448,6 +3377,10 @@ type SqlInterfaceQueryCreate struct { JdbcClient *bool `json:"jdbc_client,omitempty"` // Whether the query should be run for use in a JDBC Client. This changes the formatting of some datetime based values. } +type SqlInterfaceQueryMetadata struct { + Results *string `json:"results,omitempty"` // JDBC Metadata to inflate Avatica response classes. +} + type SqlQuery struct { Can *map[string]bool `json:"can,omitempty"` // Operations the current user is able to perform on this object Slug *string `json:"slug,omitempty"` // The identifier of the SQL query @@ -4377,7 +4310,7 @@ type WritePrivatelabelConfiguration struct { } // Dynamic writeable type for Project removes: -// can, id, uses_git, is_example, data_tests_count +// can, id, uses_git, is_example type WriteProject struct { Name *string `json:"name,omitempty"` // Project display name GitRemoteUrl *string `json:"git_remote_url,omitempty"` // Git remote repository url 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 68dd47932..f7b56a5d7 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/methods.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/methods.kt @@ -5493,25 +5493,6 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { //endregion Integration: Manage Integrations - //region JdbcInterface: LookML Model metadata for JDBC Clients - - - /** - * ### Handle Avatica RPC Requests - * - * @param {String} avatica_request Avatica RPC request - * - * GET /__jdbc_interface__ -> JdbcInterface - */ - @JvmOverloads fun jdbc_interface( - avatica_request: String? = null - ) : SDKResponse { - return this.get("/__jdbc_interface__", - mapOf("avatica_request" to avatica_request)) - } - - //endregion JdbcInterface: LookML Model metadata for JDBC Clients - //region Look: Run and Manage Looks @@ -7498,67 +7479,6 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { } - /** - * ### Run a saved SQL interface query. - * - * This runs a previously created SQL interface query. - * - * The 'result_format' parameter specifies the desired structure and format of the response. - * - * Supported formats: - * - * | result_format | Description - * | :-----------: | :--- | - * | json | Plain json - * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | csv | Comma separated values with a header - * | txt | Tab separated values with a header - * | html | Simple html - * | md | Simple markdown - * | xlsx | MS Excel spreadsheet - * | sql | Returns the generated SQL rather than running the query - * | png | A PNG image of the visualization of the query - * | jpg | A JPG image of the visualization of the query - * - * @param {Long} query_id Integer id of query - * @param {String} result_format Format of result, options are: ["json_bi"] - * - * GET /sql_interface_queries/{query_id}/run/{result_format} -> String - * - * **Note**: Binary content may be returned by this method. - */ - fun run_sql_interface_query( - query_id: Long, - result_format: String - ) : SDKResponse { - val path_query_id = encodeParam(query_id) - val path_result_format = encodeParam(result_format) - return this.get("/sql_interface_queries/${path_query_id}/run/${path_result_format}", mapOf()) - } - - - /** - * ### Create a SQL interface query. - * - * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - * and are not deleted. If you create a query that is exactly like an existing query then the existing query - * will be returned and no new query will be created. Whether a new query is created or not, you can use - * the 'id' in the returned query with the 'run' method. - * - * The query parameters are passed as json in the body of the request. - * - * @param {WriteSqlInterfaceQueryCreate} body - * - * POST /sql_interface_queries -> SqlInterfaceQuery - */ - fun create_sql_interface_query( - body: WriteSqlInterfaceQueryCreate - ) : SDKResponse { - return this.post("/sql_interface_queries", mapOf(), body) - } - - /** * ### Create a SQL Runner Query * @@ -8867,6 +8787,86 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { //endregion Session: Session Information + //region SqlInterfaceQuery: Run and Manage SQL Interface Queries + + + /** + * ### Handles Avatica RPC metadata requests for SQL Interface queries + * + * @param {String} avatica_request Avatica RPC request + * + * GET /sql_interface_queries/metadata -> SqlInterfaceQueryMetadata + */ + @JvmOverloads fun sql_interface_metadata( + avatica_request: String? = null + ) : SDKResponse { + return this.get("/sql_interface_queries/metadata", + mapOf("avatica_request" to avatica_request)) + } + + + /** + * ### Run a saved SQL interface query. + * + * This runs a previously created SQL interface query. + * + * The 'result_format' parameter specifies the desired structure and format of the response. + * + * Supported formats: + * + * | result_format | Description + * | :-----------: | :--- | + * | json | Plain json + * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | csv | Comma separated values with a header + * | txt | Tab separated values with a header + * | html | Simple html + * | md | Simple markdown + * | xlsx | MS Excel spreadsheet + * | sql | Returns the generated SQL rather than running the query + * | png | A PNG image of the visualization of the query + * | jpg | A JPG image of the visualization of the query + * + * @param {Long} query_id Integer id of query + * @param {String} result_format Format of result, options are: ["json_bi"] + * + * GET /sql_interface_queries/{query_id}/run/{result_format} -> String + * + * **Note**: Binary content may be returned by this method. + */ + fun run_sql_interface_query( + query_id: Long, + result_format: String + ) : SDKResponse { + val path_query_id = encodeParam(query_id) + val path_result_format = encodeParam(result_format) + return this.get("/sql_interface_queries/${path_query_id}/run/${path_result_format}", mapOf()) + } + + + /** + * ### Create a SQL interface query. + * + * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + * and are not deleted. If you create a query that is exactly like an existing query then the existing query + * will be returned and no new query will be created. Whether a new query is created or not, you can use + * the 'id' in the returned query with the 'run' method. + * + * The query parameters are passed as json in the body of the request. + * + * @param {WriteSqlInterfaceQueryCreate} body + * + * POST /sql_interface_queries -> SqlInterfaceQuery + */ + fun create_sql_interface_query( + body: WriteSqlInterfaceQueryCreate + ) : SDKResponse { + return this.post("/sql_interface_queries", mapOf(), body) + } + + //endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries + //region Theme: Manage Themes @@ -8877,7 +8877,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * This method returns an array of all existing themes. The active time for the theme is not considered. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} fields Requested fields. * @@ -8906,7 +8906,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {WriteTheme} body * @@ -8957,7 +8957,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * Get a **single theme** by id with [Theme](#!/Theme/theme) * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} id Match theme id. * @param {String} name Match theme name. @@ -9027,7 +9027,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * Returns the new specified default theme object. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} name Name of theme to set as default * @@ -9050,7 +9050,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * The optional `ts` parameter can specify a different timestamp than "now." * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} name Name of theme * @param {Date} ts Timestamp representing the target datetime for the active period. Defaults to 'now' @@ -9076,7 +9076,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * The optional `ts` parameter can specify a different timestamp than "now." * Note: API users with `show` ability can call this function * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} name Name of theme * @param {Date} ts Timestamp representing the target datetime for the active period. Defaults to 'now' @@ -9100,7 +9100,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * See [Create Theme](#!/Theme/create_theme) for constraints * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {WriteTheme} body * @@ -9118,7 +9118,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * Use this to retrieve a specific theme, whether or not it's currently active. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} theme_id Id of theme * @param {String} fields Requested fields. @@ -9138,7 +9138,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** * ### Update the theme by id. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} theme_id Id of theme * @param {WriteTheme} body @@ -9163,7 +9163,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} theme_id Id of theme * 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 533b1632f..d442d896d 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/models.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/models.kt @@ -2745,13 +2745,6 @@ enum class InvestigativeContentType : Serializable { dashboard } -/** - * @property results JDBC Metadata to inflate Avatica response classes. (read-only) - */ -data class JdbcInterface ( - var results: String? = null -) : Serializable - /** * @property can Operations the current user is able to perform on this object (read-only) * @property alternate_email_login_allowed Allow alternate email-based login via '/login/email' for admins and for specified users with the 'login_special_email' permission. This option is useful as a fallback during ldap setup, if ldap config problems occur later, or if you need to support some users who are not in your ldap directory. Looker email/password logins are always disabled for regular users when ldap is enabled. @@ -4144,7 +4137,6 @@ data class PrivatelabelConfiguration ( * @property allow_warnings Validation policy: If true, the project can be committed with warnings when `validation_required` is true. (`allow_warnings` does nothing if `validation_required` is false). * @property is_example If true the project is an example project and cannot be modified (read-only) * @property dependency_status Status of dependencies in your manifest & lockfile - * @property data_tests_count Number of data tests within project (read-only) */ data class Project ( var can: Map? = null, @@ -4168,8 +4160,7 @@ data class Project ( var git_release_mgmt_enabled: Boolean? = null, var allow_warnings: Boolean? = null, var is_example: Boolean? = null, - var dependency_status: String? = null, - var data_tests_count: Long? = null + var dependency_status: String? = null ) : Serializable /** @@ -5115,6 +5106,13 @@ data class SqlInterfaceQueryCreate ( var jdbc_client: Boolean? = null ) : Serializable +/** + * @property results JDBC Metadata to inflate Avatica response classes. (read-only) + */ +data class SqlInterfaceQueryMetadata ( + var results: String? = null +) : Serializable + /** * @property can Operations the current user is able to perform on this object (read-only) * @property slug The identifier of the SQL query (read-only) @@ -6807,7 +6805,7 @@ data class WritePrivatelabelConfiguration ( /** * Dynamic writeable type for Project removes: - * can, id, uses_git, is_example, data_tests_count + * can, id, uses_git, is_example * * @property name Project display name * @property git_remote_url Git remote repository url 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 037e7bf60..0d155df7f 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/streams.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/streams.kt @@ -5492,25 +5492,6 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { //endregion Integration: Manage Integrations - //region JdbcInterface: LookML Model metadata for JDBC Clients - - - /** - * ### Handle Avatica RPC Requests - * - * @param {String} avatica_request Avatica RPC request - * - * GET /__jdbc_interface__ -> ByteArray - */ - @JvmOverloads fun jdbc_interface( - avatica_request: String? = null - ) : SDKResponse { - return this.get("/__jdbc_interface__", - mapOf("avatica_request" to avatica_request)) - } - - //endregion JdbcInterface: LookML Model metadata for JDBC Clients - //region Look: Run and Manage Looks @@ -7497,67 +7478,6 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { } - /** - * ### Run a saved SQL interface query. - * - * This runs a previously created SQL interface query. - * - * The 'result_format' parameter specifies the desired structure and format of the response. - * - * Supported formats: - * - * | result_format | Description - * | :-----------: | :--- | - * | json | Plain json - * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | csv | Comma separated values with a header - * | txt | Tab separated values with a header - * | html | Simple html - * | md | Simple markdown - * | xlsx | MS Excel spreadsheet - * | sql | Returns the generated SQL rather than running the query - * | png | A PNG image of the visualization of the query - * | jpg | A JPG image of the visualization of the query - * - * @param {Long} query_id Integer id of query - * @param {String} result_format Format of result, options are: ["json_bi"] - * - * GET /sql_interface_queries/{query_id}/run/{result_format} -> ByteArray - * - * **Note**: Binary content may be returned by this method. - */ - fun run_sql_interface_query( - query_id: Long, - result_format: String - ) : SDKResponse { - val path_query_id = encodeParam(query_id) - val path_result_format = encodeParam(result_format) - return this.get("/sql_interface_queries/${path_query_id}/run/${path_result_format}", mapOf()) - } - - - /** - * ### Create a SQL interface query. - * - * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - * and are not deleted. If you create a query that is exactly like an existing query then the existing query - * will be returned and no new query will be created. Whether a new query is created or not, you can use - * the 'id' in the returned query with the 'run' method. - * - * The query parameters are passed as json in the body of the request. - * - * @param {WriteSqlInterfaceQueryCreate} body - * - * POST /sql_interface_queries -> ByteArray - */ - fun create_sql_interface_query( - body: WriteSqlInterfaceQueryCreate - ) : SDKResponse { - return this.post("/sql_interface_queries", mapOf(), body) - } - - /** * ### Create a SQL Runner Query * @@ -8866,6 +8786,86 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { //endregion Session: Session Information + //region SqlInterfaceQuery: Run and Manage SQL Interface Queries + + + /** + * ### Handles Avatica RPC metadata requests for SQL Interface queries + * + * @param {String} avatica_request Avatica RPC request + * + * GET /sql_interface_queries/metadata -> ByteArray + */ + @JvmOverloads fun sql_interface_metadata( + avatica_request: String? = null + ) : SDKResponse { + return this.get("/sql_interface_queries/metadata", + mapOf("avatica_request" to avatica_request)) + } + + + /** + * ### Run a saved SQL interface query. + * + * This runs a previously created SQL interface query. + * + * The 'result_format' parameter specifies the desired structure and format of the response. + * + * Supported formats: + * + * | result_format | Description + * | :-----------: | :--- | + * | json | Plain json + * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | csv | Comma separated values with a header + * | txt | Tab separated values with a header + * | html | Simple html + * | md | Simple markdown + * | xlsx | MS Excel spreadsheet + * | sql | Returns the generated SQL rather than running the query + * | png | A PNG image of the visualization of the query + * | jpg | A JPG image of the visualization of the query + * + * @param {Long} query_id Integer id of query + * @param {String} result_format Format of result, options are: ["json_bi"] + * + * GET /sql_interface_queries/{query_id}/run/{result_format} -> ByteArray + * + * **Note**: Binary content may be returned by this method. + */ + fun run_sql_interface_query( + query_id: Long, + result_format: String + ) : SDKResponse { + val path_query_id = encodeParam(query_id) + val path_result_format = encodeParam(result_format) + return this.get("/sql_interface_queries/${path_query_id}/run/${path_result_format}", mapOf()) + } + + + /** + * ### Create a SQL interface query. + * + * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + * and are not deleted. If you create a query that is exactly like an existing query then the existing query + * will be returned and no new query will be created. Whether a new query is created or not, you can use + * the 'id' in the returned query with the 'run' method. + * + * The query parameters are passed as json in the body of the request. + * + * @param {WriteSqlInterfaceQueryCreate} body + * + * POST /sql_interface_queries -> ByteArray + */ + fun create_sql_interface_query( + body: WriteSqlInterfaceQueryCreate + ) : SDKResponse { + return this.post("/sql_interface_queries", mapOf(), body) + } + + //endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries + //region Theme: Manage Themes @@ -8876,7 +8876,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * This method returns an array of all existing themes. The active time for the theme is not considered. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} fields Requested fields. * @@ -8905,7 +8905,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {WriteTheme} body * @@ -8956,7 +8956,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * Get a **single theme** by id with [Theme](#!/Theme/theme) * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} id Match theme id. * @param {String} name Match theme name. @@ -9026,7 +9026,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * Returns the new specified default theme object. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} name Name of theme to set as default * @@ -9049,7 +9049,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * The optional `ts` parameter can specify a different timestamp than "now." * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} name Name of theme * @param {Date} ts Timestamp representing the target datetime for the active period. Defaults to 'now' @@ -9075,7 +9075,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * The optional `ts` parameter can specify a different timestamp than "now." * Note: API users with `show` ability can call this function * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} name Name of theme * @param {Date} ts Timestamp representing the target datetime for the active period. Defaults to 'now' @@ -9099,7 +9099,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * See [Create Theme](#!/Theme/create_theme) for constraints * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {WriteTheme} body * @@ -9117,7 +9117,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * Use this to retrieve a specific theme, whether or not it's currently active. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} theme_id Id of theme * @param {String} fields Requested fields. @@ -9137,7 +9137,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** * ### Update the theme by id. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} theme_id Id of theme * @param {WriteTheme} body @@ -9162,7 +9162,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * @param {String} theme_id Id of theme * diff --git a/kotlin/src/main/com/looker/sdk/Constants.kt b/kotlin/src/main/com/looker/sdk/Constants.kt index e7cc6f4f5..107da5f50 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.17" +const val LOOKER_VERSION = "23.18" const val API_VERSION = "4.0" const val AGENT_TAG = "$SDK_TAG $LOOKER_VERSION" const val LOOKER_APPID = "x-looker-appid" diff --git a/packages/sdk/src/4.0/funcs.ts b/packages/sdk/src/4.0/funcs.ts index 8e0e73789..a04253294 100644 --- a/packages/sdk/src/4.0/funcs.ts +++ b/packages/sdk/src/4.0/funcs.ts @@ -129,7 +129,6 @@ import type { IIntegrationTestResult, IInternalHelpResources, IInternalHelpResourcesContent, - IJdbcInterface, ILDAPConfig, ILDAPConfigTestResult, ILegacyFeature, @@ -170,10 +169,8 @@ import type { IRequestAllGroups, IRequestAllGroupUsers, IRequestAllIntegrations, - IRequestAllLookmlModels, IRequestAllRoles, IRequestAllScheduledPlans, - IRequestAllUserAttributes, IRequestAllUsers, IRequestArtifact, IRequestArtifactNamespaces, @@ -213,13 +210,9 @@ import type { IRequestSearchDashboards, IRequestSearchFolders, IRequestSearchGroups, - IRequestSearchGroupsWithHierarchy, - IRequestSearchGroupsWithRoles, IRequestSearchLooks, IRequestSearchModelSets, - IRequestSearchPermissionSets, IRequestSearchRoles, - IRequestSearchRolesWithUserCount, IRequestSearchThemes, IRequestSearchUserLoginLockouts, IRequestSearchUsers, @@ -243,6 +236,7 @@ import type { ISmtpSettings, ISmtpStatus, ISqlInterfaceQuery, + ISqlInterfaceQueryMetadata, ISqlQuery, ISqlQueryCreate, ISshPublicKey, @@ -6811,13 +6805,13 @@ export const search_groups = async ( * GET /groups/search/with_roles -> IGroupSearch[] * * @param sdk IAPIMethods implementation - * @param request composed interface "IRequestSearchGroupsWithRoles" for complex method parameters + * @param request composed interface "IRequestSearchGroups" for complex method parameters * @param options one-time API call overrides * */ export const search_groups_with_roles = async ( sdk: IAPIMethods, - request: IRequestSearchGroupsWithRoles, + request: IRequestSearchGroups, options?: Partial ): Promise> => { return sdk.get( @@ -6869,13 +6863,13 @@ export const search_groups_with_roles = async ( * GET /groups/search/with_hierarchy -> IGroupHierarchy[] * * @param sdk IAPIMethods implementation - * @param request composed interface "IRequestSearchGroupsWithHierarchy" for complex method parameters + * @param request composed interface "IRequestSearchGroups" for complex method parameters * @param options one-time API call overrides * */ export const search_groups_with_hierarchy = async ( sdk: IAPIMethods, - request: IRequestSearchGroupsWithHierarchy, + request: IRequestSearchGroups, options?: Partial ): Promise> => { return sdk.get( @@ -7507,33 +7501,6 @@ export const test_integration = async ( //#endregion Integration: Manage Integrations -//#region JdbcInterface: LookML Model metadata for JDBC Clients - -/** - * ### Handle Avatica RPC Requests - * - * GET /__jdbc_interface__ -> IJdbcInterface - * - * @param sdk IAPIMethods implementation - * @param avatica_request Avatica RPC request - * @param options one-time API call overrides - * - */ -export const jdbc_interface = async ( - sdk: IAPIMethods, - avatica_request?: string, - options?: Partial -): Promise> => { - return sdk.get( - '/__jdbc_interface__', - { avatica_request }, - null, - options - ) -} - -//#endregion JdbcInterface: LookML Model metadata for JDBC Clients - //#region Look: Run and Manage Looks /** @@ -7891,13 +7858,13 @@ export const move_look = async ( * GET /lookml_models -> ILookmlModel[] * * @param sdk IAPIMethods implementation - * @param request composed interface "IRequestAllLookmlModels" for complex method parameters + * @param request composed interface "IRequestArtifactNamespaces" for complex method parameters * @param options one-time API call overrides * */ export const all_lookml_models = async ( sdk: IAPIMethods, - request: IRequestAllLookmlModels, + request: IRequestArtifactNamespaces, options?: Partial ): Promise> => { return sdk.get( @@ -9882,85 +9849,6 @@ export const kill_query = async ( ) } -/** - * ### Run a saved SQL interface query. - * - * This runs a previously created SQL interface query. - * - * The 'result_format' parameter specifies the desired structure and format of the response. - * - * Supported formats: - * - * | result_format | Description - * | :-----------: | :--- | - * | json | Plain json - * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | csv | Comma separated values with a header - * | txt | Tab separated values with a header - * | html | Simple html - * | md | Simple markdown - * | xlsx | MS Excel spreadsheet - * | sql | Returns the generated SQL rather than running the query - * | png | A PNG image of the visualization of the query - * | jpg | A JPG image of the visualization of the query - * - * GET /sql_interface_queries/{query_id}/run/{result_format} -> string - * - * @remarks - * **NOTE**: Binary content may be returned by this function. - * - * @param sdk IAPIMethods implementation - * @param query_id Integer id of query - * @param result_format Format of result, options are: ["json_bi"] - * @param options one-time API call overrides - * - */ -export const run_sql_interface_query = async ( - sdk: IAPIMethods, - query_id: number, - result_format: string, - options?: Partial -): Promise> => { - result_format = encodeParam(result_format) - return sdk.get( - `/sql_interface_queries/${query_id}/run/${result_format}`, - null, - null, - options - ) -} - -/** - * ### Create a SQL interface query. - * - * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - * and are not deleted. If you create a query that is exactly like an existing query then the existing query - * will be returned and no new query will be created. Whether a new query is created or not, you can use - * the 'id' in the returned query with the 'run' method. - * - * The query parameters are passed as json in the body of the request. - * - * POST /sql_interface_queries -> ISqlInterfaceQuery - * - * @param sdk IAPIMethods implementation - * @param body Partial - * @param options one-time API call overrides - * - */ -export const create_sql_interface_query = async ( - sdk: IAPIMethods, - body: Partial, - options?: Partial -): Promise> => { - return sdk.post( - '/sql_interface_queries', - null, - body, - options - ) -} - /** * ### Create a SQL Runner Query * @@ -10480,13 +10368,13 @@ export const all_permissions = async ( * GET /permission_sets/search -> IPermissionSet[] * * @param sdk IAPIMethods implementation - * @param request composed interface "IRequestSearchPermissionSets" for complex method parameters + * @param request composed interface "IRequestSearchModelSets" for complex method parameters * @param options one-time API call overrides * */ export const search_permission_sets = async ( sdk: IAPIMethods, - request: IRequestSearchPermissionSets, + request: IRequestSearchModelSets, options?: Partial ): Promise> => { return sdk.get( @@ -10760,13 +10648,13 @@ export const search_roles = async ( * GET /roles/search/with_user_count -> IRoleSearch[] * * @param sdk IAPIMethods implementation - * @param request composed interface "IRequestSearchRolesWithUserCount" for complex method parameters + * @param request composed interface "IRequestSearchRoles" for complex method parameters * @param options one-time API call overrides * */ export const search_roles_with_user_count = async ( sdk: IAPIMethods, - request: IRequestSearchRolesWithUserCount, + request: IRequestSearchRoles, options?: Partial ): Promise> => { return sdk.get( @@ -11540,6 +11428,112 @@ export const update_session = async ( //#endregion Session: Session Information +//#region SqlInterfaceQuery: Run and Manage SQL Interface Queries + +/** + * ### Handles Avatica RPC metadata requests for SQL Interface queries + * + * GET /sql_interface_queries/metadata -> ISqlInterfaceQueryMetadata + * + * @param sdk IAPIMethods implementation + * @param avatica_request Avatica RPC request + * @param options one-time API call overrides + * + */ +export const sql_interface_metadata = async ( + sdk: IAPIMethods, + avatica_request?: string, + options?: Partial +): Promise> => { + return sdk.get( + '/sql_interface_queries/metadata', + { avatica_request }, + null, + options + ) +} + +/** + * ### Run a saved SQL interface query. + * + * This runs a previously created SQL interface query. + * + * The 'result_format' parameter specifies the desired structure and format of the response. + * + * Supported formats: + * + * | result_format | Description + * | :-----------: | :--- | + * | json | Plain json + * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | csv | Comma separated values with a header + * | txt | Tab separated values with a header + * | html | Simple html + * | md | Simple markdown + * | xlsx | MS Excel spreadsheet + * | sql | Returns the generated SQL rather than running the query + * | png | A PNG image of the visualization of the query + * | jpg | A JPG image of the visualization of the query + * + * GET /sql_interface_queries/{query_id}/run/{result_format} -> string + * + * @remarks + * **NOTE**: Binary content may be returned by this function. + * + * @param sdk IAPIMethods implementation + * @param query_id Integer id of query + * @param result_format Format of result, options are: ["json_bi"] + * @param options one-time API call overrides + * + */ +export const run_sql_interface_query = async ( + sdk: IAPIMethods, + query_id: number, + result_format: string, + options?: Partial +): Promise> => { + result_format = encodeParam(result_format) + return sdk.get( + `/sql_interface_queries/${query_id}/run/${result_format}`, + null, + null, + options + ) +} + +/** + * ### Create a SQL interface query. + * + * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + * and are not deleted. If you create a query that is exactly like an existing query then the existing query + * will be returned and no new query will be created. Whether a new query is created or not, you can use + * the 'id' in the returned query with the 'run' method. + * + * The query parameters are passed as json in the body of the request. + * + * POST /sql_interface_queries -> ISqlInterfaceQuery + * + * @param sdk IAPIMethods implementation + * @param body Partial + * @param options one-time API call overrides + * + */ +export const create_sql_interface_query = async ( + sdk: IAPIMethods, + body: Partial, + options?: Partial +): Promise> => { + return sdk.post( + '/sql_interface_queries', + null, + body, + options + ) +} + +//#endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries + //#region Theme: Manage Themes /** @@ -11549,7 +11543,7 @@ export const update_session = async ( * * This method returns an array of all existing themes. The active time for the theme is not considered. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes -> ITheme[] * @@ -11581,7 +11575,7 @@ export const all_themes = async ( * * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes -> ITheme * @@ -11641,7 +11635,7 @@ export const create_theme = async ( * * Get a **single theme** by id with [Theme](#!/Theme/theme) * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/search -> ITheme[] * @@ -11708,7 +11702,7 @@ export const default_theme = async ( * * Returns the new specified default theme object. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PUT /themes/default -> ITheme * @@ -11739,7 +11733,7 @@ export const set_default_theme = async ( * * The optional `ts` parameter can specify a different timestamp than "now." * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/active -> ITheme[] * @@ -11767,7 +11761,7 @@ export const active_themes = async ( * The optional `ts` parameter can specify a different timestamp than "now." * Note: API users with `show` ability can call this function * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/theme_or_default -> ITheme * @@ -11798,7 +11792,7 @@ export const theme_or_default = async ( * * See [Create Theme](#!/Theme/create_theme) for constraints * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes/validate -> IValidationError * @@ -11825,7 +11819,7 @@ export const validate_theme = async ( * * Use this to retrieve a specific theme, whether or not it's currently active. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/{theme_id} -> ITheme * @@ -11853,7 +11847,7 @@ export const theme = async ( /** * ### Update the theme by id. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PATCH /themes/{theme_id} -> ITheme * @@ -11887,7 +11881,7 @@ export const update_theme = async ( * * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * DELETE /themes/{theme_id} -> string * @@ -13339,13 +13333,13 @@ export const create_embed_user = async ( * GET /user_attributes -> IUserAttribute[] * * @param sdk IAPIMethods implementation - * @param request composed interface "IRequestAllUserAttributes" for complex method parameters + * @param request composed interface "IRequestAllBoardSections" for complex method parameters * @param options one-time API call overrides * */ export const all_user_attributes = async ( sdk: IAPIMethods, - request: IRequestAllUserAttributes, + request: IRequestAllBoardSections, options?: Partial ): Promise> => { return sdk.get( diff --git a/packages/sdk/src/4.0/methods.ts b/packages/sdk/src/4.0/methods.ts index 4e94032e7..c4857dbbb 100644 --- a/packages/sdk/src/4.0/methods.ts +++ b/packages/sdk/src/4.0/methods.ts @@ -127,7 +127,6 @@ import type { IIntegrationTestResult, IInternalHelpResources, IInternalHelpResourcesContent, - IJdbcInterface, ILDAPConfig, ILDAPConfigTestResult, ILegacyFeature, @@ -168,10 +167,8 @@ import type { IRequestAllGroups, IRequestAllGroupUsers, IRequestAllIntegrations, - IRequestAllLookmlModels, IRequestAllRoles, IRequestAllScheduledPlans, - IRequestAllUserAttributes, IRequestAllUsers, IRequestArtifact, IRequestArtifactNamespaces, @@ -211,13 +208,9 @@ import type { IRequestSearchDashboards, IRequestSearchFolders, IRequestSearchGroups, - IRequestSearchGroupsWithHierarchy, - IRequestSearchGroupsWithRoles, IRequestSearchLooks, IRequestSearchModelSets, - IRequestSearchPermissionSets, IRequestSearchRoles, - IRequestSearchRolesWithUserCount, IRequestSearchThemes, IRequestSearchUserLoginLockouts, IRequestSearchUsers, @@ -241,6 +234,7 @@ import type { ISmtpSettings, ISmtpStatus, ISqlInterfaceQuery, + ISqlInterfaceQueryMetadata, ISqlQuery, ISqlQueryCreate, ISshPublicKey, @@ -6384,12 +6378,12 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * GET /groups/search/with_roles -> IGroupSearch[] * - * @param request composed interface "IRequestSearchGroupsWithRoles" for complex method parameters + * @param request composed interface "IRequestSearchGroups" for complex method parameters * @param options one-time API call overrides * */ async search_groups_with_roles( - request: IRequestSearchGroupsWithRoles, + request: IRequestSearchGroups, options?: Partial ): Promise> { return this.get( @@ -6440,12 +6434,12 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * GET /groups/search/with_hierarchy -> IGroupHierarchy[] * - * @param request composed interface "IRequestSearchGroupsWithHierarchy" for complex method parameters + * @param request composed interface "IRequestSearchGroups" for complex method parameters * @param options one-time API call overrides * */ async search_groups_with_hierarchy( - request: IRequestSearchGroupsWithHierarchy, + request: IRequestSearchGroups, options?: Partial ): Promise> { return this.get( @@ -7037,31 +7031,6 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { //#endregion Integration: Manage Integrations - //#region JdbcInterface: LookML Model metadata for JDBC Clients - - /** - * ### Handle Avatica RPC Requests - * - * GET /__jdbc_interface__ -> IJdbcInterface - * - * @param avatica_request Avatica RPC request - * @param options one-time API call overrides - * - */ - async jdbc_interface( - avatica_request?: string, - options?: Partial - ): Promise> { - return this.get( - '/__jdbc_interface__', - { avatica_request }, - null, - options - ) - } - - //#endregion JdbcInterface: LookML Model metadata for JDBC Clients - //#region Look: Run and Manage Looks /** @@ -7400,12 +7369,12 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * GET /lookml_models -> ILookmlModel[] * - * @param request composed interface "IRequestAllLookmlModels" for complex method parameters + * @param request composed interface "IRequestArtifactNamespaces" for complex method parameters * @param options one-time API call overrides * */ async all_lookml_models( - request: IRequestAllLookmlModels, + request: IRequestArtifactNamespaces, options?: Partial ): Promise> { return this.get( @@ -9278,81 +9247,6 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { ) } - /** - * ### Run a saved SQL interface query. - * - * This runs a previously created SQL interface query. - * - * The 'result_format' parameter specifies the desired structure and format of the response. - * - * Supported formats: - * - * | result_format | Description - * | :-----------: | :--- | - * | json | Plain json - * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | csv | Comma separated values with a header - * | txt | Tab separated values with a header - * | html | Simple html - * | md | Simple markdown - * | xlsx | MS Excel spreadsheet - * | sql | Returns the generated SQL rather than running the query - * | png | A PNG image of the visualization of the query - * | jpg | A JPG image of the visualization of the query - * - * GET /sql_interface_queries/{query_id}/run/{result_format} -> string - * - * @remarks - * **NOTE**: Binary content may be returned by this function. - * - * @param query_id Integer id of query - * @param result_format Format of result, options are: ["json_bi"] - * @param options one-time API call overrides - * - */ - async run_sql_interface_query( - query_id: number, - result_format: string, - options?: Partial - ): Promise> { - result_format = encodeParam(result_format) - return this.get( - `/sql_interface_queries/${query_id}/run/${result_format}`, - null, - null, - options - ) - } - - /** - * ### Create a SQL interface query. - * - * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - * and are not deleted. If you create a query that is exactly like an existing query then the existing query - * will be returned and no new query will be created. Whether a new query is created or not, you can use - * the 'id' in the returned query with the 'run' method. - * - * The query parameters are passed as json in the body of the request. - * - * POST /sql_interface_queries -> ISqlInterfaceQuery - * - * @param body Partial - * @param options one-time API call overrides - * - */ - async create_sql_interface_query( - body: Partial, - options?: Partial - ): Promise> { - return this.post( - '/sql_interface_queries', - null, - body, - options - ) - } - /** * ### Create a SQL Runner Query * @@ -9849,12 +9743,12 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * GET /permission_sets/search -> IPermissionSet[] * - * @param request composed interface "IRequestSearchPermissionSets" for complex method parameters + * @param request composed interface "IRequestSearchModelSets" for complex method parameters * @param options one-time API call overrides * */ async search_permission_sets( - request: IRequestSearchPermissionSets, + request: IRequestSearchModelSets, options?: Partial ): Promise> { return this.get( @@ -10111,12 +10005,12 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * GET /roles/search/with_user_count -> IRoleSearch[] * - * @param request composed interface "IRequestSearchRolesWithUserCount" for complex method parameters + * @param request composed interface "IRequestSearchRoles" for complex method parameters * @param options one-time API call overrides * */ async search_roles_with_user_count( - request: IRequestSearchRolesWithUserCount, + request: IRequestSearchRoles, options?: Partial ): Promise> { return this.get( @@ -10850,6 +10744,106 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { //#endregion Session: Session Information + //#region SqlInterfaceQuery: Run and Manage SQL Interface Queries + + /** + * ### Handles Avatica RPC metadata requests for SQL Interface queries + * + * GET /sql_interface_queries/metadata -> ISqlInterfaceQueryMetadata + * + * @param avatica_request Avatica RPC request + * @param options one-time API call overrides + * + */ + async sql_interface_metadata( + avatica_request?: string, + options?: Partial + ): Promise> { + return this.get( + '/sql_interface_queries/metadata', + { avatica_request }, + null, + options + ) + } + + /** + * ### Run a saved SQL interface query. + * + * This runs a previously created SQL interface query. + * + * The 'result_format' parameter specifies the desired structure and format of the response. + * + * Supported formats: + * + * | result_format | Description + * | :-----------: | :--- | + * | json | Plain json + * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | csv | Comma separated values with a header + * | txt | Tab separated values with a header + * | html | Simple html + * | md | Simple markdown + * | xlsx | MS Excel spreadsheet + * | sql | Returns the generated SQL rather than running the query + * | png | A PNG image of the visualization of the query + * | jpg | A JPG image of the visualization of the query + * + * GET /sql_interface_queries/{query_id}/run/{result_format} -> string + * + * @remarks + * **NOTE**: Binary content may be returned by this function. + * + * @param query_id Integer id of query + * @param result_format Format of result, options are: ["json_bi"] + * @param options one-time API call overrides + * + */ + async run_sql_interface_query( + query_id: number, + result_format: string, + options?: Partial + ): Promise> { + result_format = encodeParam(result_format) + return this.get( + `/sql_interface_queries/${query_id}/run/${result_format}`, + null, + null, + options + ) + } + + /** + * ### Create a SQL interface query. + * + * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + * and are not deleted. If you create a query that is exactly like an existing query then the existing query + * will be returned and no new query will be created. Whether a new query is created or not, you can use + * the 'id' in the returned query with the 'run' method. + * + * The query parameters are passed as json in the body of the request. + * + * POST /sql_interface_queries -> ISqlInterfaceQuery + * + * @param body Partial + * @param options one-time API call overrides + * + */ + async create_sql_interface_query( + body: Partial, + options?: Partial + ): Promise> { + return this.post( + '/sql_interface_queries', + null, + body, + options + ) + } + + //#endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries + //#region Theme: Manage Themes /** @@ -10859,7 +10853,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * This method returns an array of all existing themes. The active time for the theme is not considered. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes -> ITheme[] * @@ -10889,7 +10883,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes -> ITheme * @@ -10947,7 +10941,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * Get a **single theme** by id with [Theme](#!/Theme/theme) * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/search -> ITheme[] * @@ -11010,7 +11004,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * Returns the new specified default theme object. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PUT /themes/default -> ITheme * @@ -11039,7 +11033,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * The optional `ts` parameter can specify a different timestamp than "now." * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/active -> ITheme[] * @@ -11065,7 +11059,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * The optional `ts` parameter can specify a different timestamp than "now." * Note: API users with `show` ability can call this function * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/theme_or_default -> ITheme * @@ -11094,7 +11088,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * See [Create Theme](#!/Theme/create_theme) for constraints * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes/validate -> IValidationError * @@ -11119,7 +11113,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * Use this to retrieve a specific theme, whether or not it's currently active. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/{theme_id} -> ITheme * @@ -11145,7 +11139,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { /** * ### Update the theme by id. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PATCH /themes/{theme_id} -> ITheme * @@ -11177,7 +11171,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * DELETE /themes/{theme_id} -> string * @@ -12549,12 +12543,12 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * GET /user_attributes -> IUserAttribute[] * - * @param request composed interface "IRequestAllUserAttributes" for complex method parameters + * @param request composed interface "IRequestAllBoardSections" for complex method parameters * @param options one-time API call overrides * */ async all_user_attributes( - request: IRequestAllUserAttributes, + request: IRequestAllBoardSections, options?: Partial ): Promise> { return this.get( diff --git a/packages/sdk/src/4.0/methodsInterface.ts b/packages/sdk/src/4.0/methodsInterface.ts index 0968052c5..9a284e2c2 100644 --- a/packages/sdk/src/4.0/methodsInterface.ts +++ b/packages/sdk/src/4.0/methodsInterface.ts @@ -124,7 +124,6 @@ import type { IIntegrationTestResult, IInternalHelpResources, IInternalHelpResourcesContent, - IJdbcInterface, ILDAPConfig, ILDAPConfigTestResult, ILegacyFeature, @@ -165,10 +164,8 @@ import type { IRequestAllGroups, IRequestAllGroupUsers, IRequestAllIntegrations, - IRequestAllLookmlModels, IRequestAllRoles, IRequestAllScheduledPlans, - IRequestAllUserAttributes, IRequestAllUsers, IRequestArtifact, IRequestArtifactNamespaces, @@ -208,13 +205,9 @@ import type { IRequestSearchDashboards, IRequestSearchFolders, IRequestSearchGroups, - IRequestSearchGroupsWithHierarchy, - IRequestSearchGroupsWithRoles, IRequestSearchLooks, IRequestSearchModelSets, - IRequestSearchPermissionSets, IRequestSearchRoles, - IRequestSearchRolesWithUserCount, IRequestSearchThemes, IRequestSearchUserLoginLockouts, IRequestSearchUsers, @@ -238,6 +231,7 @@ import type { ISmtpSettings, ISmtpStatus, ISqlInterfaceQuery, + ISqlInterfaceQueryMetadata, ISqlQuery, ISqlQueryCreate, ISshPublicKey, @@ -4576,12 +4570,12 @@ export interface ILooker40SDK extends IAPIMethods { * * GET /groups/search/with_roles -> IGroupSearch[] * - * @param request composed interface "IRequestSearchGroupsWithRoles" for complex method parameters + * @param request composed interface "IRequestSearchGroups" for complex method parameters * @param options one-time API call overrides * */ search_groups_with_roles( - request: IRequestSearchGroupsWithRoles, + request: IRequestSearchGroups, options?: Partial ): Promise> @@ -4614,12 +4608,12 @@ export interface ILooker40SDK extends IAPIMethods { * * GET /groups/search/with_hierarchy -> IGroupHierarchy[] * - * @param request composed interface "IRequestSearchGroupsWithHierarchy" for complex method parameters + * @param request composed interface "IRequestSearchGroups" for complex method parameters * @param options one-time API call overrides * */ search_groups_with_hierarchy( - request: IRequestSearchGroupsWithHierarchy, + request: IRequestSearchGroups, options?: Partial ): Promise> @@ -4999,24 +4993,6 @@ export interface ILooker40SDK extends IAPIMethods { //#endregion Integration: Manage Integrations - //#region JdbcInterface: LookML Model metadata for JDBC Clients - - /** - * ### Handle Avatica RPC Requests - * - * GET /__jdbc_interface__ -> IJdbcInterface - * - * @param avatica_request Avatica RPC request - * @param options one-time API call overrides - * - */ - jdbc_interface( - avatica_request?: string, - options?: Partial - ): Promise> - - //#endregion JdbcInterface: LookML Model metadata for JDBC Clients - //#region Look: Run and Manage Looks /** @@ -5263,12 +5239,12 @@ export interface ILooker40SDK extends IAPIMethods { * * GET /lookml_models -> ILookmlModel[] * - * @param request composed interface "IRequestAllLookmlModels" for complex method parameters + * @param request composed interface "IRequestArtifactNamespaces" for complex method parameters * @param options one-time API call overrides * */ all_lookml_models( - request: IRequestAllLookmlModels, + request: IRequestArtifactNamespaces, options?: Partial ): Promise> @@ -6598,66 +6574,6 @@ export interface ILooker40SDK extends IAPIMethods { options?: Partial ): Promise> - /** - * ### Run a saved SQL interface query. - * - * This runs a previously created SQL interface query. - * - * The 'result_format' parameter specifies the desired structure and format of the response. - * - * Supported formats: - * - * | result_format | Description - * | :-----------: | :--- | - * | json | Plain json - * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | csv | Comma separated values with a header - * | txt | Tab separated values with a header - * | html | Simple html - * | md | Simple markdown - * | xlsx | MS Excel spreadsheet - * | sql | Returns the generated SQL rather than running the query - * | png | A PNG image of the visualization of the query - * | jpg | A JPG image of the visualization of the query - * - * GET /sql_interface_queries/{query_id}/run/{result_format} -> string - * - * @remarks - * **NOTE**: Binary content may be returned by this function. - * - * @param query_id Integer id of query - * @param result_format Format of result, options are: ["json_bi"] - * @param options one-time API call overrides - * - */ - run_sql_interface_query( - query_id: number, - result_format: string, - options?: Partial - ): Promise> - - /** - * ### Create a SQL interface query. - * - * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - * and are not deleted. If you create a query that is exactly like an existing query then the existing query - * will be returned and no new query will be created. Whether a new query is created or not, you can use - * the 'id' in the returned query with the 'run' method. - * - * The query parameters are passed as json in the body of the request. - * - * POST /sql_interface_queries -> ISqlInterfaceQuery - * - * @param body Partial - * @param options one-time API call overrides - * - */ - create_sql_interface_query( - body: Partial, - options?: Partial - ): Promise> - /** * ### Create a SQL Runner Query * @@ -7013,12 +6929,12 @@ export interface ILooker40SDK extends IAPIMethods { * * GET /permission_sets/search -> IPermissionSet[] * - * @param request composed interface "IRequestSearchPermissionSets" for complex method parameters + * @param request composed interface "IRequestSearchModelSets" for complex method parameters * @param options one-time API call overrides * */ search_permission_sets( - request: IRequestSearchPermissionSets, + request: IRequestSearchModelSets, options?: Partial ): Promise> @@ -7190,12 +7106,12 @@ export interface ILooker40SDK extends IAPIMethods { * * GET /roles/search/with_user_count -> IRoleSearch[] * - * @param request composed interface "IRequestSearchRolesWithUserCount" for complex method parameters + * @param request composed interface "IRequestSearchRoles" for complex method parameters * @param options one-time API call overrides * */ search_roles_with_user_count( - request: IRequestSearchRolesWithUserCount, + request: IRequestSearchRoles, options?: Partial ): Promise> @@ -7754,6 +7670,84 @@ export interface ILooker40SDK extends IAPIMethods { //#endregion Session: Session Information + //#region SqlInterfaceQuery: Run and Manage SQL Interface Queries + + /** + * ### Handles Avatica RPC metadata requests for SQL Interface queries + * + * GET /sql_interface_queries/metadata -> ISqlInterfaceQueryMetadata + * + * @param avatica_request Avatica RPC request + * @param options one-time API call overrides + * + */ + sql_interface_metadata( + avatica_request?: string, + options?: Partial + ): Promise> + + /** + * ### Run a saved SQL interface query. + * + * This runs a previously created SQL interface query. + * + * The 'result_format' parameter specifies the desired structure and format of the response. + * + * Supported formats: + * + * | result_format | Description + * | :-----------: | :--- | + * | json | Plain json + * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | csv | Comma separated values with a header + * | txt | Tab separated values with a header + * | html | Simple html + * | md | Simple markdown + * | xlsx | MS Excel spreadsheet + * | sql | Returns the generated SQL rather than running the query + * | png | A PNG image of the visualization of the query + * | jpg | A JPG image of the visualization of the query + * + * GET /sql_interface_queries/{query_id}/run/{result_format} -> string + * + * @remarks + * **NOTE**: Binary content may be returned by this function. + * + * @param query_id Integer id of query + * @param result_format Format of result, options are: ["json_bi"] + * @param options one-time API call overrides + * + */ + run_sql_interface_query( + query_id: number, + result_format: string, + options?: Partial + ): Promise> + + /** + * ### Create a SQL interface query. + * + * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + * and are not deleted. If you create a query that is exactly like an existing query then the existing query + * will be returned and no new query will be created. Whether a new query is created or not, you can use + * the 'id' in the returned query with the 'run' method. + * + * The query parameters are passed as json in the body of the request. + * + * POST /sql_interface_queries -> ISqlInterfaceQuery + * + * @param body Partial + * @param options one-time API call overrides + * + */ + create_sql_interface_query( + body: Partial, + options?: Partial + ): Promise> + + //#endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries + //#region Theme: Manage Themes /** @@ -7763,7 +7757,7 @@ export interface ILooker40SDK extends IAPIMethods { * * This method returns an array of all existing themes. The active time for the theme is not considered. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes -> ITheme[] * @@ -7791,7 +7785,7 @@ export interface ILooker40SDK extends IAPIMethods { * * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes -> ITheme * @@ -7842,7 +7836,7 @@ export interface ILooker40SDK extends IAPIMethods { * * Get a **single theme** by id with [Theme](#!/Theme/theme) * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/search -> ITheme[] * @@ -7886,7 +7880,7 @@ export interface ILooker40SDK extends IAPIMethods { * * Returns the new specified default theme object. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PUT /themes/default -> ITheme * @@ -7908,7 +7902,7 @@ export interface ILooker40SDK extends IAPIMethods { * * The optional `ts` parameter can specify a different timestamp than "now." * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/active -> ITheme[] * @@ -7927,7 +7921,7 @@ export interface ILooker40SDK extends IAPIMethods { * The optional `ts` parameter can specify a different timestamp than "now." * Note: API users with `show` ability can call this function * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/theme_or_default -> ITheme * @@ -7949,7 +7943,7 @@ export interface ILooker40SDK extends IAPIMethods { * * See [Create Theme](#!/Theme/create_theme) for constraints * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes/validate -> IValidationError * @@ -7967,7 +7961,7 @@ export interface ILooker40SDK extends IAPIMethods { * * Use this to retrieve a specific theme, whether or not it's currently active. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/{theme_id} -> ITheme * @@ -7985,7 +7979,7 @@ export interface ILooker40SDK extends IAPIMethods { /** * ### Update the theme by id. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PATCH /themes/{theme_id} -> ITheme * @@ -8009,7 +8003,7 @@ export interface ILooker40SDK extends IAPIMethods { * * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * DELETE /themes/{theme_id} -> string * @@ -8957,12 +8951,12 @@ export interface ILooker40SDK extends IAPIMethods { * * GET /user_attributes -> IUserAttribute[] * - * @param request composed interface "IRequestAllUserAttributes" for complex method parameters + * @param request composed interface "IRequestAllBoardSections" for complex method parameters * @param options one-time API call overrides * */ all_user_attributes( - request: IRequestAllUserAttributes, + request: IRequestAllBoardSections, options?: Partial ): Promise> diff --git a/packages/sdk/src/4.0/models.ts b/packages/sdk/src/4.0/models.ts index fde16dcd5..6bbc6914c 100644 --- a/packages/sdk/src/4.0/models.ts +++ b/packages/sdk/src/4.0/models.ts @@ -25,7 +25,7 @@ */ /** - * 398 API models: 249 Spec, 66 Request, 61 Write, 22 Enum + * 392 API models: 249 Spec, 60 Request, 61 Write, 22 Enum */ import type { IDictionary, DelimArray } from '@looker/sdk-rtl' @@ -4392,13 +4392,6 @@ export enum InvestigativeContentType { dashboard = 'dashboard', } -export interface IJdbcInterface { - /** - * JDBC Metadata to inflate Avatica response classes. (read-only) - */ - results?: string -} - export interface ILDAPConfig { /** * Operations the current user is able to perform on this object (read-only) @@ -6733,10 +6726,6 @@ export interface IProject { * Status of dependencies in your manifest & lockfile */ dependency_status?: string | null - /** - * Number of data tests within project (read-only) - */ - data_tests_count?: number } export interface IProjectError { @@ -7379,24 +7368,6 @@ export interface IRequestAllIntegrations { integration_hub_id?: string | null } -/** - * Dynamically generated request type for all_lookml_models - */ -export interface IRequestAllLookmlModels { - /** - * Requested fields. - */ - fields?: string | null - /** - * Number of results to return. (can be used with offset) - */ - limit?: number | null - /** - * Number of results to skip before returning any. (Defaults to 0 if not set when limit is used) - */ - offset?: number | null -} - /** * Dynamically generated request type for all_roles */ @@ -7429,20 +7400,6 @@ export interface IRequestAllScheduledPlans { all_users?: boolean | null } -/** - * Dynamically generated request type for all_user_attributes - */ -export interface IRequestAllUserAttributes { - /** - * Requested fields. - */ - fields?: string | null - /** - * Fields to order the results by. Sortable fields include: name, label - */ - sorts?: string | null -} - /** * Dynamically generated request type for all_users */ @@ -8825,98 +8782,6 @@ export interface IRequestSearchGroups { externally_orphaned?: boolean | null } -/** - * Dynamically generated request type for search_groups_with_hierarchy - */ -export interface IRequestSearchGroupsWithHierarchy { - /** - * Requested fields. - */ - fields?: string | null - /** - * Number of results to return (used with `offset`). - */ - limit?: number | null - /** - * Number of results to skip before returning any (used with `limit`). - */ - offset?: number | null - /** - * Fields to sort by. - */ - sorts?: string | null - /** - * Combine given search criteria in a boolean OR expression - */ - filter_or?: boolean | null - /** - * Match group id. - */ - id?: string | null - /** - * Match group name. - */ - name?: string | null - /** - * Match group external_group_id. - */ - external_group_id?: string | null - /** - * Match group externally_managed. - */ - externally_managed?: boolean | null - /** - * Match group externally_orphaned. - */ - externally_orphaned?: boolean | null -} - -/** - * Dynamically generated request type for search_groups_with_roles - */ -export interface IRequestSearchGroupsWithRoles { - /** - * Requested fields. - */ - fields?: string | null - /** - * Number of results to return (used with `offset`). - */ - limit?: number | null - /** - * Number of results to skip before returning any (used with `limit`). - */ - offset?: number | null - /** - * Fields to sort by. - */ - sorts?: string | null - /** - * Combine given search criteria in a boolean OR expression - */ - filter_or?: boolean | null - /** - * Match group id. - */ - id?: string | null - /** - * Match group name. - */ - name?: string | null - /** - * Match group external_group_id. - */ - external_group_id?: string | null - /** - * Match group externally_managed. - */ - externally_managed?: boolean | null - /** - * Match group externally_orphaned. - */ - externally_orphaned?: boolean | null -} - /** * Dynamically generated request type for search_looks */ @@ -9037,48 +8902,6 @@ export interface IRequestSearchModelSets { filter_or?: boolean | null } -/** - * Dynamically generated request type for search_permission_sets - */ -export interface IRequestSearchPermissionSets { - /** - * Requested fields. - */ - fields?: string | null - /** - * Number of results to return (used with `offset`). - */ - limit?: number | null - /** - * Number of results to skip before returning any (used with `limit`). - */ - offset?: number | null - /** - * Fields to sort by. - */ - sorts?: string | null - /** - * Match permission set id. - */ - id?: string | null - /** - * Match permission set name. - */ - name?: string | null - /** - * Match permission sets by all_access status. - */ - all_access?: boolean | null - /** - * Match permission sets by built_in status. - */ - built_in?: boolean | null - /** - * Combine given search criteria in a boolean OR expression. - */ - filter_or?: boolean | null -} - /** * Dynamically generated request type for search_roles */ @@ -9117,44 +8940,6 @@ export interface IRequestSearchRoles { filter_or?: boolean | null } -/** - * Dynamically generated request type for search_roles_with_user_count - */ -export interface IRequestSearchRolesWithUserCount { - /** - * Requested fields. - */ - fields?: string | null - /** - * Number of results to return (used with `offset`). - */ - limit?: number | null - /** - * Number of results to skip before returning any (used with `limit`). - */ - offset?: number | null - /** - * Fields to sort by. - */ - sorts?: string | null - /** - * Match role id. - */ - id?: string | null - /** - * Match role name. - */ - name?: string | null - /** - * Match roles by built_in status. - */ - built_in?: boolean | null - /** - * Combine given search criteria in a boolean OR expression. - */ - filter_or?: boolean | null -} - /** * Dynamically generated request type for search_themes */ @@ -10543,6 +10328,13 @@ export interface ISqlInterfaceQueryCreate { jdbc_client?: boolean } +export interface ISqlInterfaceQueryMetadata { + /** + * JDBC Metadata to inflate Avatica response classes. (read-only) + */ + results?: string +} + export interface ISqlQuery { /** * Operations the current user is able to perform on this object (read-only) @@ -13201,7 +12993,7 @@ export interface IWritePrivatelabelConfiguration { /** * Dynamic writeable type for Project removes: - * can, id, uses_git, is_example, data_tests_count + * can, id, uses_git, is_example */ export interface IWriteProject { /** diff --git a/packages/sdk/src/4.0/streams.ts b/packages/sdk/src/4.0/streams.ts index 08cdc07ed..e2531cd45 100644 --- a/packages/sdk/src/4.0/streams.ts +++ b/packages/sdk/src/4.0/streams.ts @@ -126,7 +126,6 @@ import type { IIntegrationTestResult, IInternalHelpResources, IInternalHelpResourcesContent, - IJdbcInterface, ILDAPConfig, ILDAPConfigTestResult, ILegacyFeature, @@ -167,10 +166,8 @@ import type { IRequestAllGroups, IRequestAllGroupUsers, IRequestAllIntegrations, - IRequestAllLookmlModels, IRequestAllRoles, IRequestAllScheduledPlans, - IRequestAllUserAttributes, IRequestAllUsers, IRequestArtifact, IRequestArtifactNamespaces, @@ -210,13 +207,9 @@ import type { IRequestSearchDashboards, IRequestSearchFolders, IRequestSearchGroups, - IRequestSearchGroupsWithHierarchy, - IRequestSearchGroupsWithRoles, IRequestSearchLooks, IRequestSearchModelSets, - IRequestSearchPermissionSets, IRequestSearchRoles, - IRequestSearchRolesWithUserCount, IRequestSearchThemes, IRequestSearchUserLoginLockouts, IRequestSearchUsers, @@ -240,6 +233,7 @@ import type { ISmtpSettings, ISmtpStatus, ISqlInterfaceQuery, + ISqlInterfaceQueryMetadata, ISqlQuery, ISqlQueryCreate, ISshPublicKey, @@ -7327,13 +7321,13 @@ export class Looker40SDKStream extends APIMethods { * GET /groups/search/with_roles -> IGroupSearch[] * * @param callback streaming output function - * @param request composed interface "IRequestSearchGroupsWithRoles" for complex method parameters + * @param request composed interface "IRequestSearchGroups" for complex method parameters * @param options one-time API call overrides * */ async search_groups_with_roles( callback: (readable: Readable) => Promise, - request: IRequestSearchGroupsWithRoles, + request: IRequestSearchGroups, options?: Partial ) { return this.authStream( @@ -7387,13 +7381,13 @@ export class Looker40SDKStream extends APIMethods { * GET /groups/search/with_hierarchy -> IGroupHierarchy[] * * @param callback streaming output function - * @param request composed interface "IRequestSearchGroupsWithHierarchy" for complex method parameters + * @param request composed interface "IRequestSearchGroups" for complex method parameters * @param options one-time API call overrides * */ async search_groups_with_hierarchy( callback: (readable: Readable) => Promise, - request: IRequestSearchGroupsWithHierarchy, + request: IRequestSearchGroups, options?: Partial ) { return this.authStream( @@ -8079,35 +8073,6 @@ export class Looker40SDKStream extends APIMethods { //#endregion Integration: Manage Integrations - //#region JdbcInterface: LookML Model metadata for JDBC Clients - - /** - * ### Handle Avatica RPC Requests - * - * GET /__jdbc_interface__ -> IJdbcInterface - * - * @param callback streaming output function - * @param avatica_request Avatica RPC request - * @param options one-time API call overrides - * - */ - async jdbc_interface( - callback: (readable: Readable) => Promise, - avatica_request?: string, - options?: Partial - ) { - return this.authStream( - callback, - 'GET', - '/__jdbc_interface__', - { avatica_request }, - null, - options - ) - } - - //#endregion JdbcInterface: LookML Model metadata for JDBC Clients - //#region Look: Run and Manage Looks /** @@ -8493,13 +8458,13 @@ export class Looker40SDKStream extends APIMethods { * GET /lookml_models -> ILookmlModel[] * * @param callback streaming output function - * @param request composed interface "IRequestAllLookmlModels" for complex method parameters + * @param request composed interface "IRequestArtifactNamespaces" for complex method parameters * @param options one-time API call overrides * */ async all_lookml_models( callback: (readable: Readable) => Promise, - request: IRequestAllLookmlModels, + request: IRequestArtifactNamespaces, options?: Partial ) { return this.authStream( @@ -10615,89 +10580,6 @@ export class Looker40SDKStream extends APIMethods { ) } - /** - * ### Run a saved SQL interface query. - * - * This runs a previously created SQL interface query. - * - * The 'result_format' parameter specifies the desired structure and format of the response. - * - * Supported formats: - * - * | result_format | Description - * | :-----------: | :--- | - * | json | Plain json - * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | csv | Comma separated values with a header - * | txt | Tab separated values with a header - * | html | Simple html - * | md | Simple markdown - * | xlsx | MS Excel spreadsheet - * | sql | Returns the generated SQL rather than running the query - * | png | A PNG image of the visualization of the query - * | jpg | A JPG image of the visualization of the query - * - * GET /sql_interface_queries/{query_id}/run/{result_format} -> string - * - * @remarks - * **NOTE**: Binary content may be returned by this function. - * - * @param callback streaming output function - * @param query_id Integer id of query - * @param result_format Format of result, options are: ["json_bi"] - * @param options one-time API call overrides - * - */ - async run_sql_interface_query( - callback: (readable: Readable) => Promise, - query_id: number, - result_format: string, - options?: Partial - ) { - result_format = encodeParam(result_format) - return this.authStream( - callback, - 'GET', - `/sql_interface_queries/${query_id}/run/${result_format}`, - null, - null, - options - ) - } - - /** - * ### Create a SQL interface query. - * - * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - * and are not deleted. If you create a query that is exactly like an existing query then the existing query - * will be returned and no new query will be created. Whether a new query is created or not, you can use - * the 'id' in the returned query with the 'run' method. - * - * The query parameters are passed as json in the body of the request. - * - * POST /sql_interface_queries -> ISqlInterfaceQuery - * - * @param callback streaming output function - * @param body Partial - * @param options one-time API call overrides - * - */ - async create_sql_interface_query( - callback: (readable: Readable) => Promise, - body: Partial, - options?: Partial - ) { - return this.authStream( - callback, - 'POST', - '/sql_interface_queries', - null, - body, - options - ) - } - /** * ### Create a SQL Runner Query * @@ -11264,13 +11146,13 @@ export class Looker40SDKStream extends APIMethods { * GET /permission_sets/search -> IPermissionSet[] * * @param callback streaming output function - * @param request composed interface "IRequestSearchPermissionSets" for complex method parameters + * @param request composed interface "IRequestSearchModelSets" for complex method parameters * @param options one-time API call overrides * */ async search_permission_sets( callback: (readable: Readable) => Promise, - request: IRequestSearchPermissionSets, + request: IRequestSearchModelSets, options?: Partial ) { return this.authStream( @@ -11562,13 +11444,13 @@ export class Looker40SDKStream extends APIMethods { * GET /roles/search/with_user_count -> IRoleSearch[] * * @param callback streaming output function - * @param request composed interface "IRequestSearchRolesWithUserCount" for complex method parameters + * @param request composed interface "IRequestSearchRoles" for complex method parameters * @param options one-time API call overrides * */ async search_roles_with_user_count( callback: (readable: Readable) => Promise, - request: IRequestSearchRolesWithUserCount, + request: IRequestSearchRoles, options?: Partial ) { return this.authStream( @@ -12399,6 +12281,118 @@ export class Looker40SDKStream extends APIMethods { //#endregion Session: Session Information + //#region SqlInterfaceQuery: Run and Manage SQL Interface Queries + + /** + * ### Handles Avatica RPC metadata requests for SQL Interface queries + * + * GET /sql_interface_queries/metadata -> ISqlInterfaceQueryMetadata + * + * @param callback streaming output function + * @param avatica_request Avatica RPC request + * @param options one-time API call overrides + * + */ + async sql_interface_metadata( + callback: (readable: Readable) => Promise, + avatica_request?: string, + options?: Partial + ) { + return this.authStream( + callback, + 'GET', + '/sql_interface_queries/metadata', + { avatica_request }, + null, + options + ) + } + + /** + * ### Run a saved SQL interface query. + * + * This runs a previously created SQL interface query. + * + * The 'result_format' parameter specifies the desired structure and format of the response. + * + * Supported formats: + * + * | result_format | Description + * | :-----------: | :--- | + * | json | Plain json + * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | csv | Comma separated values with a header + * | txt | Tab separated values with a header + * | html | Simple html + * | md | Simple markdown + * | xlsx | MS Excel spreadsheet + * | sql | Returns the generated SQL rather than running the query + * | png | A PNG image of the visualization of the query + * | jpg | A JPG image of the visualization of the query + * + * GET /sql_interface_queries/{query_id}/run/{result_format} -> string + * + * @remarks + * **NOTE**: Binary content may be returned by this function. + * + * @param callback streaming output function + * @param query_id Integer id of query + * @param result_format Format of result, options are: ["json_bi"] + * @param options one-time API call overrides + * + */ + async run_sql_interface_query( + callback: (readable: Readable) => Promise, + query_id: number, + result_format: string, + options?: Partial + ) { + result_format = encodeParam(result_format) + return this.authStream( + callback, + 'GET', + `/sql_interface_queries/${query_id}/run/${result_format}`, + null, + null, + options + ) + } + + /** + * ### Create a SQL interface query. + * + * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + * and are not deleted. If you create a query that is exactly like an existing query then the existing query + * will be returned and no new query will be created. Whether a new query is created or not, you can use + * the 'id' in the returned query with the 'run' method. + * + * The query parameters are passed as json in the body of the request. + * + * POST /sql_interface_queries -> ISqlInterfaceQuery + * + * @param callback streaming output function + * @param body Partial + * @param options one-time API call overrides + * + */ + async create_sql_interface_query( + callback: (readable: Readable) => Promise, + body: Partial, + options?: Partial + ) { + return this.authStream( + callback, + 'POST', + '/sql_interface_queries', + null, + body, + options + ) + } + + //#endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries + //#region Theme: Manage Themes /** @@ -12408,7 +12402,7 @@ export class Looker40SDKStream extends APIMethods { * * This method returns an array of all existing themes. The active time for the theme is not considered. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes -> ITheme[] * @@ -12447,7 +12441,7 @@ export class Looker40SDKStream extends APIMethods { * * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes -> ITheme * @@ -12509,7 +12503,7 @@ export class Looker40SDKStream extends APIMethods { * * Get a **single theme** by id with [Theme](#!/Theme/theme) * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/search -> ITheme[] * @@ -12585,7 +12579,7 @@ export class Looker40SDKStream extends APIMethods { * * Returns the new specified default theme object. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PUT /themes/default -> ITheme * @@ -12618,7 +12612,7 @@ export class Looker40SDKStream extends APIMethods { * * The optional `ts` parameter can specify a different timestamp than "now." * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/active -> ITheme[] * @@ -12648,7 +12642,7 @@ export class Looker40SDKStream extends APIMethods { * The optional `ts` parameter can specify a different timestamp than "now." * Note: API users with `show` ability can call this function * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/theme_or_default -> ITheme * @@ -12681,7 +12675,7 @@ export class Looker40SDKStream extends APIMethods { * * See [Create Theme](#!/Theme/create_theme) for constraints * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes/validate -> IValidationError * @@ -12710,7 +12704,7 @@ export class Looker40SDKStream extends APIMethods { * * Use this to retrieve a specific theme, whether or not it's currently active. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/{theme_id} -> ITheme * @@ -12740,7 +12734,7 @@ export class Looker40SDKStream extends APIMethods { /** * ### Update the theme by id. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PATCH /themes/{theme_id} -> ITheme * @@ -12776,7 +12770,7 @@ export class Looker40SDKStream extends APIMethods { * * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * DELETE /themes/{theme_id} -> string * @@ -14347,13 +14341,13 @@ export class Looker40SDKStream extends APIMethods { * GET /user_attributes -> IUserAttribute[] * * @param callback streaming output function - * @param request composed interface "IRequestAllUserAttributes" for complex method parameters + * @param request composed interface "IRequestAllBoardSections" for complex method parameters * @param options one-time API call overrides * */ async all_user_attributes( callback: (readable: Readable) => Promise, - request: IRequestAllUserAttributes, + request: IRequestAllBoardSections, options?: Partial ) { return this.authStream( diff --git a/packages/sdk/src/constants.ts b/packages/sdk/src/constants.ts index 8ee14485d..44e9bb975 100644 --- a/packages/sdk/src/constants.ts +++ b/packages/sdk/src/constants.ts @@ -24,5 +24,5 @@ */ -export const sdkVersion = '23.17' +export const sdkVersion = '23.18' export const environmentPrefix = 'LOOKERSDK' diff --git a/python/looker_sdk/sdk/api40/methods.py b/python/looker_sdk/sdk/api40/methods.py index a2ad03e2b..14c2b583b 100644 --- a/python/looker_sdk/sdk/api40/methods.py +++ b/python/looker_sdk/sdk/api40/methods.py @@ -6809,31 +6809,6 @@ def test_integration( #endregion - #region JdbcInterface: LookML Model metadata for JDBC Clients - - # ### Handle Avatica RPC Requests - # - # GET /__jdbc_interface__ -> mdls.JdbcInterface - def jdbc_interface( - self, - # Avatica RPC request - avatica_request: Optional[str] = None, - transport_options: Optional[transport.TransportOptions] = None, - ) -> mdls.JdbcInterface: - """Get JDBC Interface""" - response = cast( - mdls.JdbcInterface, - self.get( - path="/__jdbc_interface__", - structure=mdls.JdbcInterface, - query_params={"avatica_request": avatica_request}, - transport_options=transport_options - ) - ) - return response - - #endregion - #region Look: Run and Manage Looks # ### Get information about all active Looks @@ -9140,76 +9115,6 @@ def kill_query( ) return response - # ### Run a saved SQL interface query. - # - # This runs a previously created SQL interface query. - # - # The 'result_format' parameter specifies the desired structure and format of the response. - # - # Supported formats: - # - # | result_format | Description - # | :-----------: | :--- | - # | json | Plain json - # | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - # | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - # | csv | Comma separated values with a header - # | txt | Tab separated values with a header - # | html | Simple html - # | md | Simple markdown - # | xlsx | MS Excel spreadsheet - # | sql | Returns the generated SQL rather than running the query - # | png | A PNG image of the visualization of the query - # | jpg | A JPG image of the visualization of the query - # - # GET /sql_interface_queries/{query_id}/run/{result_format} -> Union[str, bytes] - def run_sql_interface_query( - self, - # Integer id of query - query_id: int, - # Format of result, options are: ["json_bi"] - result_format: str, - transport_options: Optional[transport.TransportOptions] = None, - ) -> Union[str, bytes]: - """Run SQL Interface Query""" - result_format = self.encode_path_param(result_format) - response = cast( - Union[str, bytes], - self.get( - path=f"/sql_interface_queries/{query_id}/run/{result_format}", - structure=Union[str, bytes], # type: ignore - transport_options=transport_options - ) - ) - return response - - # ### Create a SQL interface query. - # - # This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - # and are not deleted. If you create a query that is exactly like an existing query then the existing query - # will be returned and no new query will be created. Whether a new query is created or not, you can use - # the 'id' in the returned query with the 'run' method. - # - # The query parameters are passed as json in the body of the request. - # - # POST /sql_interface_queries -> mdls.SqlInterfaceQuery - def create_sql_interface_query( - self, - body: mdls.WriteSqlInterfaceQueryCreate, - transport_options: Optional[transport.TransportOptions] = None, - ) -> mdls.SqlInterfaceQuery: - """Create SQL Interface Query""" - response = cast( - mdls.SqlInterfaceQuery, - self.post( - path="/sql_interface_queries", - structure=mdls.SqlInterfaceQuery, - body=body, - transport_options=transport_options - ) - ) - return response - # ### Create a SQL Runner Query # # Either the `connection_name` or `model_name` parameter MUST be provided. @@ -10739,6 +10644,101 @@ def update_session( #endregion + #region SqlInterfaceQuery: Run and Manage SQL Interface Queries + + # ### Handles Avatica RPC metadata requests for SQL Interface queries + # + # GET /sql_interface_queries/metadata -> mdls.SqlInterfaceQueryMetadata + def sql_interface_metadata( + self, + # Avatica RPC request + avatica_request: Optional[str] = None, + transport_options: Optional[transport.TransportOptions] = None, + ) -> mdls.SqlInterfaceQueryMetadata: + """Get SQL Interface Query Metadata""" + response = cast( + mdls.SqlInterfaceQueryMetadata, + self.get( + path="/sql_interface_queries/metadata", + structure=mdls.SqlInterfaceQueryMetadata, + query_params={"avatica_request": avatica_request}, + transport_options=transport_options + ) + ) + return response + + # ### Run a saved SQL interface query. + # + # This runs a previously created SQL interface query. + # + # The 'result_format' parameter specifies the desired structure and format of the response. + # + # Supported formats: + # + # | result_format | Description + # | :-----------: | :--- | + # | json | Plain json + # | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + # | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + # | csv | Comma separated values with a header + # | txt | Tab separated values with a header + # | html | Simple html + # | md | Simple markdown + # | xlsx | MS Excel spreadsheet + # | sql | Returns the generated SQL rather than running the query + # | png | A PNG image of the visualization of the query + # | jpg | A JPG image of the visualization of the query + # + # GET /sql_interface_queries/{query_id}/run/{result_format} -> Union[str, bytes] + def run_sql_interface_query( + self, + # Integer id of query + query_id: int, + # Format of result, options are: ["json_bi"] + result_format: str, + transport_options: Optional[transport.TransportOptions] = None, + ) -> Union[str, bytes]: + """Run SQL Interface Query""" + result_format = self.encode_path_param(result_format) + response = cast( + Union[str, bytes], + self.get( + path=f"/sql_interface_queries/{query_id}/run/{result_format}", + structure=Union[str, bytes], # type: ignore + transport_options=transport_options + ) + ) + return response + + # ### Create a SQL interface query. + # + # This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + # and are not deleted. If you create a query that is exactly like an existing query then the existing query + # will be returned and no new query will be created. Whether a new query is created or not, you can use + # the 'id' in the returned query with the 'run' method. + # + # The query parameters are passed as json in the body of the request. + # + # POST /sql_interface_queries -> mdls.SqlInterfaceQuery + def create_sql_interface_query( + self, + body: mdls.WriteSqlInterfaceQueryCreate, + transport_options: Optional[transport.TransportOptions] = None, + ) -> mdls.SqlInterfaceQuery: + """Create SQL Interface Query""" + response = cast( + mdls.SqlInterfaceQuery, + self.post( + path="/sql_interface_queries", + structure=mdls.SqlInterfaceQuery, + body=body, + transport_options=transport_options + ) + ) + return response + + #endregion + #region Theme: Manage Themes # ### Get an array of all existing themes @@ -10747,7 +10747,7 @@ def update_session( # # This method returns an array of all existing themes. The active time for the theme is not considered. # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # GET /themes -> Sequence[mdls.Theme] def all_themes( @@ -10782,7 +10782,7 @@ def all_themes( # # For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # POST /themes -> mdls.Theme def create_theme( @@ -10839,7 +10839,7 @@ def create_theme( # # Get a **single theme** by id with [Theme](#!/Theme/theme) # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # GET /themes/search -> Sequence[mdls.Theme] def search_themes( @@ -10913,7 +10913,7 @@ def default_theme( # # Returns the new specified default theme object. # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # PUT /themes/default -> mdls.Theme def set_default_theme( @@ -10942,7 +10942,7 @@ def set_default_theme( # # The optional `ts` parameter can specify a different timestamp than "now." # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # GET /themes/active -> Sequence[mdls.Theme] def active_themes( @@ -10972,7 +10972,7 @@ def active_themes( # The optional `ts` parameter can specify a different timestamp than "now." # Note: API users with `show` ability can call this function # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # GET /themes/theme_or_default -> mdls.Theme def theme_or_default( @@ -11001,7 +11001,7 @@ def theme_or_default( # # See [Create Theme](#!/Theme/create_theme) for constraints # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # POST /themes/validate -> mdls.ValidationError def validate_theme( @@ -11025,7 +11025,7 @@ def validate_theme( # # Use this to retrieve a specific theme, whether or not it's currently active. # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # GET /themes/{theme_id} -> mdls.Theme def theme( @@ -11051,7 +11051,7 @@ def theme( # ### Update the theme by id. # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # PATCH /themes/{theme_id} -> mdls.Theme def update_theme( @@ -11082,7 +11082,7 @@ def update_theme( # # All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). # - # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + # **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. # # DELETE /themes/{theme_id} -> str def delete_theme( diff --git a/python/looker_sdk/sdk/api40/models.py b/python/looker_sdk/sdk/api40/models.py index bb5c699b3..11712f3a2 100644 --- a/python/looker_sdk/sdk/api40/models.py +++ b/python/looker_sdk/sdk/api40/models.py @@ -5343,19 +5343,6 @@ class InvestigativeContentType(enum.Enum): InvestigativeContentType.__new__ = model.safe_enum__new__ # type: ignore -@attr.s(auto_attribs=True, init=False) -class JdbcInterface(model.Model): - """ - Attributes: - results: JDBC Metadata to inflate Avatica response classes. - """ - results: Optional[str] = None - - def __init__(self, *, - results: Optional[str] = None): - self.results = results - - @attr.s(auto_attribs=True, init=False) class LDAPConfig(model.Model): """ @@ -8052,7 +8039,6 @@ class Project(model.Model): allow_warnings: Validation policy: If true, the project can be committed with warnings when `validation_required` is true. (`allow_warnings` does nothing if `validation_required` is false). is_example: If true the project is an example project and cannot be modified dependency_status: Status of dependencies in your manifest & lockfile - data_tests_count: Number of data tests within project """ can: Optional[MutableMapping[str, bool]] = None id: Optional[str] = None @@ -8076,7 +8062,6 @@ class Project(model.Model): allow_warnings: Optional[bool] = None is_example: Optional[bool] = None dependency_status: Optional[str] = None - data_tests_count: Optional[int] = None def __init__(self, *, can: Optional[MutableMapping[str, bool]] = None, @@ -8100,8 +8085,7 @@ def __init__(self, *, git_release_mgmt_enabled: Optional[bool] = None, allow_warnings: Optional[bool] = None, is_example: Optional[bool] = None, - dependency_status: Optional[str] = None, - data_tests_count: Optional[int] = None): + dependency_status: Optional[str] = None): self.can = can self.id = id self.name = name @@ -8124,7 +8108,6 @@ def __init__(self, *, self.allow_warnings = allow_warnings self.is_example = is_example self.dependency_status = dependency_status - self.data_tests_count = data_tests_count @attr.s(auto_attribs=True, init=False) @@ -9958,6 +9941,19 @@ def __init__(self, *, self.jdbc_client = jdbc_client +@attr.s(auto_attribs=True, init=False) +class SqlInterfaceQueryMetadata(model.Model): + """ + Attributes: + results: JDBC Metadata to inflate Avatica response classes. + """ + results: Optional[str] = None + + def __init__(self, *, + results: Optional[str] = None): + self.results = results + + @attr.s(auto_attribs=True, init=False) class SqlQuery(model.Model): """ @@ -13122,7 +13118,7 @@ def __init__(self, *, class WriteProject(model.Model): """ Dynamic writeable type for Project removes: -can, id, uses_git, is_example, data_tests_count +can, id, uses_git, is_example Attributes: name: Project display name diff --git a/python/looker_sdk/sdk/constants.py b/python/looker_sdk/sdk/constants.py index 2ae277135..e4f45b6ad 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.17" +sdk_version = "23.18" environment_prefix = "LOOKERSDK" diff --git a/spec/Looker.4.0.json b/spec/Looker.4.0.json index f4512a4ed..bf8196019 100644 --- a/spec/Looker.4.0.json +++ b/spec/Looker.4.0.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "version": "4.0.23.17", - "x-looker-release-version": "23.17.75", + "version": "4.0.23.18", + "x-looker-release-version": "23.18.14", "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 **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": { @@ -11,7 +11,7 @@ }, "license": { "name": "EULA", - "url": "https://gcplmaster.dev.looker.com/eula" + "url": "https://localhost:10000/eula" } }, "basePath": "/api/4.0", @@ -21,7 +21,7 @@ "produces": [ "application/json" ], - "host": "gcplmaster.dev.looker.com:443", + "host": "localhost:20000", "schemes": [ "https" ], @@ -94,10 +94,6 @@ "name": "Integration", "description": "Manage Integrations" }, - { - "name": "JdbcInterface", - "description": "LookML Model metadata for JDBC Clients" - }, { "name": "Look", "description": "Run and Manage Looks" @@ -134,6 +130,10 @@ "name": "Session", "description": "Session Information" }, + { + "name": "SqlInterfaceQuery", + "description": "Run and Manage SQL Interface Queries" + }, { "name": "Theme", "description": "Manage Themes" @@ -11297,53 +11297,6 @@ "x-looker-activity-type": "non_query" } }, - "/__jdbc_interface__": { - "get": { - "tags": [ - "JdbcInterface" - ], - "operationId": "jdbc_interface", - "summary": "Get JDBC Interface", - "description": "### Handle Avatica RPC Requests", - "parameters": [ - { - "name": "avatica_request", - "in": "query", - "description": "Avatica RPC request", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": null, - "schema": { - "$ref": "#/definitions/JdbcInterface" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Permission Denied", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, "/ldap_config": { "get": { "tags": [ @@ -20221,10 +20174,57 @@ "x-looker-activity-type": "non_query" } }, + "/sql_interface_queries/metadata": { + "get": { + "tags": [ + "SqlInterfaceQuery" + ], + "operationId": "sql_interface_metadata", + "summary": "Get SQL Interface Query Metadata", + "description": "### Handles Avatica RPC metadata requests for SQL Interface queries", + "parameters": [ + { + "name": "avatica_request", + "in": "query", + "description": "Avatica RPC request", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": null, + "schema": { + "$ref": "#/definitions/SqlInterfaceQueryMetadata" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-looker-status": "beta", + "x-looker-activity-type": "non_query" + } + }, "/sql_interface_queries/{query_id}/run/{result_format}": { "get": { "tags": [ - "Query" + "SqlInterfaceQuery" ], "operationId": "run_sql_interface_query", "summary": "Run SQL Interface Query", @@ -20297,7 +20297,7 @@ "/sql_interface_queries": { "post": { "tags": [ - "Query" + "SqlInterfaceQuery" ], "operationId": "create_sql_interface_query", "summary": "Create SQL Interface Query", @@ -20857,7 +20857,7 @@ ], "operationId": "all_themes", "summary": "Get All Themes", - "description": "### Get an array of all existing themes\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\nThis method returns an array of all existing themes. The active time for the theme is not considered.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Get an array of all existing themes\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\nThis method returns an array of all existing themes. The active time for the theme is not considered.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "fields", @@ -20899,7 +20899,7 @@ ], "operationId": "create_theme", "summary": "Create Theme", - "description": "### Create a theme\n\nCreates a new theme object, returning the theme details, including the created id.\n\nIf `settings` are not specified, the default theme settings will be copied into the new theme.\n\nThe theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n\n**Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n\n**Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n\nFor more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes).\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Create a theme\n\nCreates a new theme object, returning the theme details, including the created id.\n\nIf `settings` are not specified, the default theme settings will be copied into the new theme.\n\nThe theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n\n**Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n\n**Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n\nFor more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes).\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "body", @@ -20960,7 +20960,7 @@ ], "operationId": "search_themes", "summary": "Search Themes", - "description": "### Search all themes for matching criteria.\n\nReturns an **array of theme objects** that match the specified search criteria.\n\n| Search Parameters | Description\n| :-------------------: | :------ |\n| `begin_at` only | Find themes active at or after `begin_at`\n| `end_at` only | Find themes active at or before `end_at`\n| both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n\nNote: Range matching requires boolean AND logic.\nWhen using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\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\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Search all themes for matching criteria.\n\nReturns an **array of theme objects** that match the specified search criteria.\n\n| Search Parameters | Description\n| :-------------------: | :------ |\n| `begin_at` only | Find themes active at or after `begin_at`\n| `end_at` only | Find themes active at or before `end_at`\n| both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n\nNote: Range matching requires boolean AND logic.\nWhen using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\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\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "id", @@ -21104,7 +21104,7 @@ ], "operationId": "set_default_theme", "summary": "Set Default Theme", - "description": "### Set the global default theme by theme name\n\nOnly Admin users can call this function.\n\nOnly an active theme with no expiration (`end_at` not set) can be assigned as the default theme. As long as a theme has an active record with no expiration, it can be set as the default.\n\n[Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n\nReturns the new specified default theme object.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Set the global default theme by theme name\n\nOnly Admin users can call this function.\n\nOnly an active theme with no expiration (`end_at` not set) can be assigned as the default theme. As long as a theme has an active record with no expiration, it can be set as the default.\n\n[Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n\nReturns the new specified default theme object.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "name", @@ -21157,7 +21157,7 @@ ], "operationId": "active_themes", "summary": "Get Active Themes", - "description": "### Get active themes\n\nReturns an array of active themes.\n\nIf the `name` parameter is specified, it will return an array with one theme if it's active and found.\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Get active themes\n\nReturns an array of active themes.\n\nIf the `name` parameter is specified, it will return an array with one theme if it's active and found.\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "name", @@ -21216,7 +21216,7 @@ ], "operationId": "theme_or_default", "summary": "Get Theme or Default", - "description": "### Get the named theme if it's active. Otherwise, return the default theme\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\nNote: API users with `show` ability can call this function\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Get the named theme if it's active. Otherwise, return the default theme\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\nNote: API users with `show` ability can call this function\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "name", @@ -21265,7 +21265,7 @@ ], "operationId": "validate_theme", "summary": "Validate Theme", - "description": "### Validate a theme with the specified information\n\nValidates all values set for the theme, returning any errors encountered, or 200 OK if valid\n\nSee [Create Theme](#!/Theme/create_theme) for constraints\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Validate a theme with the specified information\n\nValidates all values set for the theme, returning any errors encountered, or 200 OK if valid\n\nSee [Create Theme](#!/Theme/create_theme) for constraints\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "body", @@ -21332,7 +21332,7 @@ ], "operationId": "theme", "summary": "Get Theme", - "description": "### Get a theme by ID\n\nUse this to retrieve a specific theme, whether or not it's currently active.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Get a theme by ID\n\nUse this to retrieve a specific theme, whether or not it's currently active.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "theme_id", @@ -21378,7 +21378,7 @@ ], "operationId": "update_theme", "summary": "Update Theme", - "description": "### Update the theme by id.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Update the theme by id.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "theme_id", @@ -21438,7 +21438,7 @@ ], "operationId": "delete_theme", "summary": "Delete Theme", - "description": "### Delete a specific theme by id\n\nThis operation permanently deletes the identified theme from the database.\n\nBecause multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n\nAll IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Delete a specific theme by id\n\nThis operation permanently deletes the identified theme from the database.\n\nBecause multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n\nAll IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "theme_id", @@ -32608,17 +32608,6 @@ }, "x-looker-status": "stable" }, - "JdbcInterface": { - "properties": { - "results": { - "type": "string", - "readOnly": true, - "description": "JDBC Metadata to inflate Avatica response classes.", - "x-looker-nullable": false - } - }, - "x-looker-status": "beta" - }, "LDAPConfig": { "properties": { "can": { @@ -36251,13 +36240,6 @@ "type": "string", "description": "Status of dependencies in your manifest & lockfile", "x-looker-nullable": true - }, - "data_tests_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of data tests within project", - "x-looker-nullable": false } }, "x-looker-status": "stable" @@ -39095,11 +39077,22 @@ "x-looker-nullable": true } }, - "x-looker-status": "stable", + "x-looker-status": "beta", "required": [ "signature" ] }, + "SqlInterfaceQueryMetadata": { + "properties": { + "results": { + "type": "string", + "readOnly": true, + "description": "JDBC Metadata to inflate Avatica response classes.", + "x-looker-nullable": false + } + }, + "x-looker-status": "beta" + }, "SqlQueryCreate": { "properties": { "connection_name": { diff --git a/spec/Looker.4.0.oas.json b/spec/Looker.4.0.oas.json index dd2134a93..e6eb20f7e 100644 --- a/spec/Looker.4.0.oas.json +++ b/spec/Looker.4.0.oas.json @@ -1,8 +1,8 @@ { "openapi": "3.0.0", "info": { - "version": "4.0.23.17", - "x-looker-release-version": "23.17.75", + "version": "4.0.23.18", + "x-looker-release-version": "23.18.14", "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 **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": { @@ -11,7 +11,7 @@ }, "license": { "name": "EULA", - "url": "https://gcplmaster.dev.looker.com/eula" + "url": "https://localhost:10000/eula" } }, "tags": [ @@ -83,10 +83,6 @@ "name": "Integration", "description": "Manage Integrations" }, - { - "name": "JdbcInterface", - "description": "LookML Model metadata for JDBC Clients" - }, { "name": "Look", "description": "Run and Manage Looks" @@ -123,6 +119,10 @@ "name": "Session", "description": "Session Information" }, + { + "name": "SqlInterfaceQuery", + "description": "Run and Manage SQL Interface Queries" + }, { "name": "Theme", "description": "Manage Themes" @@ -15502,71 +15502,6 @@ } } }, - "/__jdbc_interface__": { - "get": { - "tags": [ - "JdbcInterface" - ], - "operationId": "jdbc_interface", - "summary": "Get JDBC Interface", - "description": "### Handle Avatica RPC Requests", - "parameters": [ - { - "name": "avatica_request", - "in": "query", - "description": "Avatica RPC request", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": null, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JdbcInterface" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, "/ldap_config": { "get": { "tags": [ @@ -27723,10 +27658,75 @@ "x-looker-activity-type": "non_query" } }, + "/sql_interface_queries/metadata": { + "get": { + "tags": [ + "SqlInterfaceQuery" + ], + "operationId": "sql_interface_metadata", + "summary": "Get SQL Interface Query Metadata", + "description": "### Handles Avatica RPC metadata requests for SQL Interface queries", + "parameters": [ + { + "name": "avatica_request", + "in": "query", + "description": "Avatica RPC request", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": null, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SqlInterfaceQueryMetadata" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "x-looker-status": "beta", + "x-looker-activity-type": "non_query" + } + }, "/sql_interface_queries/{query_id}/run/{result_format}": { "get": { "tags": [ - "Query" + "SqlInterfaceQuery" ], "operationId": "run_sql_interface_query", "summary": "Run SQL Interface Query", @@ -27911,7 +27911,7 @@ "/sql_interface_queries": { "post": { "tags": [ - "Query" + "SqlInterfaceQuery" ], "operationId": "create_sql_interface_query", "summary": "Create SQL Interface Query", @@ -28760,7 +28760,7 @@ ], "operationId": "all_themes", "summary": "Get All Themes", - "description": "### Get an array of all existing themes\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\nThis method returns an array of all existing themes. The active time for the theme is not considered.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Get an array of all existing themes\n\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\nThis method returns an array of all existing themes. The active time for the theme is not considered.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "fields", @@ -28816,7 +28816,7 @@ ], "operationId": "create_theme", "summary": "Create Theme", - "description": "### Create a theme\n\nCreates a new theme object, returning the theme details, including the created id.\n\nIf `settings` are not specified, the default theme settings will be copied into the new theme.\n\nThe theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n\n**Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n\n**Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n\nFor more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes).\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Create a theme\n\nCreates a new theme object, returning the theme details, including the created id.\n\nIf `settings` are not specified, the default theme settings will be copied into the new theme.\n\nThe theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n\n**Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n\n**Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n\nFor more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes).\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "responses": { "200": { "description": "Theme", @@ -28901,7 +28901,7 @@ ], "operationId": "search_themes", "summary": "Search Themes", - "description": "### Search all themes for matching criteria.\n\nReturns an **array of theme objects** that match the specified search criteria.\n\n| Search Parameters | Description\n| :-------------------: | :------ |\n| `begin_at` only | Find themes active at or after `begin_at`\n| `end_at` only | Find themes active at or before `end_at`\n| both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n\nNote: Range matching requires boolean AND logic.\nWhen using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\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\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Search all themes for matching criteria.\n\nReturns an **array of theme objects** that match the specified search criteria.\n\n| Search Parameters | Description\n| :-------------------: | :------ |\n| `begin_at` only | Find themes active at or after `begin_at`\n| `end_at` only | Find themes active at or before `end_at`\n| both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n\nNote: Range matching requires boolean AND logic.\nWhen using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\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\nGet a **single theme** by id with [Theme](#!/Theme/theme)\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "id", @@ -29089,7 +29089,7 @@ ], "operationId": "set_default_theme", "summary": "Set Default Theme", - "description": "### Set the global default theme by theme name\n\nOnly Admin users can call this function.\n\nOnly an active theme with no expiration (`end_at` not set) can be assigned as the default theme. As long as a theme has an active record with no expiration, it can be set as the default.\n\n[Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n\nReturns the new specified default theme object.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Set the global default theme by theme name\n\nOnly Admin users can call this function.\n\nOnly an active theme with no expiration (`end_at` not set) can be assigned as the default theme. As long as a theme has an active record with no expiration, it can be set as the default.\n\n[Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n\nReturns the new specified default theme object.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "name", @@ -29164,7 +29164,7 @@ ], "operationId": "active_themes", "summary": "Get Active Themes", - "description": "### Get active themes\n\nReturns an array of active themes.\n\nIf the `name` parameter is specified, it will return an array with one theme if it's active and found.\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Get active themes\n\nReturns an array of active themes.\n\nIf the `name` parameter is specified, it will return an array with one theme if it's active and found.\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "name", @@ -29241,7 +29241,7 @@ ], "operationId": "theme_or_default", "summary": "Get Theme or Default", - "description": "### Get the named theme if it's active. Otherwise, return the default theme\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\nNote: API users with `show` ability can call this function\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Get the named theme if it's active. Otherwise, return the default theme\n\nThe optional `ts` parameter can specify a different timestamp than \"now.\"\nNote: API users with `show` ability can call this function\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "name", @@ -29306,7 +29306,7 @@ ], "operationId": "validate_theme", "summary": "Validate Theme", - "description": "### Validate a theme with the specified information\n\nValidates all values set for the theme, returning any errors encountered, or 200 OK if valid\n\nSee [Create Theme](#!/Theme/create_theme) for constraints\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Validate a theme with the specified information\n\nValidates all values set for the theme, returning any errors encountered, or 200 OK if valid\n\nSee [Create Theme](#!/Theme/create_theme) for constraints\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "responses": { "200": { "description": "Theme validation results", @@ -29401,7 +29401,7 @@ ], "operationId": "theme", "summary": "Get Theme", - "description": "### Get a theme by ID\n\nUse this to retrieve a specific theme, whether or not it's currently active.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Get a theme by ID\n\nUse this to retrieve a specific theme, whether or not it's currently active.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "theme_id", @@ -29463,7 +29463,7 @@ ], "operationId": "update_theme", "summary": "Update Theme", - "description": "### Update the theme by id.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Update the theme by id.\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "theme_id", @@ -29547,7 +29547,7 @@ ], "operationId": "delete_theme", "summary": "Delete Theme", - "description": "### Delete a specific theme by id\n\nThis operation permanently deletes the identified theme from the database.\n\nBecause multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n\nAll IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature.\n\n", + "description": "### Delete a specific theme by id\n\nThis operation permanently deletes the identified theme from the database.\n\nBecause multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n\nAll IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n\n**Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n\n", "parameters": [ { "name": "theme_id", @@ -35589,7 +35589,7 @@ }, "servers": [ { - "url": "https://gcplmaster.dev.looker.com:443/api/4.0" + "url": "https://localhost:20000/api/4.0" } ], "components": { @@ -42258,17 +42258,6 @@ }, "x-looker-status": "stable" }, - "JdbcInterface": { - "properties": { - "results": { - "type": "string", - "readOnly": true, - "description": "JDBC Metadata to inflate Avatica response classes.", - "nullable": false - } - }, - "x-looker-status": "beta" - }, "LDAPConfig": { "properties": { "can": { @@ -45862,13 +45851,6 @@ "type": "string", "description": "Status of dependencies in your manifest & lockfile", "nullable": true - }, - "data_tests_count": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "Number of data tests within project", - "nullable": false } }, "x-looker-status": "stable" @@ -48658,11 +48640,22 @@ "nullable": true } }, - "x-looker-status": "stable", + "x-looker-status": "beta", "required": [ "signature" ] }, + "SqlInterfaceQueryMetadata": { + "properties": { + "results": { + "type": "string", + "readOnly": true, + "description": "JDBC Metadata to inflate Avatica response classes.", + "nullable": false + } + }, + "x-looker-status": "beta" + }, "SqlQueryCreate": { "properties": { "connection_name": { diff --git a/swift/looker/rtl/constants.swift b/swift/looker/rtl/constants.swift index 22683c7eb..14734295f 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.17" + public static let lookerVersion = "23.18" 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 a8853f859..24e1f9875 100644 --- a/swift/looker/sdk/methods.swift +++ b/swift/looker/sdk/methods.swift @@ -6351,27 +6351,6 @@ open class LookerSDK: APIMethods { - // MARK JdbcInterface: LookML Model metadata for JDBC Clients - - /** - * ### Handle Avatica RPC Requests - * - * GET /__jdbc_interface__ -> JdbcInterface - */ - public func jdbc_interface( - /** - * @param {String} avatica_request Avatica RPC request - */ - avatica_request: String? = nil, - options: ITransportSettings? = nil - ) -> SDKResponse { - let result: SDKResponse = self.get("/__jdbc_interface__", - ["avatica_request": avatica_request], nil, options) - return result - } - - - // MARK Look: Run and Manage Looks /** @@ -8697,73 +8676,6 @@ open class LookerSDK: APIMethods { return result } - /** - * ### Run a saved SQL interface query. - * - * This runs a previously created SQL interface query. - * - * The 'result_format' parameter specifies the desired structure and format of the response. - * - * Supported formats: - * - * | result_format | Description - * | :-----------: | :--- | - * | json | Plain json - * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | csv | Comma separated values with a header - * | txt | Tab separated values with a header - * | html | Simple html - * | md | Simple markdown - * | xlsx | MS Excel spreadsheet - * | sql | Returns the generated SQL rather than running the query - * | png | A PNG image of the visualization of the query - * | jpg | A JPG image of the visualization of the query - * - * GET /sql_interface_queries/{query_id}/run/{result_format} -> String - * - * **Note**: Binary content may be returned by this method. - */ - public func run_sql_interface_query( - /** - * @param {Int64} query_id Integer id of query - */ - _ query_id: Int64, - /** - * @param {String} result_format Format of result, options are: ["json_bi"] - */ - _ result_format: String, - options: ITransportSettings? = nil - ) -> SDKResponse { - let path_query_id = encodeParam(query_id) - let path_result_format = encodeParam(result_format) - let result: SDKResponse = self.get("/sql_interface_queries/\(path_query_id)/run/\(path_result_format)", nil, nil, options) - return result - } - - /** - * ### Create a SQL interface query. - * - * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - * and are not deleted. If you create a query that is exactly like an existing query then the existing query - * will be returned and no new query will be created. Whether a new query is created or not, you can use - * the 'id' in the returned query with the 'run' method. - * - * The query parameters are passed as json in the body of the request. - * - * POST /sql_interface_queries -> SqlInterfaceQuery - */ - public func create_sql_interface_query( - /** - * @param {WriteSqlInterfaceQueryCreate} body - */ - _ body: WriteSqlInterfaceQueryCreate, - options: ITransportSettings? = nil - ) -> SDKResponse { - let result: SDKResponse = self.post("/sql_interface_queries", nil, try! self.encode(body), options) - return result - } - /** * ### Create a SQL Runner Query * @@ -10270,6 +10182,94 @@ open class LookerSDK: APIMethods { + // MARK SqlInterfaceQuery: Run and Manage SQL Interface Queries + + /** + * ### Handles Avatica RPC metadata requests for SQL Interface queries + * + * GET /sql_interface_queries/metadata -> SqlInterfaceQueryMetadata + */ + public func sql_interface_metadata( + /** + * @param {String} avatica_request Avatica RPC request + */ + avatica_request: String? = nil, + options: ITransportSettings? = nil + ) -> SDKResponse { + let result: SDKResponse = self.get("/sql_interface_queries/metadata", + ["avatica_request": avatica_request], nil, options) + return result + } + + /** + * ### Run a saved SQL interface query. + * + * This runs a previously created SQL interface query. + * + * The 'result_format' parameter specifies the desired structure and format of the response. + * + * Supported formats: + * + * | result_format | Description + * | :-----------: | :--- | + * | json | Plain json + * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | csv | Comma separated values with a header + * | txt | Tab separated values with a header + * | html | Simple html + * | md | Simple markdown + * | xlsx | MS Excel spreadsheet + * | sql | Returns the generated SQL rather than running the query + * | png | A PNG image of the visualization of the query + * | jpg | A JPG image of the visualization of the query + * + * GET /sql_interface_queries/{query_id}/run/{result_format} -> String + * + * **Note**: Binary content may be returned by this method. + */ + public func run_sql_interface_query( + /** + * @param {Int64} query_id Integer id of query + */ + _ query_id: Int64, + /** + * @param {String} result_format Format of result, options are: ["json_bi"] + */ + _ result_format: String, + options: ITransportSettings? = nil + ) -> SDKResponse { + let path_query_id = encodeParam(query_id) + let path_result_format = encodeParam(result_format) + let result: SDKResponse = self.get("/sql_interface_queries/\(path_query_id)/run/\(path_result_format)", nil, nil, options) + return result + } + + /** + * ### Create a SQL interface query. + * + * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + * and are not deleted. If you create a query that is exactly like an existing query then the existing query + * will be returned and no new query will be created. Whether a new query is created or not, you can use + * the 'id' in the returned query with the 'run' method. + * + * The query parameters are passed as json in the body of the request. + * + * POST /sql_interface_queries -> SqlInterfaceQuery + */ + public func create_sql_interface_query( + /** + * @param {WriteSqlInterfaceQueryCreate} body + */ + _ body: WriteSqlInterfaceQueryCreate, + options: ITransportSettings? = nil + ) -> SDKResponse { + let result: SDKResponse = self.post("/sql_interface_queries", nil, try! self.encode(body), options) + return result + } + + + // MARK Theme: Manage Themes /** @@ -10279,7 +10279,7 @@ open class LookerSDK: APIMethods { * * This method returns an array of all existing themes. The active time for the theme is not considered. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes -> [Theme] */ @@ -10310,7 +10310,7 @@ open class LookerSDK: APIMethods { * * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes -> Theme */ @@ -10363,7 +10363,7 @@ open class LookerSDK: APIMethods { * * Get a **single theme** by id with [Theme](#!/Theme/theme) * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/search -> [Theme] */ @@ -10445,7 +10445,7 @@ open class LookerSDK: APIMethods { * * Returns the new specified default theme object. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PUT /themes/default -> Theme */ @@ -10470,7 +10470,7 @@ open class LookerSDK: APIMethods { * * The optional `ts` parameter can specify a different timestamp than "now." * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/active -> [Theme] */ @@ -10500,7 +10500,7 @@ open class LookerSDK: APIMethods { * The optional `ts` parameter can specify a different timestamp than "now." * Note: API users with `show` ability can call this function * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/theme_or_default -> Theme */ @@ -10527,7 +10527,7 @@ open class LookerSDK: APIMethods { * * See [Create Theme](#!/Theme/create_theme) for constraints * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes/validate -> ValidationError */ @@ -10547,7 +10547,7 @@ open class LookerSDK: APIMethods { * * Use this to retrieve a specific theme, whether or not it's currently active. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/{theme_id} -> Theme */ @@ -10571,7 +10571,7 @@ open class LookerSDK: APIMethods { /** * ### Update the theme by id. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PATCH /themes/{theme_id} -> Theme */ @@ -10600,7 +10600,7 @@ open class LookerSDK: APIMethods { * * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * DELETE /themes/{theme_id} -> String */ diff --git a/swift/looker/sdk/models.swift b/swift/looker/sdk/models.swift index 5f92eb39d..72cde843d 100644 --- a/swift/looker/sdk/models.swift +++ b/swift/looker/sdk/models.swift @@ -10825,26 +10825,6 @@ public enum InvestigativeContentType: String, Codable { case dashboard = "dashboard" } -public struct JdbcInterface: SDKModel { - - private enum CodingKeys : String, CodingKey { - case _results = "results" - } - private var _results: AnyString? - /** - * JDBC Metadata to inflate Avatica response classes. (read-only) - */ - public var results: String? { - get { _results?.value } - set { _results = newValue.map(AnyString.init) } - } - - public init(results: String? = nil) { - self._results = results.map(AnyString.init) - } - -} - public struct LDAPConfig: SDKModel { private enum CodingKeys : String, CodingKey { @@ -16314,7 +16294,6 @@ public struct Project: SDKModel { case allow_warnings case is_example case _dependency_status = "dependency_status" - case _data_tests_count = "data_tests_count" } /** * Operations the current user is able to perform on this object (read-only) @@ -16478,16 +16457,7 @@ public struct Project: SDKModel { set { _dependency_status = newValue.map(AnyString.init) } } - private var _data_tests_count: AnyInt? - /** - * Number of data tests within project (read-only) - */ - public var data_tests_count: Int64? { - get { _data_tests_count?.value } - set { _data_tests_count = newValue.map(AnyInt.init) } - } - - public init(can: StringDictionary? = nil, id: String? = nil, name: String? = nil, uses_git: Bool? = nil, git_remote_url: String? = nil, git_username: String? = nil, git_password: String? = nil, git_production_branch_name: String? = nil, use_git_cookie_auth: Bool? = nil, git_username_user_attribute: String? = nil, git_password_user_attribute: String? = nil, git_service_name: String? = nil, git_application_server_http_port: Int64? = nil, git_application_server_http_scheme: String? = nil, deploy_secret: String? = nil, unset_deploy_secret: Bool? = nil, pull_request_mode: PullRequestMode? = nil, validation_required: Bool? = nil, git_release_mgmt_enabled: Bool? = nil, allow_warnings: Bool? = nil, is_example: Bool? = nil, dependency_status: String? = nil, data_tests_count: Int64? = nil) { + public init(can: StringDictionary? = nil, id: String? = nil, name: String? = nil, uses_git: Bool? = nil, git_remote_url: String? = nil, git_username: String? = nil, git_password: String? = nil, git_production_branch_name: String? = nil, use_git_cookie_auth: Bool? = nil, git_username_user_attribute: String? = nil, git_password_user_attribute: String? = nil, git_service_name: String? = nil, git_application_server_http_port: Int64? = nil, git_application_server_http_scheme: String? = nil, deploy_secret: String? = nil, unset_deploy_secret: Bool? = nil, pull_request_mode: PullRequestMode? = nil, validation_required: Bool? = nil, git_release_mgmt_enabled: Bool? = nil, allow_warnings: Bool? = nil, is_example: Bool? = nil, dependency_status: String? = nil) { self.can = can self._id = id.map(AnyString.init) self._name = name.map(AnyString.init) @@ -16510,7 +16480,6 @@ public struct Project: SDKModel { self.allow_warnings = allow_warnings self.is_example = is_example self._dependency_status = dependency_status.map(AnyString.init) - self._data_tests_count = data_tests_count.map(AnyInt.init) } } @@ -20292,6 +20261,26 @@ public struct SqlInterfaceQueryCreate: SDKModel { } +public struct SqlInterfaceQueryMetadata: SDKModel { + + private enum CodingKeys : String, CodingKey { + case _results = "results" + } + private var _results: AnyString? + /** + * JDBC Metadata to inflate Avatica response classes. (read-only) + */ + public var results: String? { + get { _results?.value } + set { _results = newValue.map(AnyString.init) } + } + + public init(results: String? = nil) { + self._results = results.map(AnyString.init) + } + +} + public struct SqlQuery: SDKModel { private enum CodingKeys : String, CodingKey { @@ -26484,7 +26473,7 @@ public struct WritePrivatelabelConfiguration: SDKModel { /** * Dynamic writeable type for Project removes: - * can, id, uses_git, is_example, data_tests_count + * can, id, uses_git, is_example */ public struct WriteProject: SDKModel { diff --git a/swift/looker/sdk/streams.swift b/swift/looker/sdk/streams.swift index 4966a449d..817297ed2 100644 --- a/swift/looker/sdk/streams.swift +++ b/swift/looker/sdk/streams.swift @@ -6349,27 +6349,6 @@ open class LookerSDKStream: APIMethods { - // MARK JdbcInterface: LookML Model metadata for JDBC Clients - - /** - * ### Handle Avatica RPC Requests - * - * GET /__jdbc_interface__ -> JdbcInterface - */ - public func jdbc_interface( - /** - * @param {String} avatica_request Avatica RPC request - */ - avatica_request: String? = nil, - options: ITransportSettings? = nil - ) -> SDKResponse { - let result: SDKResponse = self.get("/__jdbc_interface__", - ["avatica_request": avatica_request], nil, options) - return result - } - - - // MARK Look: Run and Manage Looks /** @@ -8695,73 +8674,6 @@ open class LookerSDKStream: APIMethods { return result } - /** - * ### Run a saved SQL interface query. - * - * This runs a previously created SQL interface query. - * - * The 'result_format' parameter specifies the desired structure and format of the response. - * - * Supported formats: - * - * | result_format | Description - * | :-----------: | :--- | - * | json | Plain json - * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query - * | csv | Comma separated values with a header - * | txt | Tab separated values with a header - * | html | Simple html - * | md | Simple markdown - * | xlsx | MS Excel spreadsheet - * | sql | Returns the generated SQL rather than running the query - * | png | A PNG image of the visualization of the query - * | jpg | A JPG image of the visualization of the query - * - * GET /sql_interface_queries/{query_id}/run/{result_format} -> String - * - * **Note**: Binary content may be returned by this method. - */ - public func run_sql_interface_query( - /** - * @param {Int64} query_id Integer id of query - */ - _ query_id: Int64, - /** - * @param {String} result_format Format of result, options are: ["json_bi"] - */ - _ result_format: String, - options: ITransportSettings? = nil - ) -> SDKResponse { - let path_query_id = encodeParam(query_id) - let path_result_format = encodeParam(result_format) - let result: SDKResponse = self.get("/sql_interface_queries/\(path_query_id)/run/\(path_result_format)", nil, nil, options) - return result - } - - /** - * ### Create a SQL interface query. - * - * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created - * and are not deleted. If you create a query that is exactly like an existing query then the existing query - * will be returned and no new query will be created. Whether a new query is created or not, you can use - * the 'id' in the returned query with the 'run' method. - * - * The query parameters are passed as json in the body of the request. - * - * POST /sql_interface_queries -> SqlInterfaceQuery - */ - public func create_sql_interface_query( - /** - * @param {WriteSqlInterfaceQueryCreate} body - */ - _ body: WriteSqlInterfaceQueryCreate, - options: ITransportSettings? = nil - ) -> SDKResponse { - let result: SDKResponse = self.post("/sql_interface_queries", nil, try! self.encode(body), options) - return result - } - /** * ### Create a SQL Runner Query * @@ -10268,6 +10180,94 @@ open class LookerSDKStream: APIMethods { + // MARK SqlInterfaceQuery: Run and Manage SQL Interface Queries + + /** + * ### Handles Avatica RPC metadata requests for SQL Interface queries + * + * GET /sql_interface_queries/metadata -> SqlInterfaceQueryMetadata + */ + public func sql_interface_metadata( + /** + * @param {String} avatica_request Avatica RPC request + */ + avatica_request: String? = nil, + options: ITransportSettings? = nil + ) -> SDKResponse { + let result: SDKResponse = self.get("/sql_interface_queries/metadata", + ["avatica_request": avatica_request], nil, options) + return result + } + + /** + * ### Run a saved SQL interface query. + * + * This runs a previously created SQL interface query. + * + * The 'result_format' parameter specifies the desired structure and format of the response. + * + * Supported formats: + * + * | result_format | Description + * | :-----------: | :--- | + * | json | Plain json + * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query + * | csv | Comma separated values with a header + * | txt | Tab separated values with a header + * | html | Simple html + * | md | Simple markdown + * | xlsx | MS Excel spreadsheet + * | sql | Returns the generated SQL rather than running the query + * | png | A PNG image of the visualization of the query + * | jpg | A JPG image of the visualization of the query + * + * GET /sql_interface_queries/{query_id}/run/{result_format} -> String + * + * **Note**: Binary content may be returned by this method. + */ + public func run_sql_interface_query( + /** + * @param {Int64} query_id Integer id of query + */ + _ query_id: Int64, + /** + * @param {String} result_format Format of result, options are: ["json_bi"] + */ + _ result_format: String, + options: ITransportSettings? = nil + ) -> SDKResponse { + let path_query_id = encodeParam(query_id) + let path_result_format = encodeParam(result_format) + let result: SDKResponse = self.get("/sql_interface_queries/\(path_query_id)/run/\(path_result_format)", nil, nil, options) + return result + } + + /** + * ### Create a SQL interface query. + * + * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created + * and are not deleted. If you create a query that is exactly like an existing query then the existing query + * will be returned and no new query will be created. Whether a new query is created or not, you can use + * the 'id' in the returned query with the 'run' method. + * + * The query parameters are passed as json in the body of the request. + * + * POST /sql_interface_queries -> SqlInterfaceQuery + */ + public func create_sql_interface_query( + /** + * @param {WriteSqlInterfaceQueryCreate} body + */ + _ body: WriteSqlInterfaceQueryCreate, + options: ITransportSettings? = nil + ) -> SDKResponse { + let result: SDKResponse = self.post("/sql_interface_queries", nil, try! self.encode(body), options) + return result + } + + + // MARK Theme: Manage Themes /** @@ -10277,7 +10277,7 @@ open class LookerSDKStream: APIMethods { * * This method returns an array of all existing themes. The active time for the theme is not considered. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes -> [Theme] */ @@ -10308,7 +10308,7 @@ open class LookerSDKStream: APIMethods { * * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes -> Theme */ @@ -10361,7 +10361,7 @@ open class LookerSDKStream: APIMethods { * * Get a **single theme** by id with [Theme](#!/Theme/theme) * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/search -> [Theme] */ @@ -10443,7 +10443,7 @@ open class LookerSDKStream: APIMethods { * * Returns the new specified default theme object. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PUT /themes/default -> Theme */ @@ -10468,7 +10468,7 @@ open class LookerSDKStream: APIMethods { * * The optional `ts` parameter can specify a different timestamp than "now." * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/active -> [Theme] */ @@ -10498,7 +10498,7 @@ open class LookerSDKStream: APIMethods { * The optional `ts` parameter can specify a different timestamp than "now." * Note: API users with `show` ability can call this function * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/theme_or_default -> Theme */ @@ -10525,7 +10525,7 @@ open class LookerSDKStream: APIMethods { * * See [Create Theme](#!/Theme/create_theme) for constraints * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * POST /themes/validate -> ValidationError */ @@ -10545,7 +10545,7 @@ open class LookerSDKStream: APIMethods { * * Use this to retrieve a specific theme, whether or not it's currently active. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * GET /themes/{theme_id} -> Theme */ @@ -10569,7 +10569,7 @@ open class LookerSDKStream: APIMethods { /** * ### Update the theme by id. * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * PATCH /themes/{theme_id} -> Theme */ @@ -10598,7 +10598,7 @@ open class LookerSDKStream: APIMethods { * * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search). * - * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or help.looker.com to update your license for this feature. + * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature. * * DELETE /themes/{theme_id} -> String */