diff --git a/csharp/rtl/Constants.cs b/csharp/rtl/Constants.cs index 3e3750fca..94480d801 100644 --- a/csharp/rtl/Constants.cs +++ b/csharp/rtl/Constants.cs @@ -61,7 +61,7 @@ public struct Constants public const string DefaultApiVersion = "4.0"; public const string AgentPrefix = "CS-SDK"; - public const string LookerVersion = "24.20"; + public const string LookerVersion = "25.0"; 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 3b3967d09..e3347835a 100644 --- a/csharp/sdk/4.0/methods.cs +++ b/csharp/sdk/4.0/methods.cs @@ -615,7 +615,7 @@ namespace = SdkUtils.EncodeParam(namespace); /// /// The value of the `secret` field will be set by Looker and returned. /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// POST /embed_config/secrets -> EmbedSecret /// @@ -630,7 +630,7 @@ public async Task> create_embed_secret( /// ### Delete an embed secret. /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// DELETE /embed_config/secrets/{embed_secret_id} -> string /// @@ -688,7 +688,7 @@ public async Task> delete_embed_secret( /// encrypted transport. /// /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// POST /embed/sso_url -> EmbedUrlResponse /// @@ -728,7 +728,7 @@ public async Task> create_sso_embed_url /// encrypted transport. /// /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// POST /embed/token_url/me -> EmbedUrlResponse /// @@ -787,7 +787,7 @@ public async Task> validate_embed_url( /// - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into /// the iframe. /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// POST /embed/cookieless_session/acquire -> EmbedCookielessSessionAcquireResponse /// @@ -806,7 +806,7 @@ public async Task> /// in the session and session reference data being cleared from the system. This endpoint can be used to log an embed /// user out of the Looker instance. /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// DELETE /embed/cookieless_session/{session_reference_token} -> string /// @@ -836,7 +836,7 @@ public async Task> delete_embed_cookieless_sessio /// the session time to live in the `session_reference_token_ttl` response property. If this property /// contains a zero, the embed session has expired. /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// PUT /embed/cookieless_session/generate_tokens -> EmbedCookielessSessionGenerateTokensResponse /// @@ -2504,6 +2504,7 @@ public async Task> mobile_settings( /// - extension_framework_enabled /// - extension_load_url_enabled /// - instance_config + /// - managed_certificate_uri /// - marketplace_auto_install_enabled /// - marketplace_automation /// - marketplace_terms_accepted @@ -2542,6 +2543,7 @@ public async Task> get_setting( /// - extension_framework_enabled /// - extension_load_url_enabled /// - instance_config + /// - managed_certificate_uri /// - marketplace_auto_install_enabled /// - marketplace_automation /// - marketplace_terms_accepted @@ -3468,12 +3470,18 @@ public async Task> content_thumbnail( /// ContentValidation Content validation results (application/json) /// /// Requested fields. + /// Optional list of project names to filter by + /// Optional list of space ids to filter by public async Task> content_validation( string? fields = null, + DelimArray? project_names = null, + DelimArray? space_ids = null, ITransportSettings? options = null) { return await AuthRequest(HttpMethod.Get, "/content_validation", new Values { - { "fields", fields }},null,options); + { "fields", fields }, + { "project_names", project_names }, + { "space_ids", space_ids }},null,options); } /// ### Search Content Views @@ -5839,16 +5847,25 @@ public async Task> move_look( /// Requested fields. /// Number of results to return. (can be used with offset) /// Number of results to skip before returning any. (Defaults to 0 if not set when limit is used) + /// Whether or not to exclude models with no explores from the response (Defaults to false) + /// Whether or not to exclude hidden explores from the response (Defaults to false) + /// Whether or not to include built-in models such as System Activity (Defaults to false) public async Task> all_lookml_models( string? fields = null, long? limit = null, long? offset = null, + bool? exclude_empty = null, + bool? exclude_hidden = null, + bool? include_internal = null, ITransportSettings? options = null) { return await AuthRequest(HttpMethod.Get, "/lookml_models", new Values { { "fields", fields }, { "limit", limit }, - { "offset", offset }},null,options); + { "offset", offset }, + { "exclude_empty", exclude_empty }, + { "exclude_hidden", exclude_hidden }, + { "include_internal", include_internal }},null,options); } /// ### Create a lookml model using the specified configuration. @@ -7013,7 +7030,7 @@ public async Task> query_task( /// /// Returns the results of an async query task if the query has completed. /// - /// If the query task is still running or waiting to run, this function returns 204 No Content. + /// If the query task is still running or waiting to run, this function returns 202 Accepted. /// /// If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. /// @@ -7038,8 +7055,6 @@ public async Task> query_task( /// /// string The query results. (text) /// string The query results. (application/json) - /// string The query is not finished (text) - /// string The query is not finished (application/json) /// /// /// ID of the Query Task @@ -10000,7 +10015,7 @@ public async Task> create_user_cre /// ### Embed login information for the specified user. /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> CredentialsEmbed /// @@ -10023,7 +10038,7 @@ public async Task> user_credentials_emb /// ### Embed login information for the specified user. /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> string /// @@ -10043,7 +10058,7 @@ public async Task> delete_user_credentials_embed( /// ### Embed login information for the specified user. /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// GET /users/{user_id}/credentials_embed -> CredentialsEmbed[] /// @@ -10373,7 +10388,7 @@ public async Task> wipeout_user_emails( /// Create an embed user from an external user ID /// - /// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + /// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. /// /// POST /users/embed_user -> UserPublic /// diff --git a/csharp/sdk/4.0/models.cs b/csharp/sdk/4.0/models.cs index 6389ddfe9..7dcbc0bed 100644 --- a/csharp/sdk/4.0/models.cs +++ b/csharp/sdk/4.0/models.cs @@ -21,7 +21,7 @@ /// SOFTWARE. /// -/// 342 API models: 259 Spec, 0 Request, 61 Write, 22 Enum +/// 343 API models: 259 Spec, 0 Request, 62 Write, 22 Enum #nullable enable using System; @@ -1696,6 +1696,8 @@ public class DBConnection : SdkModel public bool? verify_ssl { get; set; } = null; /// Name of temporary database (if used) public string? tmp_db_name { get; set; } = null; + /// Name of temporary host (if used) + public string? tmp_db_host { get; set; } = null; /// Additional params to add to JDBC connection string public string? jdbc_additional_params { get; set; } = null; /// Connection Pool Timeout, in seconds @@ -2022,6 +2024,8 @@ public class EmbedConfig : SdkModel public bool? look_filters { get; set; } = null; /// When true, removes navigation to Looks from embedded dashboards and explores. public bool? hide_look_navigation { get; set; } = null; + /// True if embedding is licensed for this Looker instance. (read-only) + public bool? embed_enabled { get; set; } = null; } public class EmbedCookielessSessionAcquire : SdkModel @@ -5023,6 +5027,8 @@ public class Setting : SdkModel public bool? dashboard_auto_refresh_restriction { get; set; } = null; /// Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) public string? dashboard_auto_refresh_minimum_interval { get; set; } = null; + /// URI pointing to the location of a private root certificate in Secret Manager + public string? managed_certificate_uri { get; set; } = null; } public class SmtpNodeStatus : SdkModel @@ -6256,6 +6262,8 @@ public class WriteDBConnection : SdkModel public bool? verify_ssl { get; set; } = null; /// Name of temporary database (if used) public string? tmp_db_name { get; set; } = null; + /// Name of temporary host (if used) + public string? tmp_db_host { get; set; } = null; /// Additional params to add to JDBC connection string public string? jdbc_additional_params { get; set; } = null; /// Connection Pool Timeout, in seconds @@ -6337,6 +6345,34 @@ public class WriteDBConnectionOverride : SdkModel public string? after_connect_statements { get; set; } = null; } +/// Dynamic writeable type for EmbedConfig removes: +/// embed_enabled +public class WriteEmbedConfig : SdkModel +{ + /// List of domains to allow for embedding + public string[]? domain_allowlist { get; set; } = null; + /// List of base urls to allow for alert/schedule + public string[]? alert_url_allowlist { get; set; } = null; + /// Owner of who defines the alert/schedule params on the base url + public string? alert_url_param_owner { get; set; } = null; + /// Label for the alert/schedule url + public string? alert_url_label { get; set; } = null; + /// Is SSO embedding enabled for this Looker + public bool? sso_auth_enabled { get; set; } = null; + /// Is Cookieless embedding enabled for this Looker + public bool? embed_cookieless_v2 { get; set; } = null; + /// Is embed content navigation enabled for this looker + public bool? embed_content_navigation { get; set; } = null; + /// Is embed content management enabled for this Looker + public bool? embed_content_management { get; set; } = null; + /// When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes. + public bool? strict_sameorigin_for_login { get; set; } = null; + /// When true, filters are enabled on embedded Looks + public bool? look_filters { get; set; } = null; + /// When true, removes navigation to Looks from embedded dashboards and explores. + public bool? hide_look_navigation { get; set; } = null; +} + /// Dynamic writeable type for EmbedSecret removes: /// created_at, id, secret, user_id public class WriteEmbedSecret : SdkModel @@ -7042,11 +7078,17 @@ public class WriteSetting : SdkModel public string[]? email_domain_allowlist { get; set; } = null; /// (DEPRECATED) Use embed_config.embed_cookieless_v2 instead. If embed_config.embed_cookieless_v2 is specified, it overrides this value. public bool? embed_cookieless_v2 { get; set; } = null; - public EmbedConfig? embed_config { get; set; } + /// + /// Dynamic writeable type for EmbedConfig removes: + /// embed_enabled + /// + public WriteEmbedConfig? embed_config { get; set; } /// Toggle Dashboard Auto Refresh restriction public bool? dashboard_auto_refresh_restriction { get; set; } = null; /// Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) public string? dashboard_auto_refresh_minimum_interval { get; set; } = null; + /// URI pointing to the location of a private root certificate in Secret Manager + public string? managed_certificate_uri { get; set; } = null; } /// Dynamic writeable type for SqlInterfaceQueryCreate removes: diff --git a/go/sdk/v4/methods.go b/go/sdk/v4/methods.go index dc5d14a91..cad8b1277 100644 --- a/go/sdk/v4/methods.go +++ b/go/sdk/v4/methods.go @@ -495,7 +495,7 @@ func (l *LookerSDK) UpdateArtifacts( // // The value of the `secret` field will be set by Looker and returned. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // POST /embed_config/secrets -> EmbedSecret func (l *LookerSDK) CreateEmbedSecret( @@ -509,7 +509,7 @@ func (l *LookerSDK) CreateEmbedSecret( // ### Delete an embed secret. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // DELETE /embed_config/secrets/{embed_secret_id} -> string func (l *LookerSDK) DeleteEmbedSecret( @@ -564,7 +564,7 @@ func (l *LookerSDK) DeleteEmbedSecret( // it to disk, do not pass it to a third party, and only pass it through a secure HTTPS // encrypted transport. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // POST /embed/sso_url -> EmbedUrlResponse func (l *LookerSDK) CreateSsoEmbedUrl( @@ -602,7 +602,7 @@ func (l *LookerSDK) CreateSsoEmbedUrl( // it to disk, do not pass it to a third party, and only pass it through a secure HTTPS // encrypted transport. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // POST /embed/token_url/me -> EmbedUrlResponse func (l *LookerSDK) CreateEmbedUrlAsMe( @@ -657,7 +657,7 @@ func (l *LookerSDK) ValidateEmbedUrl( // - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into // the iframe. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // POST /embed/cookieless_session/acquire -> EmbedCookielessSessionAcquireResponse func (l *LookerSDK) AcquireEmbedCookielessSession( @@ -675,7 +675,7 @@ func (l *LookerSDK) AcquireEmbedCookielessSession( // in the session and session reference data being cleared from the system. This endpoint can be used to log an embed // user out of the Looker instance. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // DELETE /embed/cookieless_session/{session_reference_token} -> string func (l *LookerSDK) DeleteEmbedCookielessSession( @@ -703,7 +703,7 @@ func (l *LookerSDK) DeleteEmbedCookielessSession( // the session time to live in the `session_reference_token_ttl` response property. If this property // contains a zero, the embed session has expired. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // PUT /embed/cookieless_session/generate_tokens -> EmbedCookielessSessionGenerateTokensResponse func (l *LookerSDK) GenerateTokensForCookielessSession( @@ -2117,6 +2117,7 @@ func (l *LookerSDK) MobileSettings( // - extension_framework_enabled // - extension_load_url_enabled // - instance_config +// - managed_certificate_uri // - marketplace_auto_install_enabled // - marketplace_automation // - marketplace_terms_accepted @@ -2152,6 +2153,7 @@ func (l *LookerSDK) GetSetting( // - extension_framework_enabled // - extension_load_url_enabled // - instance_config +// - managed_certificate_uri // - marketplace_auto_install_enabled // - marketplace_automation // - marketplace_terms_accepted @@ -2867,11 +2869,10 @@ func (l *LookerSDK) ContentThumbnail(request RequestContentThumbnail, // Returns a list of errors found as well as metadata about the content validation run. // // GET /content_validation -> ContentValidation -func (l *LookerSDK) ContentValidation( - fields string, +func (l *LookerSDK) ContentValidation(request RequestContentValidation, options *rtl.ApiSettings) (ContentValidation, error) { var result ContentValidation - err := l.session.Do(&result, "GET", "/4.0", "/content_validation", map[string]interface{}{"fields": fields}, nil, options) + err := l.session.Do(&result, "GET", "/4.0", "/content_validation", map[string]interface{}{"fields": request.Fields, "project_names": request.ProjectNames, "space_ids": request.SpaceIds}, nil, options) return result, err } @@ -4513,7 +4514,7 @@ func (l *LookerSDK) MoveLook( func (l *LookerSDK) AllLookmlModels(request RequestAllLookmlModels, 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) + err := l.session.Do(&result, "GET", "/4.0", "/lookml_models", map[string]interface{}{"fields": request.Fields, "limit": request.Limit, "offset": request.Offset, "exclude_empty": request.ExcludeEmpty, "exclude_hidden": request.ExcludeHidden, "include_internal": request.IncludeInternal}, nil, options) return result, err } @@ -5385,7 +5386,7 @@ func (l *LookerSDK) QueryTask( // // Returns the results of an async query task if the query has completed. // -// If the query task is still running or waiting to run, this function returns 204 No Content. +// If the query task is still running or waiting to run, this function returns 202 Accepted. // // If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. // @@ -7580,7 +7581,7 @@ func (l *LookerSDK) CreateUserCredentialsApi3( // ### Embed login information for the specified user. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> CredentialsEmbed func (l *LookerSDK) UserCredentialsEmbed( @@ -7598,7 +7599,7 @@ func (l *LookerSDK) UserCredentialsEmbed( // ### Embed login information for the specified user. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> string func (l *LookerSDK) DeleteUserCredentialsEmbed( @@ -7615,7 +7616,7 @@ func (l *LookerSDK) DeleteUserCredentialsEmbed( // ### Embed login information for the specified user. // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // GET /users/{user_id}/credentials_embed -> []CredentialsEmbed func (l *LookerSDK) AllUserCredentialsEmbeds( @@ -7871,7 +7872,7 @@ func (l *LookerSDK) WipeoutUserEmails( // Create an embed user from an external user ID // -// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled +// **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. // // POST /users/embed_user -> UserPublic func (l *LookerSDK) CreateEmbedUser( diff --git a/go/sdk/v4/models.go b/go/sdk/v4/models.go index 8d49a0c83..6ea9a2f68 100644 --- a/go/sdk/v4/models.go +++ b/go/sdk/v4/models.go @@ -26,7 +26,7 @@ SOFTWARE. /* -410 API models: 259 Spec, 69 Request, 60 Write, 22 Enum +412 API models: 259 Spec, 70 Request, 61 Write, 22 Enum */ // NOTE: Do not edit this file generated by Looker SDK Codegen for API v4 @@ -963,6 +963,7 @@ type DBConnection struct { Ssl *bool `json:"ssl,omitempty"` // Use SSL/TLS when connecting to server VerifySsl *bool `json:"verify_ssl,omitempty"` // Verify the SSL TmpDbName *string `json:"tmp_db_name,omitempty"` // Name of temporary database (if used) + TmpDbHost *string `json:"tmp_db_host,omitempty"` // Name of temporary host (if used) JdbcAdditionalParams *string `json:"jdbc_additional_params,omitempty"` // Additional params to add to JDBC connection string PoolTimeout *int64 `json:"pool_timeout,omitempty"` // Connection Pool Timeout, in seconds DialectName *string `json:"dialect_name,omitempty"` // (Read/Write) SQL Dialect name @@ -1142,6 +1143,7 @@ type EmbedConfig struct { StrictSameoriginForLogin *bool `json:"strict_sameorigin_for_login,omitempty"` // When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes. LookFilters *bool `json:"look_filters,omitempty"` // When true, filters are enabled on embedded Looks HideLookNavigation *bool `json:"hide_look_navigation,omitempty"` // When true, removes navigation to Looks from embedded dashboards and explores. + EmbedEnabled *bool `json:"embed_enabled,omitempty"` // True if embedding is licensed for this Looker instance. } type EmbedCookielessSessionAcquire struct { @@ -2540,9 +2542,12 @@ type RequestAllIntegrations struct { // 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) + 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) + ExcludeEmpty *bool `json:"exclude_empty,omitempty"` // Whether or not to exclude models with no explores from the response (Defaults to false) + ExcludeHidden *bool `json:"exclude_hidden,omitempty"` // Whether or not to exclude hidden explores from the response (Defaults to false) + IncludeInternal *bool `json:"include_internal,omitempty"` // Whether or not to include built-in models such as System Activity (Defaults to false) } // Dynamically generated request type for all_roles @@ -2650,6 +2655,13 @@ type RequestContentThumbnail struct { Height *int64 `json:"height,omitempty"` // The height of the image if format is supplied } +// Dynamically generated request type for content_validation +type RequestContentValidation struct { + Fields *string `json:"fields,omitempty"` // Requested fields. + ProjectNames *rtl.DelimString `json:"project_names,omitempty"` // Optional list of project names to filter by + SpaceIds *rtl.DelimString `json:"space_ids,omitempty"` // Optional list of space ids to filter by +} + // Dynamically generated request type for create_dashboard_element type RequestCreateDashboardElement struct { Body WriteDashboardElement `json:"body"` @@ -3562,6 +3574,7 @@ type Setting struct { LoginNotificationText *string `json:"login_notification_text,omitempty"` // Login notification text DashboardAutoRefreshRestriction *bool `json:"dashboard_auto_refresh_restriction,omitempty"` // Toggle Dashboard Auto Refresh restriction DashboardAutoRefreshMinimumInterval *string `json:"dashboard_auto_refresh_minimum_interval,omitempty"` // Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) + ManagedCertificateUri *string `json:"managed_certificate_uri,omitempty"` // URI pointing to the location of a private root certificate in Secret Manager } type SmtpNodeStatus struct { @@ -4259,6 +4272,7 @@ type WriteDBConnection struct { Ssl *bool `json:"ssl,omitempty"` // Use SSL/TLS when connecting to server VerifySsl *bool `json:"verify_ssl,omitempty"` // Verify the SSL TmpDbName *string `json:"tmp_db_name,omitempty"` // Name of temporary database (if used) + TmpDbHost *string `json:"tmp_db_host,omitempty"` // Name of temporary host (if used) JdbcAdditionalParams *string `json:"jdbc_additional_params,omitempty"` // Additional params to add to JDBC connection string PoolTimeout *int64 `json:"pool_timeout,omitempty"` // Connection Pool Timeout, in seconds DialectName *string `json:"dialect_name,omitempty"` // (Read/Write) SQL Dialect name @@ -4302,6 +4316,22 @@ type WriteDBConnectionOverride struct { AfterConnectStatements *string `json:"after_connect_statements,omitempty"` // SQL statements (semicolon separated) to issue after connecting to the database. Requires `custom_after_connect_statements` license feature } +// Dynamic writeable type for EmbedConfig removes: +// embed_enabled +type WriteEmbedConfig struct { + DomainAllowlist *[]string `json:"domain_allowlist,omitempty"` // List of domains to allow for embedding + AlertUrlAllowlist *[]string `json:"alert_url_allowlist,omitempty"` // List of base urls to allow for alert/schedule + AlertUrlParamOwner *string `json:"alert_url_param_owner,omitempty"` // Owner of who defines the alert/schedule params on the base url + AlertUrlLabel *string `json:"alert_url_label,omitempty"` // Label for the alert/schedule url + SsoAuthEnabled *bool `json:"sso_auth_enabled,omitempty"` // Is SSO embedding enabled for this Looker + EmbedCookielessV2 *bool `json:"embed_cookieless_v2,omitempty"` // Is Cookieless embedding enabled for this Looker + EmbedContentNavigation *bool `json:"embed_content_navigation,omitempty"` // Is embed content navigation enabled for this looker + EmbedContentManagement *bool `json:"embed_content_management,omitempty"` // Is embed content management enabled for this Looker + StrictSameoriginForLogin *bool `json:"strict_sameorigin_for_login,omitempty"` // When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes. + LookFilters *bool `json:"look_filters,omitempty"` // When true, filters are enabled on embedded Looks + HideLookNavigation *bool `json:"hide_look_navigation,omitempty"` // When true, removes navigation to Looks from embedded dashboards and explores. +} + // Dynamic writeable type for EmbedSecret removes: // created_at, id, secret, user_id type WriteEmbedSecret struct { @@ -4704,18 +4734,20 @@ type WriteSetting struct { MarketplaceTermsAccepted *bool `json:"marketplace_terms_accepted,omitempty"` // Accept marketplace terms by setting this value to true, or get the current status. Marketplace terms CANNOT be declined once accepted. Accepting marketplace terms automatically enables the marketplace. The marketplace can still be disabled after it has been enabled. PrivatelabelConfiguration *WritePrivatelabelConfiguration `json:"privatelabel_configuration,omitempty"` // Dynamic writeable type for PrivatelabelConfiguration removes: // logo_url, favicon_url - CustomWelcomeEmail *CustomWelcomeEmail `json:"custom_welcome_email,omitempty"` - OnboardingEnabled *bool `json:"onboarding_enabled,omitempty"` // Toggle onboarding on or off - Timezone *string `json:"timezone,omitempty"` // Change instance-wide default timezone - AllowUserTimezones *bool `json:"allow_user_timezones,omitempty"` // Toggle user-specific timezones on or off - DataConnectorDefaultEnabled *bool `json:"data_connector_default_enabled,omitempty"` // Toggle default future connectors on or off - HostUrl *string `json:"host_url,omitempty"` // Change the base portion of your Looker instance URL setting - OverrideWarnings *bool `json:"override_warnings,omitempty"` // (Write-Only) If warnings are preventing a host URL change, this parameter allows for overriding warnings to force update the setting. Does not directly change any Looker settings. - EmailDomainAllowlist *[]string `json:"email_domain_allowlist,omitempty"` // An array of Email Domain Allowlist of type string for Scheduled Content - EmbedCookielessV2 *bool `json:"embed_cookieless_v2,omitempty"` // (DEPRECATED) Use embed_config.embed_cookieless_v2 instead. If embed_config.embed_cookieless_v2 is specified, it overrides this value. - EmbedConfig *EmbedConfig `json:"embed_config,omitempty"` - DashboardAutoRefreshRestriction *bool `json:"dashboard_auto_refresh_restriction,omitempty"` // Toggle Dashboard Auto Refresh restriction - DashboardAutoRefreshMinimumInterval *string `json:"dashboard_auto_refresh_minimum_interval,omitempty"` // Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) + CustomWelcomeEmail *CustomWelcomeEmail `json:"custom_welcome_email,omitempty"` + OnboardingEnabled *bool `json:"onboarding_enabled,omitempty"` // Toggle onboarding on or off + Timezone *string `json:"timezone,omitempty"` // Change instance-wide default timezone + AllowUserTimezones *bool `json:"allow_user_timezones,omitempty"` // Toggle user-specific timezones on or off + DataConnectorDefaultEnabled *bool `json:"data_connector_default_enabled,omitempty"` // Toggle default future connectors on or off + HostUrl *string `json:"host_url,omitempty"` // Change the base portion of your Looker instance URL setting + OverrideWarnings *bool `json:"override_warnings,omitempty"` // (Write-Only) If warnings are preventing a host URL change, this parameter allows for overriding warnings to force update the setting. Does not directly change any Looker settings. + EmailDomainAllowlist *[]string `json:"email_domain_allowlist,omitempty"` // An array of Email Domain Allowlist of type string for Scheduled Content + EmbedCookielessV2 *bool `json:"embed_cookieless_v2,omitempty"` // (DEPRECATED) Use embed_config.embed_cookieless_v2 instead. If embed_config.embed_cookieless_v2 is specified, it overrides this value. + EmbedConfig *WriteEmbedConfig `json:"embed_config,omitempty"` // Dynamic writeable type for EmbedConfig removes: + // embed_enabled + DashboardAutoRefreshRestriction *bool `json:"dashboard_auto_refresh_restriction,omitempty"` // Toggle Dashboard Auto Refresh restriction + DashboardAutoRefreshMinimumInterval *string `json:"dashboard_auto_refresh_minimum_interval,omitempty"` // Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) + ManagedCertificateUri *string `json:"managed_certificate_uri,omitempty"` // URI pointing to the location of a private root certificate in Secret Manager } // Dynamic writeable type for SqlInterfaceQueryCreate removes: 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 f83416e3e..66bf4745c 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/methods.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/methods.kt @@ -632,7 +632,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * The value of the `secret` field will be set by Looker and returned. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {WriteEmbedSecret} body * @@ -647,7 +647,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** * ### Delete an embed secret. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} embed_secret_id Id of Embed Secret * @@ -704,7 +704,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {EmbedSsoParams} body * @@ -744,7 +744,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {EmbedParams} body * @@ -804,7 +804,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into * the iframe. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {EmbedCookielessSessionAcquire} body * @@ -823,7 +823,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed * user out of the Looker instance. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} session_reference_token Embed session reference token * @@ -852,7 +852,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * the session time to live in the `session_reference_token_ttl` response property. If this property * contains a zero, the embed session has expired. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {EmbedCookielessSessionGenerateTokens} body * @@ -2500,6 +2500,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -2539,6 +2540,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -3483,15 +3485,23 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * Returns a list of errors found as well as metadata about the content validation run. * * @param {String} fields Requested fields. + * @param {DelimArray} project_names Optional list of project names to filter by + * @param {DelimArray} space_ids Optional list of space ids to filter by * * GET /content_validation -> ContentValidation */ @JvmOverloads fun content_validation( fields: String? = null, + project_names: DelimArray? = null, + space_ids: DelimArray? = null, ): SDKResponse { return this.get( "/content_validation", - mapOf("fields" to fields), + mapOf( + "fields" to fields, + "project_names" to project_names, + "space_ids" to space_ids, + ), ) } @@ -5962,6 +5972,9 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * @param {String} fields Requested fields. * @param {Long} limit Number of results to return. (can be used with offset) * @param {Long} offset Number of results to skip before returning any. (Defaults to 0 if not set when limit is used) + * @param {Boolean} exclude_empty Whether or not to exclude models with no explores from the response (Defaults to false) + * @param {Boolean} exclude_hidden Whether or not to exclude hidden explores from the response (Defaults to false) + * @param {Boolean} include_internal Whether or not to include built-in models such as System Activity (Defaults to false) * * GET /lookml_models -> Array */ @@ -5969,6 +5982,9 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { fields: String? = null, limit: Long? = null, offset: Long? = null, + exclude_empty: Boolean? = null, + exclude_hidden: Boolean? = null, + include_internal: Boolean? = null, ): SDKResponse { return this.get>( "/lookml_models", @@ -5976,6 +5992,9 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { "fields" to fields, "limit" to limit, "offset" to offset, + "exclude_empty" to exclude_empty, + "exclude_hidden" to exclude_hidden, + "include_internal" to include_internal, ), ) } @@ -7166,7 +7185,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * Returns the results of an async query task if the query has completed. * - * If the query task is still running or waiting to run, this function returns 204 No Content. + * If the query task is still running or waiting to run, this function returns 202 Accepted. * * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. * @@ -10218,7 +10237,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} user_id Id of user * @param {String} credentials_embed_id Id of Embedding Credential @@ -10242,7 +10261,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} user_id Id of user * @param {String} credentials_embed_id Id of Embedding Credential @@ -10261,7 +10280,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} user_id Id of user * @param {String} fields Requested fields. @@ -10608,7 +10627,7 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { /** * Create an embed user from an external user ID * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {CreateEmbedUserRequest} body * 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 b7dd0a51a..e7d8e873a 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/models.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/models.kt @@ -25,7 +25,7 @@ */ /** - * 342 API models: 259 Spec, 0 Request, 61 Write, 22 Enum + * 343 API models: 259 Spec, 0 Request, 62 Write, 22 Enum */ // NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0 @@ -1768,6 +1768,7 @@ data class Datagroup( * @property ssl Use SSL/TLS when connecting to server * @property verify_ssl Verify the SSL * @property tmp_db_name Name of temporary database (if used) + * @property tmp_db_host Name of temporary host (if used) * @property jdbc_additional_params Additional params to add to JDBC connection string * @property pool_timeout Connection Pool Timeout, in seconds * @property dialect_name (Read/Write) SQL Dialect name @@ -1827,6 +1828,7 @@ data class DBConnection( var ssl: Boolean? = null, var verify_ssl: Boolean? = null, var tmp_db_name: String? = null, + var tmp_db_host: String? = null, var jdbc_additional_params: String? = null, var pool_timeout: Long? = null, var dialect_name: String? = null, @@ -2118,6 +2120,7 @@ data class EgressIpAddresses( * @property strict_sameorigin_for_login When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes. * @property look_filters When true, filters are enabled on embedded Looks * @property hide_look_navigation When true, removes navigation to Looks from embedded dashboards and explores. + * @property embed_enabled True if embedding is licensed for this Looker instance. (read-only) */ data class EmbedConfig( var domain_allowlist: Array? = null, @@ -2131,6 +2134,7 @@ data class EmbedConfig( var strict_sameorigin_for_login: Boolean? = null, var look_filters: Boolean? = null, var hide_look_navigation: Boolean? = null, + var embed_enabled: Boolean? = null, ) : Serializable /** @@ -5239,6 +5243,7 @@ data class SessionConfig( * @property login_notification_text Login notification text (read-only) * @property dashboard_auto_refresh_restriction Toggle Dashboard Auto Refresh restriction * @property dashboard_auto_refresh_minimum_interval Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) + * @property managed_certificate_uri URI pointing to the location of a private root certificate in Secret Manager */ data class Setting( var instance_config: InstanceConfig? = null, @@ -5265,6 +5270,7 @@ data class Setting( var login_notification_text: String? = null, var dashboard_auto_refresh_restriction: Boolean? = null, var dashboard_auto_refresh_minimum_interval: String? = null, + var managed_certificate_uri: String? = null, ) : Serializable /** @@ -6514,6 +6520,7 @@ data class WriteDatagroup( * @property ssl Use SSL/TLS when connecting to server * @property verify_ssl Verify the SSL * @property tmp_db_name Name of temporary database (if used) + * @property tmp_db_host Name of temporary host (if used) * @property jdbc_additional_params Additional params to add to JDBC connection string * @property pool_timeout Connection Pool Timeout, in seconds * @property dialect_name (Read/Write) SQL Dialect name @@ -6559,6 +6566,7 @@ data class WriteDBConnection( var ssl: Boolean? = null, var verify_ssl: Boolean? = null, var tmp_db_name: String? = null, + var tmp_db_host: String? = null, var jdbc_additional_params: String? = null, var pool_timeout: Long? = null, var dialect_name: String? = null, @@ -6615,6 +6623,36 @@ data class WriteDBConnectionOverride( var after_connect_statements: String? = null, ) : Serializable +/** + * Dynamic writeable type for EmbedConfig removes: + * embed_enabled + * + * @property domain_allowlist List of domains to allow for embedding + * @property alert_url_allowlist List of base urls to allow for alert/schedule + * @property alert_url_param_owner Owner of who defines the alert/schedule params on the base url + * @property alert_url_label Label for the alert/schedule url + * @property sso_auth_enabled Is SSO embedding enabled for this Looker + * @property embed_cookieless_v2 Is Cookieless embedding enabled for this Looker + * @property embed_content_navigation Is embed content navigation enabled for this looker + * @property embed_content_management Is embed content management enabled for this Looker + * @property strict_sameorigin_for_login When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes. + * @property look_filters When true, filters are enabled on embedded Looks + * @property hide_look_navigation When true, removes navigation to Looks from embedded dashboards and explores. + */ +data class WriteEmbedConfig( + var domain_allowlist: Array? = null, + var alert_url_allowlist: Array? = null, + var alert_url_param_owner: String? = null, + var alert_url_label: String? = null, + var sso_auth_enabled: Boolean? = null, + var embed_cookieless_v2: Boolean? = null, + var embed_content_navigation: Boolean? = null, + var embed_content_management: Boolean? = null, + var strict_sameorigin_for_login: Boolean? = null, + var look_filters: Boolean? = null, + var hide_look_navigation: Boolean? = null, +) : Serializable + /** * Dynamic writeable type for EmbedSecret removes: * created_at, id, secret, user_id @@ -7353,9 +7391,11 @@ data class WriteSessionConfig( * @property override_warnings (Write-Only) If warnings are preventing a host URL change, this parameter allows for overriding warnings to force update the setting. Does not directly change any Looker settings. * @property email_domain_allowlist An array of Email Domain Allowlist of type string for Scheduled Content * @property embed_cookieless_v2 (DEPRECATED) Use embed_config.embed_cookieless_v2 instead. If embed_config.embed_cookieless_v2 is specified, it overrides this value. - * @property embed_config + * @property embed_config Dynamic writeable type for EmbedConfig removes: + * embed_enabled * @property dashboard_auto_refresh_restriction Toggle Dashboard Auto Refresh restriction * @property dashboard_auto_refresh_minimum_interval Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) + * @property managed_certificate_uri URI pointing to the location of a private root certificate in Secret Manager */ data class WriteSetting( var extension_framework_enabled: Boolean? = null, @@ -7374,9 +7414,10 @@ data class WriteSetting( var override_warnings: Boolean? = null, var email_domain_allowlist: Array? = null, var embed_cookieless_v2: Boolean? = null, - var embed_config: EmbedConfig? = null, + var embed_config: WriteEmbedConfig? = null, var dashboard_auto_refresh_restriction: Boolean? = null, var dashboard_auto_refresh_minimum_interval: String? = null, + var managed_certificate_uri: String? = null, ) : Serializable /** 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 25a4d1f05..95e8994f0 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/streams.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/streams.kt @@ -630,7 +630,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * The value of the `secret` field will be set by Looker and returned. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {WriteEmbedSecret} body * @@ -645,7 +645,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** * ### Delete an embed secret. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} embed_secret_id Id of Embed Secret * @@ -702,7 +702,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {EmbedSsoParams} body * @@ -742,7 +742,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {EmbedParams} body * @@ -802,7 +802,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into * the iframe. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {EmbedCookielessSessionAcquire} body * @@ -821,7 +821,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed * user out of the Looker instance. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} session_reference_token Embed session reference token * @@ -850,7 +850,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * the session time to live in the `session_reference_token_ttl` response property. If this property * contains a zero, the embed session has expired. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {EmbedCookielessSessionGenerateTokens} body * @@ -2498,6 +2498,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -2537,6 +2538,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -3481,15 +3483,23 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * Returns a list of errors found as well as metadata about the content validation run. * * @param {String} fields Requested fields. + * @param {DelimArray} project_names Optional list of project names to filter by + * @param {DelimArray} space_ids Optional list of space ids to filter by * * GET /content_validation -> ByteArray */ @JvmOverloads fun content_validation( fields: String? = null, + project_names: DelimArray? = null, + space_ids: DelimArray? = null, ): SDKResponse { return this.get( "/content_validation", - mapOf("fields" to fields), + mapOf( + "fields" to fields, + "project_names" to project_names, + "space_ids" to space_ids, + ), ) } @@ -5960,6 +5970,9 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * @param {String} fields Requested fields. * @param {Long} limit Number of results to return. (can be used with offset) * @param {Long} offset Number of results to skip before returning any. (Defaults to 0 if not set when limit is used) + * @param {Boolean} exclude_empty Whether or not to exclude models with no explores from the response (Defaults to false) + * @param {Boolean} exclude_hidden Whether or not to exclude hidden explores from the response (Defaults to false) + * @param {Boolean} include_internal Whether or not to include built-in models such as System Activity (Defaults to false) * * GET /lookml_models -> ByteArray */ @@ -5967,6 +5980,9 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { fields: String? = null, limit: Long? = null, offset: Long? = null, + exclude_empty: Boolean? = null, + exclude_hidden: Boolean? = null, + include_internal: Boolean? = null, ): SDKResponse { return this.get( "/lookml_models", @@ -5974,6 +5990,9 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { "fields" to fields, "limit" to limit, "offset" to offset, + "exclude_empty" to exclude_empty, + "exclude_hidden" to exclude_hidden, + "include_internal" to include_internal, ), ) } @@ -7164,7 +7183,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * * Returns the results of an async query task if the query has completed. * - * If the query task is still running or waiting to run, this function returns 204 No Content. + * If the query task is still running or waiting to run, this function returns 202 Accepted. * * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. * @@ -10216,7 +10235,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} user_id Id of user * @param {String} credentials_embed_id Id of Embedding Credential @@ -10240,7 +10259,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} user_id Id of user * @param {String} credentials_embed_id Id of Embedding Credential @@ -10259,7 +10278,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {String} user_id Id of user * @param {String} fields Requested fields. @@ -10606,7 +10625,7 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { /** * Create an embed user from an external user ID * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * @param {CreateEmbedUserRequest} body * diff --git a/kotlin/src/main/com/looker/sdk/Constants.kt b/kotlin/src/main/com/looker/sdk/Constants.kt index 0f7d794b0..4dfa0fb5c 100644 --- a/kotlin/src/main/com/looker/sdk/Constants.kt +++ b/kotlin/src/main/com/looker/sdk/Constants.kt @@ -28,7 +28,7 @@ package com.looker.sdk const val ENVIRONMENT_PREFIX = "LOOKERSDK" const val SDK_TAG = "KT-SDK" -const val LOOKER_VERSION = "24.20" +const val LOOKER_VERSION = "25.0" 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 1be6dec55..ba6bd4163 100644 --- a/packages/sdk/src/4.0/funcs.ts +++ b/packages/sdk/src/4.0/funcs.ts @@ -185,6 +185,7 @@ import type { IRequestConnectionTables, IRequestContentSummary, IRequestContentThumbnail, + IRequestContentValidation, IRequestCreateDashboardElement, IRequestCreateDashboardRenderTask, IRequestCreateQueryTask, @@ -1043,7 +1044,7 @@ export const update_artifacts = async ( * * The value of the `secret` field will be set by Looker and returned. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed_config/secrets -> IEmbedSecret * @@ -1068,7 +1069,7 @@ export const create_embed_secret = async ( /** * ### Delete an embed secret. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed_config/secrets/{embed_secret_id} -> string * @@ -1135,7 +1136,7 @@ export const delete_embed_secret = async ( * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/sso_url -> IEmbedUrlResponse * @@ -1185,7 +1186,7 @@ export const create_sso_embed_url = async ( * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/token_url/me -> IEmbedUrlResponse * @@ -1262,7 +1263,7 @@ export const validate_embed_url = async ( * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into * the iframe. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/cookieless_session/acquire -> IEmbedCookielessSessionAcquireResponse * @@ -1291,7 +1292,7 @@ export const acquire_embed_cookieless_session = async ( * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed * user out of the Looker instance. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed/cookieless_session/{session_reference_token} -> string * @@ -1330,7 +1331,7 @@ export const delete_embed_cookieless_session = async ( * the session time to live in the `session_reference_token_ttl` response property. If this property * contains a zero, the embed session has expired. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * PUT /embed/cookieless_session/generate_tokens -> IEmbedCookielessSessionGenerateTokensResponse * @@ -3716,6 +3717,7 @@ export const mobile_settings = async ( * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -3762,6 +3764,7 @@ export const get_setting = async ( * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -5057,18 +5060,22 @@ export const content_thumbnail = async ( * GET /content_validation -> IContentValidation * * @param sdk IAPIMethods implementation - * @param fields Requested fields. + * @param request composed interface "IRequestContentValidation" for complex method parameters * @param options one-time API call overrides * */ export const content_validation = async ( sdk: IAPIMethods, - fields?: string, + request: IRequestContentValidation, options?: Partial ): Promise> => { return sdk.get( '/content_validation', - { fields }, + { + fields: request.fields, + project_names: request.project_names, + space_ids: request.space_ids, + }, null, options ); @@ -7971,7 +7978,14 @@ export const all_lookml_models = async ( ): Promise> => { return sdk.get( '/lookml_models', - { fields: request.fields, limit: request.limit, offset: request.offset }, + { + fields: request.fields, + limit: request.limit, + offset: request.offset, + exclude_empty: request.exclude_empty, + exclude_hidden: request.exclude_hidden, + include_internal: request.include_internal, + }, null, options ); @@ -9437,7 +9451,7 @@ export const query_task = async ( * * Returns the results of an async query task if the query has completed. * - * If the query task is still running or waiting to run, this function returns 204 No Content. + * If the query task is still running or waiting to run, this function returns 202 Accepted. * * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. * @@ -12950,7 +12964,7 @@ export const create_user_credentials_api3 = async ( /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> ICredentialsEmbed * @@ -12981,7 +12995,7 @@ export const user_credentials_embed = async ( /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> string * @@ -13010,7 +13024,7 @@ export const delete_user_credentials_embed = async ( /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed -> ICredentialsEmbed[] * @@ -13446,7 +13460,7 @@ export const wipeout_user_emails = async ( /** * Create an embed user from an external user ID * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /users/embed_user -> IUserPublic * diff --git a/packages/sdk/src/4.0/methods.ts b/packages/sdk/src/4.0/methods.ts index c60c50462..f45a85c5b 100644 --- a/packages/sdk/src/4.0/methods.ts +++ b/packages/sdk/src/4.0/methods.ts @@ -183,6 +183,7 @@ import type { IRequestConnectionTables, IRequestContentSummary, IRequestContentThumbnail, + IRequestContentValidation, IRequestCreateDashboardElement, IRequestCreateDashboardRenderTask, IRequestCreateQueryTask, @@ -1005,7 +1006,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * The value of the `secret` field will be set by Looker and returned. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed_config/secrets -> IEmbedSecret * @@ -1028,7 +1029,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { /** * ### Delete an embed secret. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed_config/secrets/{embed_secret_id} -> string * @@ -1093,7 +1094,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/sso_url -> IEmbedUrlResponse * @@ -1141,7 +1142,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/token_url/me -> IEmbedUrlResponse * @@ -1214,7 +1215,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into * the iframe. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/cookieless_session/acquire -> IEmbedCookielessSessionAcquireResponse * @@ -1244,7 +1245,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed * user out of the Looker instance. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed/cookieless_session/{session_reference_token} -> string * @@ -1281,7 +1282,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * the session time to live in the `session_reference_token_ttl` response property. If this property * contains a zero, the embed session has expired. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * PUT /embed/cookieless_session/generate_tokens -> IEmbedCookielessSessionGenerateTokensResponse * @@ -3498,6 +3499,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -3542,6 +3544,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -4748,17 +4751,21 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * GET /content_validation -> IContentValidation * - * @param fields Requested fields. + * @param request composed interface "IRequestContentValidation" for complex method parameters * @param options one-time API call overrides * */ async content_validation( - fields?: string, + request: IRequestContentValidation, options?: Partial ): Promise> { return this.get( '/content_validation', - { fields }, + { + fields: request.fields, + project_names: request.project_names, + space_ids: request.space_ids, + }, null, options ); @@ -7487,7 +7494,14 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { ): Promise> { return this.get( '/lookml_models', - { fields: request.fields, limit: request.limit, offset: request.offset }, + { + fields: request.fields, + limit: request.limit, + offset: request.offset, + exclude_empty: request.exclude_empty, + exclude_hidden: request.exclude_hidden, + include_internal: request.include_internal, + }, null, options ); @@ -8863,7 +8877,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * * Returns the results of an async query task if the query has completed. * - * If the query task is still running or waiting to run, this function returns 204 No Content. + * If the query task is still running or waiting to run, this function returns 202 Accepted. * * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. * @@ -12199,7 +12213,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> ICredentialsEmbed * @@ -12228,7 +12242,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> string * @@ -12255,7 +12269,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed -> ICredentialsEmbed[] * @@ -12663,7 +12677,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { /** * Create an embed user from an external user ID * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /users/embed_user -> IUserPublic * diff --git a/packages/sdk/src/4.0/methodsInterface.ts b/packages/sdk/src/4.0/methodsInterface.ts index cc432275e..deea9d822 100644 --- a/packages/sdk/src/4.0/methodsInterface.ts +++ b/packages/sdk/src/4.0/methodsInterface.ts @@ -180,6 +180,7 @@ import type { IRequestConnectionTables, IRequestContentSummary, IRequestContentThumbnail, + IRequestContentValidation, IRequestCreateDashboardElement, IRequestCreateDashboardRenderTask, IRequestCreateQueryTask, @@ -809,7 +810,7 @@ export interface ILooker40SDK extends IAPIMethods { * * The value of the `secret` field will be set by Looker and returned. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed_config/secrets -> IEmbedSecret * @@ -825,7 +826,7 @@ export interface ILooker40SDK extends IAPIMethods { /** * ### Delete an embed secret. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed_config/secrets/{embed_secret_id} -> string * @@ -882,7 +883,7 @@ export interface ILooker40SDK extends IAPIMethods { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/sso_url -> IEmbedUrlResponse * @@ -923,7 +924,7 @@ export interface ILooker40SDK extends IAPIMethods { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/token_url/me -> IEmbedUrlResponse * @@ -982,7 +983,7 @@ export interface ILooker40SDK extends IAPIMethods { * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into * the iframe. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/cookieless_session/acquire -> IEmbedCookielessSessionAcquireResponse * @@ -1007,7 +1008,7 @@ export interface ILooker40SDK extends IAPIMethods { * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed * user out of the Looker instance. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed/cookieless_session/{session_reference_token} -> string * @@ -1036,7 +1037,7 @@ export interface ILooker40SDK extends IAPIMethods { * the session time to live in the `session_reference_token_ttl` response property. If this property * contains a zero, the embed session has expired. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * PUT /embed/cookieless_session/generate_tokens -> IEmbedCookielessSessionGenerateTokensResponse * @@ -2609,6 +2610,7 @@ export interface ILooker40SDK extends IAPIMethods { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -2646,6 +2648,7 @@ export interface ILooker40SDK extends IAPIMethods { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -3458,12 +3461,12 @@ export interface ILooker40SDK extends IAPIMethods { * * GET /content_validation -> IContentValidation * - * @param fields Requested fields. + * @param request composed interface "IRequestContentValidation" for complex method parameters * @param options one-time API call overrides * */ content_validation( - fields?: string, + request: IRequestContentValidation, options?: Partial ): Promise>; @@ -6259,7 +6262,7 @@ export interface ILooker40SDK extends IAPIMethods { * * Returns the results of an async query task if the query has completed. * - * If the query task is still running or waiting to run, this function returns 204 No Content. + * If the query task is still running or waiting to run, this function returns 202 Accepted. * * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. * @@ -8675,7 +8678,7 @@ export interface ILooker40SDK extends IAPIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> ICredentialsEmbed * @@ -8695,7 +8698,7 @@ export interface ILooker40SDK extends IAPIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> string * @@ -8713,7 +8716,7 @@ export interface ILooker40SDK extends IAPIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed -> ICredentialsEmbed[] * @@ -8997,7 +9000,7 @@ export interface ILooker40SDK extends IAPIMethods { /** * Create an embed user from an external user ID * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /users/embed_user -> IUserPublic * diff --git a/packages/sdk/src/4.0/models.ts b/packages/sdk/src/4.0/models.ts index 9f075f19a..e86f7c4f7 100644 --- a/packages/sdk/src/4.0/models.ts +++ b/packages/sdk/src/4.0/models.ts @@ -25,7 +25,7 @@ */ /** - * 411 API models: 259 Spec, 69 Request, 61 Write, 22 Enum + * 413 API models: 259 Spec, 70 Request, 62 Write, 22 Enum */ import type { IDictionary, DelimArray } from '@looker/sdk-rtl'; @@ -2855,6 +2855,10 @@ export interface IDBConnection { * Name of temporary database (if used) */ tmp_db_name?: string | null; + /** + * Name of temporary host (if used) + */ + tmp_db_host?: string | null; /** * Additional params to add to JDBC connection string */ @@ -3403,6 +3407,10 @@ export interface IEmbedConfig { * When true, removes navigation to Looks from embedded dashboards and explores. */ hide_look_navigation?: boolean; + /** + * True if embedding is licensed for this Looker instance. (read-only) + */ + embed_enabled?: boolean; } export interface IEmbedCookielessSessionAcquire { @@ -7757,6 +7765,18 @@ export interface IRequestAllLookmlModels { * Number of results to skip before returning any. (Defaults to 0 if not set when limit is used) */ offset?: number | null; + /** + * Whether or not to exclude models with no explores from the response (Defaults to false) + */ + exclude_empty?: boolean | null; + /** + * Whether or not to exclude hidden explores from the response (Defaults to false) + */ + exclude_hidden?: boolean | null; + /** + * Whether or not to include built-in models such as System Activity (Defaults to false) + */ + include_internal?: boolean | null; } /** @@ -8059,6 +8079,24 @@ export interface IRequestContentThumbnail { height?: number | null; } +/** + * Dynamically generated request type for content_validation + */ +export interface IRequestContentValidation { + /** + * Requested fields. + */ + fields?: string | null; + /** + * Optional list of project names to filter by + */ + project_names?: DelimArray | null; + /** + * Optional list of space ids to filter by + */ + space_ids?: DelimArray | null; +} + /** * Dynamically generated request type for create_dashboard_element */ @@ -10936,6 +10974,10 @@ export interface ISetting { * Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) */ dashboard_auto_refresh_minimum_interval?: string | null; + /** + * URI pointing to the location of a private root certificate in Secret Manager + */ + managed_certificate_uri?: string | null; } export interface ISmtpNodeStatus { @@ -12916,6 +12958,10 @@ export interface IWriteDBConnection { * Name of temporary database (if used) */ tmp_db_name?: string | null; + /** + * Name of temporary host (if used) + */ + tmp_db_host?: string | null; /** * Additional params to add to JDBC connection string */ @@ -13066,6 +13112,57 @@ export interface IWriteDBConnectionOverride { after_connect_statements?: string | null; } +/** + * Dynamic writeable type for EmbedConfig removes: + * embed_enabled + */ +export interface IWriteEmbedConfig { + /** + * List of domains to allow for embedding + */ + domain_allowlist?: string[] | null; + /** + * List of base urls to allow for alert/schedule + */ + alert_url_allowlist?: string[] | null; + /** + * Owner of who defines the alert/schedule params on the base url + */ + alert_url_param_owner?: string | null; + /** + * Label for the alert/schedule url + */ + alert_url_label?: string | null; + /** + * Is SSO embedding enabled for this Looker + */ + sso_auth_enabled?: boolean; + /** + * Is Cookieless embedding enabled for this Looker + */ + embed_cookieless_v2?: boolean; + /** + * Is embed content navigation enabled for this looker + */ + embed_content_navigation?: boolean; + /** + * Is embed content management enabled for this Looker + */ + embed_content_management?: boolean; + /** + * When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes. + */ + strict_sameorigin_for_login?: boolean; + /** + * When true, filters are enabled on embedded Looks + */ + look_filters?: boolean; + /** + * When true, removes navigation to Looks from embedded dashboards and explores. + */ + hide_look_navigation?: boolean; +} + /** * Dynamic writeable type for EmbedSecret removes: * created_at, id, secret, user_id @@ -14283,7 +14380,11 @@ export interface IWriteSetting { * (DEPRECATED) Use embed_config.embed_cookieless_v2 instead. If embed_config.embed_cookieless_v2 is specified, it overrides this value. */ embed_cookieless_v2?: boolean; - embed_config?: IEmbedConfig | null; + /** + * Dynamic writeable type for EmbedConfig removes: + * embed_enabled + */ + embed_config?: IWriteEmbedConfig | null; /** * Toggle Dashboard Auto Refresh restriction */ @@ -14292,6 +14393,10 @@ export interface IWriteSetting { * Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) */ dashboard_auto_refresh_minimum_interval?: string | null; + /** + * URI pointing to the location of a private root certificate in Secret Manager + */ + managed_certificate_uri?: string | null; } /** diff --git a/packages/sdk/src/4.0/streams.ts b/packages/sdk/src/4.0/streams.ts index 38e91fd4d..39d390ec3 100644 --- a/packages/sdk/src/4.0/streams.ts +++ b/packages/sdk/src/4.0/streams.ts @@ -181,6 +181,7 @@ import type { IRequestConnectionTables, IRequestContentSummary, IRequestContentThumbnail, + IRequestContentValidation, IRequestCreateDashboardElement, IRequestCreateDashboardRenderTask, IRequestCreateQueryTask, @@ -1102,7 +1103,7 @@ export class Looker40SDKStream extends APIMethods { * * The value of the `secret` field will be set by Looker and returned. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed_config/secrets -> IEmbedSecret * @@ -1129,7 +1130,7 @@ export class Looker40SDKStream extends APIMethods { /** * ### Delete an embed secret. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed_config/secrets/{embed_secret_id} -> string * @@ -1198,7 +1199,7 @@ export class Looker40SDKStream extends APIMethods { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/sso_url -> IEmbedUrlResponse * @@ -1250,7 +1251,7 @@ export class Looker40SDKStream extends APIMethods { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/token_url/me -> IEmbedUrlResponse * @@ -1331,7 +1332,7 @@ export class Looker40SDKStream extends APIMethods { * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into * the iframe. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/cookieless_session/acquire -> IEmbedCookielessSessionAcquireResponse * @@ -1364,7 +1365,7 @@ export class Looker40SDKStream extends APIMethods { * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed * user out of the Looker instance. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed/cookieless_session/{session_reference_token} -> string * @@ -1405,7 +1406,7 @@ export class Looker40SDKStream extends APIMethods { * the session time to live in the `session_reference_token_ttl` response property. If this property * contains a zero, the embed session has expired. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * PUT /embed/cookieless_session/generate_tokens -> IEmbedCookielessSessionGenerateTokensResponse * @@ -3990,6 +3991,7 @@ export class Looker40SDKStream extends APIMethods { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -4038,6 +4040,7 @@ export class Looker40SDKStream extends APIMethods { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -5435,20 +5438,24 @@ export class Looker40SDKStream extends APIMethods { * GET /content_validation -> IContentValidation * * @param callback streaming output function - * @param fields Requested fields. + * @param request composed interface "IRequestContentValidation" for complex method parameters * @param options one-time API call overrides * */ async content_validation( callback: (response: Response) => Promise, - fields?: string, + request: IRequestContentValidation, options?: Partial ) { return this.authStream( callback, 'GET', '/content_validation', - { fields }, + { + fields: request.fields, + project_names: request.project_names, + space_ids: request.space_ids, + }, null, options ); @@ -8565,7 +8572,14 @@ export class Looker40SDKStream extends APIMethods { callback, 'GET', '/lookml_models', - { fields: request.fields, limit: request.limit, offset: request.offset }, + { + fields: request.fields, + limit: request.limit, + offset: request.offset, + exclude_empty: request.exclude_empty, + exclude_hidden: request.exclude_hidden, + include_internal: request.include_internal, + }, null, options ); @@ -10138,7 +10152,7 @@ export class Looker40SDKStream extends APIMethods { * * Returns the results of an async query task if the query has completed. * - * If the query task is still running or waiting to run, this function returns 204 No Content. + * If the query task is still running or waiting to run, this function returns 202 Accepted. * * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. * @@ -13908,7 +13922,7 @@ export class Looker40SDKStream extends APIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> ICredentialsEmbed * @@ -13941,7 +13955,7 @@ export class Looker40SDKStream extends APIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> string * @@ -13972,7 +13986,7 @@ export class Looker40SDKStream extends APIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed -> ICredentialsEmbed[] * @@ -14436,7 +14450,7 @@ export class Looker40SDKStream extends APIMethods { /** * Create an embed user from an external user ID * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /users/embed_user -> IUserPublic * diff --git a/packages/sdk/src/constants.ts b/packages/sdk/src/constants.ts index 106aad5fb..790a588f9 100644 --- a/packages/sdk/src/constants.ts +++ b/packages/sdk/src/constants.ts @@ -24,5 +24,5 @@ */ -export const sdkVersion = '24.20'; +export const sdkVersion = '25.0'; export const environmentPrefix = 'LOOKERSDK'; diff --git a/python/looker_sdk/sdk/api40/methods.py b/python/looker_sdk/sdk/api40/methods.py index a2c91a893..87a3959c5 100644 --- a/python/looker_sdk/sdk/api40/methods.py +++ b/python/looker_sdk/sdk/api40/methods.py @@ -751,7 +751,7 @@ def update_artifacts( # # The value of the `secret` field will be set by Looker and returned. # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # POST /embed_config/secrets -> mdls.EmbedSecret def create_embed_secret( @@ -773,7 +773,7 @@ def create_embed_secret( # ### Delete an embed secret. # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # DELETE /embed_config/secrets/{embed_secret_id} -> str def delete_embed_secret( @@ -837,7 +837,7 @@ def delete_embed_secret( # encrypted transport. # # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # POST /embed/sso_url -> mdls.EmbedUrlResponse def create_sso_embed_url( @@ -884,7 +884,7 @@ def create_sso_embed_url( # encrypted transport. # # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # POST /embed/token_url/me -> mdls.EmbedUrlResponse def create_embed_url_as_me( @@ -956,7 +956,7 @@ def validate_embed_url( # - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into # the iframe. # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # POST /embed/cookieless_session/acquire -> mdls.EmbedCookielessSessionAcquireResponse def acquire_embed_cookieless_session( @@ -982,7 +982,7 @@ def acquire_embed_cookieless_session( # in the session and session reference data being cleared from the system. This endpoint can be used to log an embed # user out of the Looker instance. # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # DELETE /embed/cookieless_session/{session_reference_token} -> str def delete_embed_cookieless_session( @@ -1018,7 +1018,7 @@ def delete_embed_cookieless_session( # the session time to live in the `session_reference_token_ttl` response property. If this property # contains a zero, the embed session has expired. # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # PUT /embed/cookieless_session/generate_tokens -> mdls.EmbedCookielessSessionGenerateTokensResponse def generate_tokens_for_cookieless_session( @@ -3242,6 +3242,7 @@ def mobile_settings( # - extension_framework_enabled # - extension_load_url_enabled # - instance_config + # - managed_certificate_uri # - marketplace_auto_install_enabled # - marketplace_automation # - marketplace_terms_accepted @@ -3286,6 +3287,7 @@ def get_setting( # - extension_framework_enabled # - extension_load_url_enabled # - instance_config + # - managed_certificate_uri # - marketplace_auto_install_enabled # - marketplace_automation # - marketplace_terms_accepted @@ -4522,6 +4524,10 @@ def content_validation( self, # Requested fields. fields: Optional[str] = None, + # Optional list of project names to filter by + project_names: Optional[mdls.DelimSequence[str]] = None, + # Optional list of space ids to filter by + space_ids: Optional[mdls.DelimSequence[str]] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> mdls.ContentValidation: """Validate Content""" @@ -4530,7 +4536,11 @@ def content_validation( self.get( path="/content_validation", structure=mdls.ContentValidation, - query_params={"fields": fields}, + query_params={ + "fields": fields, + "project_names": project_names, + "space_ids": space_ids, + }, transport_options=transport_options, ), ) @@ -7516,6 +7526,12 @@ def all_lookml_models( limit: Optional[int] = None, # Number of results to skip before returning any. (Defaults to 0 if not set when limit is used) offset: Optional[int] = None, + # Whether or not to exclude models with no explores from the response (Defaults to false) + exclude_empty: Optional[bool] = None, + # Whether or not to exclude hidden explores from the response (Defaults to false) + exclude_hidden: Optional[bool] = None, + # Whether or not to include built-in models such as System Activity (Defaults to false) + include_internal: Optional[bool] = None, transport_options: Optional[transport.TransportOptions] = None, ) -> Sequence[mdls.LookmlModel]: """Get All LookML Models""" @@ -7524,7 +7540,14 @@ def all_lookml_models( self.get( path="/lookml_models", structure=Sequence[mdls.LookmlModel], - query_params={"fields": fields, "limit": limit, "offset": offset}, + query_params={ + "fields": fields, + "limit": limit, + "offset": offset, + "exclude_empty": exclude_empty, + "exclude_hidden": exclude_hidden, + "include_internal": include_internal, + }, transport_options=transport_options, ), ) @@ -8974,7 +8997,7 @@ def query_task( # # Returns the results of an async query task if the query has completed. # - # If the query task is still running or waiting to run, this function returns 204 No Content. + # If the query task is still running or waiting to run, this function returns 202 Accepted. # # If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. # @@ -12580,7 +12603,7 @@ def create_user_credentials_api3( # ### Embed login information for the specified user. # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> mdls.CredentialsEmbed def user_credentials_embed( @@ -12609,7 +12632,7 @@ def user_credentials_embed( # ### Embed login information for the specified user. # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> str def delete_user_credentials_embed( @@ -12635,7 +12658,7 @@ def delete_user_credentials_embed( # ### Embed login information for the specified user. # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # GET /users/{user_id}/credentials_embed -> Sequence[mdls.CredentialsEmbed] def all_user_credentials_embeds( @@ -13055,7 +13078,7 @@ def wipeout_user_emails( # Create an embed user from an external user ID # - # Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + # **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. # # POST /users/embed_user -> mdls.UserPublic def create_embed_user( diff --git a/python/looker_sdk/sdk/api40/models.py b/python/looker_sdk/sdk/api40/models.py index b4b2177b1..99cb4689f 100644 --- a/python/looker_sdk/sdk/api40/models.py +++ b/python/looker_sdk/sdk/api40/models.py @@ -21,7 +21,7 @@ # SOFTWARE. # -# 342 API models: 259 Spec, 0 Request, 61 Write, 22 Enum +# 343 API models: 259 Spec, 0 Request, 62 Write, 22 Enum # NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0 @@ -3704,6 +3704,7 @@ class DBConnection(model.Model): ssl: Use SSL/TLS when connecting to server verify_ssl: Verify the SSL tmp_db_name: Name of temporary database (if used) + tmp_db_host: Name of temporary host (if used) jdbc_additional_params: Additional params to add to JDBC connection string pool_timeout: Connection Pool Timeout, in seconds dialect_name: (Read/Write) SQL Dialect name @@ -3763,6 +3764,7 @@ class DBConnection(model.Model): ssl: Optional[bool] = None verify_ssl: Optional[bool] = None tmp_db_name: Optional[str] = None + tmp_db_host: Optional[str] = None jdbc_additional_params: Optional[str] = None pool_timeout: Optional[int] = None dialect_name: Optional[str] = None @@ -3824,6 +3826,7 @@ def __init__( ssl: Optional[bool] = None, verify_ssl: Optional[bool] = None, tmp_db_name: Optional[str] = None, + tmp_db_host: Optional[str] = None, jdbc_additional_params: Optional[str] = None, pool_timeout: Optional[int] = None, dialect_name: Optional[str] = None, @@ -3882,6 +3885,7 @@ def __init__( self.ssl = ssl self.verify_ssl = verify_ssl self.tmp_db_name = tmp_db_name + self.tmp_db_host = tmp_db_host self.jdbc_additional_params = jdbc_additional_params self.pool_timeout = pool_timeout self.dialect_name = dialect_name @@ -4437,6 +4441,7 @@ class EmbedConfig(model.Model): strict_sameorigin_for_login: When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes. look_filters: When true, filters are enabled on embedded Looks hide_look_navigation: When true, removes navigation to Looks from embedded dashboards and explores. + embed_enabled: True if embedding is licensed for this Looker instance. """ domain_allowlist: Optional[Sequence[str]] = None @@ -4450,6 +4455,7 @@ class EmbedConfig(model.Model): strict_sameorigin_for_login: Optional[bool] = None look_filters: Optional[bool] = None hide_look_navigation: Optional[bool] = None + embed_enabled: Optional[bool] = None def __init__( self, @@ -4464,7 +4470,8 @@ def __init__( embed_content_management: Optional[bool] = None, strict_sameorigin_for_login: Optional[bool] = None, look_filters: Optional[bool] = None, - hide_look_navigation: Optional[bool] = None + hide_look_navigation: Optional[bool] = None, + embed_enabled: Optional[bool] = None ): self.domain_allowlist = domain_allowlist self.alert_url_allowlist = alert_url_allowlist @@ -4477,6 +4484,7 @@ def __init__( self.strict_sameorigin_for_login = strict_sameorigin_for_login self.look_filters = look_filters self.hide_look_navigation = hide_look_navigation + self.embed_enabled = embed_enabled @attr.s(auto_attribs=True, init=False) @@ -10983,6 +10991,7 @@ class Setting(model.Model): login_notification_text: Login notification text dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) + managed_certificate_uri: URI pointing to the location of a private root certificate in Secret Manager """ instance_config: Optional["InstanceConfig"] = None @@ -11009,6 +11018,7 @@ class Setting(model.Model): login_notification_text: Optional[str] = None dashboard_auto_refresh_restriction: Optional[bool] = None dashboard_auto_refresh_minimum_interval: Optional[str] = None + managed_certificate_uri: Optional[str] = None def __init__( self, @@ -11036,7 +11046,8 @@ def __init__( login_notification_enabled: Optional[bool] = None, login_notification_text: Optional[str] = None, dashboard_auto_refresh_restriction: Optional[bool] = None, - dashboard_auto_refresh_minimum_interval: Optional[str] = None + dashboard_auto_refresh_minimum_interval: Optional[str] = None, + managed_certificate_uri: Optional[str] = None ): self.instance_config = instance_config self.extension_framework_enabled = extension_framework_enabled @@ -11064,6 +11075,7 @@ def __init__( self.dashboard_auto_refresh_minimum_interval = ( dashboard_auto_refresh_minimum_interval ) + self.managed_certificate_uri = managed_certificate_uri @attr.s(auto_attribs=True, init=False) @@ -13592,6 +13604,7 @@ class WriteDBConnection(model.Model): ssl: Use SSL/TLS when connecting to server verify_ssl: Verify the SSL tmp_db_name: Name of temporary database (if used) + tmp_db_host: Name of temporary host (if used) jdbc_additional_params: Additional params to add to JDBC connection string pool_timeout: Connection Pool Timeout, in seconds dialect_name: (Read/Write) SQL Dialect name @@ -13637,6 +13650,7 @@ class WriteDBConnection(model.Model): ssl: Optional[bool] = None verify_ssl: Optional[bool] = None tmp_db_name: Optional[str] = None + tmp_db_host: Optional[str] = None jdbc_additional_params: Optional[str] = None pool_timeout: Optional[int] = None dialect_name: Optional[str] = None @@ -13683,6 +13697,7 @@ def __init__( ssl: Optional[bool] = None, verify_ssl: Optional[bool] = None, tmp_db_name: Optional[str] = None, + tmp_db_host: Optional[str] = None, jdbc_additional_params: Optional[str] = None, pool_timeout: Optional[int] = None, dialect_name: Optional[str] = None, @@ -13726,6 +13741,7 @@ def __init__( self.ssl = ssl self.verify_ssl = verify_ssl self.tmp_db_name = tmp_db_name + self.tmp_db_host = tmp_db_host self.jdbc_additional_params = jdbc_additional_params self.pool_timeout = pool_timeout self.dialect_name = dialect_name @@ -13812,6 +13828,66 @@ def __init__( self.after_connect_statements = after_connect_statements +@attr.s(auto_attribs=True, init=False) +class WriteEmbedConfig(model.Model): + """ + Dynamic writeable type for EmbedConfig removes: + embed_enabled + + Attributes: + domain_allowlist: List of domains to allow for embedding + alert_url_allowlist: List of base urls to allow for alert/schedule + alert_url_param_owner: Owner of who defines the alert/schedule params on the base url + alert_url_label: Label for the alert/schedule url + sso_auth_enabled: Is SSO embedding enabled for this Looker + embed_cookieless_v2: Is Cookieless embedding enabled for this Looker + embed_content_navigation: Is embed content navigation enabled for this looker + embed_content_management: Is embed content management enabled for this Looker + strict_sameorigin_for_login: When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes. + look_filters: When true, filters are enabled on embedded Looks + hide_look_navigation: When true, removes navigation to Looks from embedded dashboards and explores. + """ + + domain_allowlist: Optional[Sequence[str]] = None + alert_url_allowlist: Optional[Sequence[str]] = None + alert_url_param_owner: Optional[str] = None + alert_url_label: Optional[str] = None + sso_auth_enabled: Optional[bool] = None + embed_cookieless_v2: Optional[bool] = None + embed_content_navigation: Optional[bool] = None + embed_content_management: Optional[bool] = None + strict_sameorigin_for_login: Optional[bool] = None + look_filters: Optional[bool] = None + hide_look_navigation: Optional[bool] = None + + def __init__( + self, + *, + domain_allowlist: Optional[Sequence[str]] = None, + alert_url_allowlist: Optional[Sequence[str]] = None, + alert_url_param_owner: Optional[str] = None, + alert_url_label: Optional[str] = None, + sso_auth_enabled: Optional[bool] = None, + embed_cookieless_v2: Optional[bool] = None, + embed_content_navigation: Optional[bool] = None, + embed_content_management: Optional[bool] = None, + strict_sameorigin_for_login: Optional[bool] = None, + look_filters: Optional[bool] = None, + hide_look_navigation: Optional[bool] = None + ): + self.domain_allowlist = domain_allowlist + self.alert_url_allowlist = alert_url_allowlist + self.alert_url_param_owner = alert_url_param_owner + self.alert_url_label = alert_url_label + self.sso_auth_enabled = sso_auth_enabled + self.embed_cookieless_v2 = embed_cookieless_v2 + self.embed_content_navigation = embed_content_navigation + self.embed_content_management = embed_content_management + self.strict_sameorigin_for_login = strict_sameorigin_for_login + self.look_filters = look_filters + self.hide_look_navigation = hide_look_navigation + + @attr.s(auto_attribs=True, init=False) class WriteEmbedSecret(model.Model): """ @@ -15228,9 +15304,11 @@ class WriteSetting(model.Model): override_warnings: (Write-Only) If warnings are preventing a host URL change, this parameter allows for overriding warnings to force update the setting. Does not directly change any Looker settings. email_domain_allowlist: An array of Email Domain Allowlist of type string for Scheduled Content embed_cookieless_v2: (DEPRECATED) Use embed_config.embed_cookieless_v2 instead. If embed_config.embed_cookieless_v2 is specified, it overrides this value. - embed_config: + embed_config: Dynamic writeable type for EmbedConfig removes: + embed_enabled dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute) + managed_certificate_uri: URI pointing to the location of a private root certificate in Secret Manager """ extension_framework_enabled: Optional[bool] = None @@ -15249,9 +15327,10 @@ class WriteSetting(model.Model): override_warnings: Optional[bool] = None email_domain_allowlist: Optional[Sequence[str]] = None embed_cookieless_v2: Optional[bool] = None - embed_config: Optional["EmbedConfig"] = None + embed_config: Optional["WriteEmbedConfig"] = None dashboard_auto_refresh_restriction: Optional[bool] = None dashboard_auto_refresh_minimum_interval: Optional[str] = None + managed_certificate_uri: Optional[str] = None def __init__( self, @@ -15272,9 +15351,10 @@ def __init__( override_warnings: Optional[bool] = None, email_domain_allowlist: Optional[Sequence[str]] = None, embed_cookieless_v2: Optional[bool] = None, - embed_config: Optional["EmbedConfig"] = None, + embed_config: Optional["WriteEmbedConfig"] = None, dashboard_auto_refresh_restriction: Optional[bool] = None, - dashboard_auto_refresh_minimum_interval: Optional[str] = None + dashboard_auto_refresh_minimum_interval: Optional[str] = None, + managed_certificate_uri: Optional[str] = None ): self.extension_framework_enabled = extension_framework_enabled self.extension_load_url_enabled = extension_load_url_enabled @@ -15297,6 +15377,7 @@ def __init__( self.dashboard_auto_refresh_minimum_interval = ( dashboard_auto_refresh_minimum_interval ) + self.managed_certificate_uri = managed_certificate_uri @attr.s(auto_attribs=True, init=False) diff --git a/python/looker_sdk/sdk/constants.py b/python/looker_sdk/sdk/constants.py index 9e937fd22..5b441dde7 100644 --- a/python/looker_sdk/sdk/constants.py +++ b/python/looker_sdk/sdk/constants.py @@ -20,5 +20,5 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -sdk_version = "24.20" +sdk_version = "25.0" environment_prefix = "LOOKERSDK" diff --git a/spec/Looker.4.0.json b/spec/Looker.4.0.json index de39111a0..d84d03453 100644 --- a/spec/Looker.4.0.json +++ b/spec/Looker.4.0.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "version": "4.0.24.20", - "x-looker-release-version": "24.20.9", + "version": "4.0.25.0", + "x-looker-release-version": "25.0.9", "title": "Looker API 4.0 Reference", "description": "\nAPI 4.0 is the current release of the Looker API. API 3.x has been removed.\n\n### Authorization\n\nThe classic method of API authorization uses Looker **API** credentials for authorization and access control.\nLooker admins can create API credentials on Looker's **Admin/Users** page.\n\nAPI 4.0 adds additional ways to authenticate API requests, including OAuth and CORS requests.\n\nFor details, see [Looker API Authorization](https://cloud.google.com/looker/docs/r/api/authorization).\n\n\n### API Explorer\n\nThe API Explorer is a Looker-provided utility with many new and unique features for learning and using the Looker API and SDKs.\n\nFor details, see the [API Explorer documentation](https://cloud.google.com/looker/docs/r/api/explorer).\n\n\n### Looker Language SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. SDKs for a variety of programming languages are also provided to streamline using the API. Looker\nhas an OpenSource [sdk-codegen project](https://github.com/looker-open-source/sdk-codegen) that provides several\nlanguage SDKs. Language SDKs generated by `sdk-codegen` have an Authentication manager that can automatically\nauthenticate API requests when needed.\n\nFor details on available Looker SDKs, see [Looker API Client SDKs](https://cloud.google.com/looker/docs/r/api/client_sdks).\n\n\n### API Versioning\n\nFuture releases of Looker expand the latest API version release-by-release to securely expose more and more of the core\npower of the Looker platform to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\n\nFor details, see [Looker API Versioning](https://cloud.google.com/looker/docs/r/api/versioning).\n\n\n### In This Release\n\nAPI 4.0 is the only supported API version for Looker starting with release 23.18. API 3.0 and 3.1 have been removed.\n\nAPI 4.0 has better support for strongly typed languages like TypeScript, Kotlin, Swift, Go, C#, and more.\n\nSee the [API 4.0 GA announcement](https://developers.looker.com/api/advanced-usage/version-4-ga) for more information\nabout API 4.0.\n\nThe API Explorer can be used to [interactively compare](https://cloud.google.com/looker/docs/r/api/explorer#comparing_api_versions) the differences between API 3.1 and 4.0.\n\n\n### API and SDK Support Policies\n\nLooker API versions and language SDKs have varying support levels. Please read the API and SDK\n[support policies](https://cloud.google.com/looker/docs/r/api/support-policy) for more information.\n\n\n", "contact": { @@ -410,7 +410,7 @@ ], "operationId": "query_task_results", "summary": "Get Async Query Results", - "description": "### Get Async Query Results\n\nReturns the results of an async query task if the query has completed.\n\nIf the query task is still running or waiting to run, this function returns 204 No Content.\n\nIf the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\nCall query_task_results only after the query task status reaches \"Complete\".\n\nYou can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\nresults of multiple async query tasks at the same time.\n\n#### SQL Error Handling:\nIf the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n\nFor `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\nwill be in the `errors` property of the response object. The 'data' property will be empty.\n\nFor all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\nwill be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\nThese data formats can only carry row data, and error info is not row data.\n", + "description": "### Get Async Query Results\n\nReturns the results of an async query task if the query has completed.\n\nIf the query task is still running or waiting to run, this function returns 202 Accepted.\n\nIf the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\nCall query_task_results only after the query task status reaches \"Complete\".\n\nYou can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\nresults of multiple async query tasks at the same time.\n\n#### SQL Error Handling:\nIf the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n\nFor `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\nwill be in the `errors` property of the response object. The 'data' property will be empty.\n\nFor all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\nwill be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\nThese data formats can only carry row data, and error info is not row data.\n", "produces": [ "text", "application/json" @@ -431,7 +431,7 @@ "type": "string" } }, - "204": { + "202": { "description": "The query is not finished", "schema": { "type": "string" @@ -4011,6 +4011,28 @@ "description": "Requested fields.", "required": false, "type": "string" + }, + { + "name": "project_names", + "in": "query", + "description": "Optional list of project names to filter by", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv" + }, + { + "name": "space_ids", + "in": "query", + "description": "Optional list of space ids to filter by", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv" } ], "responses": { @@ -7985,7 +8007,7 @@ ], "operationId": "create_embed_secret", "summary": "Create Embed Secret", - "description": "### Create an embed secret using the specified information.\n\nThe value of the `secret` field will be set by Looker and returned.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Create an embed secret using the specified information.\n\nThe value of the `secret` field will be set by Looker and returned.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "body", @@ -8010,6 +8032,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -8047,7 +8075,7 @@ ], "operationId": "delete_embed_secret", "summary": "Delete Embed Secret", - "description": "### Delete an embed secret.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Delete an embed secret.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "embed_secret_id", @@ -8070,6 +8098,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -8095,7 +8129,7 @@ ], "operationId": "create_sso_embed_url", "summary": "Create Signed Embed Url", - "description": "### Create Signed Embed URL\n\nCreates a signed embed URL and cryptographically signs it with an embed secret.\nThis signed URL can then be used to instantiate a Looker embed session in a PBL web application.\nDo not make any modifications to the returned URL - any change may invalidate the signature and\ncause the URL to fail to load a Looker embed session.\n\nA signed embed URL can only be **used once**. After the URL has been used to request a page from the\nLooker server, it is invalid. Future requests using the same URL will fail. This is to prevent\n'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\nTo load a dashboard with id 56 and with a filter of `Date=1 years`, the looker URL would look like `https:/myname.looker.com/dashboards/56?Date=1%20years`.\nThe best way to obtain this `target_url` is to navigate to the desired Looker page in your web browser and use the \"Get embed URL\" menu option\nto copy it to your clipboard and paste it into the `target_url` property as a quoted string value in this API request.\n\nPermissions for the embed user are defined by the groups in which the embed user is a member (`group_ids` property)\nand the lists of models and permissions assigned to the embed user.\nAt a minimum, you must provide values for either the `group_ids` property, or **both** the models and permissions properties.\nThese properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n\nThe embed user's access is the union of permissions granted by the `group_ids`, `models`, and `permissions` properties.\n\nThis function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\nembed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\nBecause of this, **these parameters are not validated** when the API call is made.\n\nThe [Get Embed Url](https://cloud.google.com/looker/docs/r/get-signed-url) dialog can be used to determine and validate the correct permissions for signing an embed url.\nThis dialog also provides the SDK syntax for the API call to make. Alternatively, you can copy the signed URL into the Embed URI Validator text box\nin `/admin/embed` to diagnose potential problems.\n\nThe `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\nif not specified, the URL will be signed using the most recent active signing secret. If there is no active secret for signing embed urls,\na default secret will be created. This default secret is encrypted using HMAC/SHA-256.\n\nThe `embed_domain` parameter is optional. If specified and valid, the domain will be added to the embed domain allowlist if it is missing.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Create Signed Embed URL\n\nCreates a signed embed URL and cryptographically signs it with an embed secret.\nThis signed URL can then be used to instantiate a Looker embed session in a PBL web application.\nDo not make any modifications to the returned URL - any change may invalidate the signature and\ncause the URL to fail to load a Looker embed session.\n\nA signed embed URL can only be **used once**. After the URL has been used to request a page from the\nLooker server, it is invalid. Future requests using the same URL will fail. This is to prevent\n'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\nTo load a dashboard with id 56 and with a filter of `Date=1 years`, the looker URL would look like `https:/myname.looker.com/dashboards/56?Date=1%20years`.\nThe best way to obtain this `target_url` is to navigate to the desired Looker page in your web browser and use the \"Get embed URL\" menu option\nto copy it to your clipboard and paste it into the `target_url` property as a quoted string value in this API request.\n\nPermissions for the embed user are defined by the groups in which the embed user is a member (`group_ids` property)\nand the lists of models and permissions assigned to the embed user.\nAt a minimum, you must provide values for either the `group_ids` property, or **both** the models and permissions properties.\nThese properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n\nThe embed user's access is the union of permissions granted by the `group_ids`, `models`, and `permissions` properties.\n\nThis function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\nembed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\nBecause of this, **these parameters are not validated** when the API call is made.\n\nThe [Get Embed Url](https://cloud.google.com/looker/docs/r/get-signed-url) dialog can be used to determine and validate the correct permissions for signing an embed url.\nThis dialog also provides the SDK syntax for the API call to make. Alternatively, you can copy the signed URL into the Embed URI Validator text box\nin `/admin/embed` to diagnose potential problems.\n\nThe `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\nif not specified, the URL will be signed using the most recent active signing secret. If there is no active secret for signing embed urls,\na default secret will be created. This default secret is encrypted using HMAC/SHA-256.\n\nThe `embed_domain` parameter is optional. If specified and valid, the domain will be added to the embed domain allowlist if it is missing.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "body", @@ -8120,6 +8154,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -8157,7 +8197,7 @@ ], "operationId": "create_embed_url_as_me", "summary": "Create Embed URL", - "description": "### Create an Embed URL\n\nCreates an embed URL that runs as the Looker user making this API call. (\"Embed as me\")\nThis embed URL can then be used to instantiate a Looker embed session in a\n\"Powered by Looker\" (PBL) web application.\n\nThis is similar to Private Embedding (https://cloud.google.com/looker/docs/r/admin/embed/private-embed). Instead of\nlogging into the Web UI to authenticate, the user has already authenticated against the API to be able to\nmake this call. However, unlike Private Embed where the user has access to any other part of the Looker UI,\nthe embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to\ncontent visible under the `/embed` context.\n\nAn embed URL can only be used once, and must be used within 5 minutes of being created. After it\nhas been used to request a page from the Looker server, the URL is invalid. Future requests using\nthe same URL will fail. This is to prevent 'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with \"/embed\" and query params.\nTo load a dashboard with id 56 and with a filter of `Date=1 years`, the looker Embed URL would look like `https://myname.looker.com/embed/dashboards/56?Date=1%20years`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy the URL shown in the browser address bar, insert \"/embed\" after the host/port, and paste it into the `target_url` property as a quoted string value in this API request.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Create an Embed URL\n\nCreates an embed URL that runs as the Looker user making this API call. (\"Embed as me\")\nThis embed URL can then be used to instantiate a Looker embed session in a\n\"Powered by Looker\" (PBL) web application.\n\nThis is similar to Private Embedding (https://cloud.google.com/looker/docs/r/admin/embed/private-embed). Instead of\nlogging into the Web UI to authenticate, the user has already authenticated against the API to be able to\nmake this call. However, unlike Private Embed where the user has access to any other part of the Looker UI,\nthe embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to\ncontent visible under the `/embed` context.\n\nAn embed URL can only be used once, and must be used within 5 minutes of being created. After it\nhas been used to request a page from the Looker server, the URL is invalid. Future requests using\nthe same URL will fail. This is to prevent 'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with \"/embed\" and query params.\nTo load a dashboard with id 56 and with a filter of `Date=1 years`, the looker Embed URL would look like `https://myname.looker.com/embed/dashboards/56?Date=1%20years`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy the URL shown in the browser address bar, insert \"/embed\" after the host/port, and paste it into the `target_url` property as a quoted string value in this API request.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "body", @@ -8182,6 +8222,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -8242,6 +8288,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -8273,7 +8325,7 @@ ], "operationId": "acquire_embed_cookieless_session", "summary": "Create Acquire cookieless embed session", - "description": "### Acquire a cookieless embed session.\n\nThe acquire session endpoint negates the need for signing the embed url and passing it as a parameter\nto the embed login. This endpoint accepts an embed user definition and creates or updates it. This is\nsimilar behavior to the embed SSO login as they both can create and update embed user data.\n\nThe endpoint also accepts an optional `session_reference_token`. If present and the session has not expired\nand the credentials match the credentials for the embed session, a new authentication token will be\ngenerated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that\nthe session is NOT extended in this scenario. In other words the session_length parameter is ignored.\n\n**IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user\nis NOT updated. This is done for performance reasons and to support the embed SSO usecase where the\nfirst IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not.\n\nIf the `session_reference_token` is provided but the session has expired, the token will be ignored and a\nnew embed session will be created. Note that the embed user definition will be updated in this scenario.\n\nIf the credentials do not match the credentials associated with an existing session_reference_token, a\n404 will be returned.\n\nThe endpoint returns the following:\n- Authentication token - a token that is passed to `/embed/login` endpoint that creates or attaches to the\n embed session. This token can be used once and has a lifetime of 30 seconds.\n- Session reference token - a token that lives for the length of the session. This token is used to\n generate new api and navigation tokens OR create new embed IFRAMEs.\n- Api token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into the\n iframe.\n- Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into\n the iframe.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Acquire a cookieless embed session.\n\nThe acquire session endpoint negates the need for signing the embed url and passing it as a parameter\nto the embed login. This endpoint accepts an embed user definition and creates or updates it. This is\nsimilar behavior to the embed SSO login as they both can create and update embed user data.\n\nThe endpoint also accepts an optional `session_reference_token`. If present and the session has not expired\nand the credentials match the credentials for the embed session, a new authentication token will be\ngenerated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that\nthe session is NOT extended in this scenario. In other words the session_length parameter is ignored.\n\n**IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user\nis NOT updated. This is done for performance reasons and to support the embed SSO usecase where the\nfirst IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not.\n\nIf the `session_reference_token` is provided but the session has expired, the token will be ignored and a\nnew embed session will be created. Note that the embed user definition will be updated in this scenario.\n\nIf the credentials do not match the credentials associated with an existing session_reference_token, a\n404 will be returned.\n\nThe endpoint returns the following:\n- Authentication token - a token that is passed to `/embed/login` endpoint that creates or attaches to the\n embed session. This token can be used once and has a lifetime of 30 seconds.\n- Session reference token - a token that lives for the length of the session. This token is used to\n generate new api and navigation tokens OR create new embed IFRAMEs.\n- Api token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into the\n iframe.\n- Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into\n the iframe.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "body", @@ -8298,6 +8350,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -8335,7 +8393,7 @@ ], "operationId": "delete_embed_cookieless_session", "summary": "Delete cookieless embed session", - "description": "### Delete cookieless embed session\n\nThis will delete the session associated with the given session reference token. Calling this endpoint will result\nin the session and session reference data being cleared from the system. This endpoint can be used to log an embed\nuser out of the Looker instance.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Delete cookieless embed session\n\nThis will delete the session associated with the given session reference token. Calling this endpoint will result\nin the session and session reference data being cleared from the system. This endpoint can be used to log an embed\nuser out of the Looker instance.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "session_reference_token", @@ -8358,6 +8416,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -8389,7 +8453,7 @@ ], "operationId": "generate_tokens_for_cookieless_session", "summary": "Generate tokens for cookieless embed session", - "description": "### Generate api and navigation tokens for a cookieless embed session\n\nThe generate tokens endpoint is used to create new tokens of type:\n- Api token.\n- Navigation token.\nThe generate tokens endpoint should be called every time the Looker client asks for a token (except for the\nfirst time when the tokens returned by the acquire_session endpoint should be used).\n\n#### Embed session expiration handling\n\nThis endpoint does NOT return an error when the embed session expires. This is to simplify processing\nin the caller as errors can happen for non session expiration reasons. Instead the endpoint returns\nthe session time to live in the `session_reference_token_ttl` response property. If this property\ncontains a zero, the embed session has expired.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Generate api and navigation tokens for a cookieless embed session\n\nThe generate tokens endpoint is used to create new tokens of type:\n- Api token.\n- Navigation token.\nThe generate tokens endpoint should be called every time the Looker client asks for a token (except for the\nfirst time when the tokens returned by the acquire_session endpoint should be used).\n\n#### Embed session expiration handling\n\nThis endpoint does NOT return an error when the embed session expires. This is to simplify processing\nin the caller as errors can happen for non session expiration reasons. Instead the endpoint returns\nthe session time to live in the `session_reference_token_ttl` response property. If this property\ncontains a zero, the embed session has expired.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "body", @@ -8414,6 +8478,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -13513,6 +13583,27 @@ "required": false, "type": "integer", "format": "int64" + }, + { + "name": "exclude_empty", + "in": "query", + "description": "Whether or not to exclude models with no explores from the response (Defaults to false)", + "required": false, + "type": "boolean" + }, + { + "name": "exclude_hidden", + "in": "query", + "description": "Whether or not to exclude hidden explores from the response (Defaults to false)", + "required": false, + "type": "boolean" + }, + { + "name": "include_internal", + "in": "query", + "description": "Whether or not to include built-in models such as System Activity (Defaults to false)", + "required": false, + "type": "boolean" } ], "responses": { @@ -16522,6 +16613,12 @@ "$ref": "#/definitions/Error" } }, + "405": { + "description": "Resource Can't Be Modified", + "schema": { + "$ref": "#/definitions/Error" + } + }, "409": { "description": "Resource Already Exists", "schema": { @@ -18634,6 +18731,12 @@ "$ref": "#/definitions/Error" } }, + "405": { + "description": "Resource Can't Be Modified", + "schema": { + "$ref": "#/definitions/Error" + } + }, "409": { "description": "Resource Already Exists", "schema": { @@ -20841,7 +20944,7 @@ ], "operationId": "set_setting", "summary": "Set Setting", - "description": "### Configure Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - dashboard_auto_refresh_restriction\n - dashboard_auto_refresh_minimum_interval\n - extension_framework_enabled\n - extension_load_url_enabled\n - instance_config\n - marketplace_auto_install_enabled\n - marketplace_automation\n - marketplace_terms_accepted\n - marketplace_enabled\n - marketplace_site\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - embed_cookieless_v2\n - embed_enabled\n - embed_config\n\nSee the `Setting` type for more information on the specific values that can be configured.\n\nIf a setting update is rejected, the API error payload should provide information on the cause of the rejection.\n", + "description": "### Configure Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - dashboard_auto_refresh_restriction\n - dashboard_auto_refresh_minimum_interval\n - extension_framework_enabled\n - extension_load_url_enabled\n - instance_config\n - managed_certificate_uri\n - marketplace_auto_install_enabled\n - marketplace_automation\n - marketplace_terms_accepted\n - marketplace_enabled\n - marketplace_site\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - embed_cookieless_v2\n - embed_enabled\n - embed_config\n\nSee the `Setting` type for more information on the specific values that can be configured.\n\nIf a setting update is rejected, the API error payload should provide information on the cause of the rejection.\n", "parameters": [ { "name": "body", @@ -20914,7 +21017,7 @@ ], "operationId": "get_setting", "summary": "Get Setting", - "description": "### Get Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - dashboard_auto_refresh_restriction\n - dashboard_auto_refresh_minimum_interval\n - extension_framework_enabled\n - extension_load_url_enabled\n - instance_config\n - marketplace_auto_install_enabled\n - marketplace_automation\n - marketplace_terms_accepted\n - marketplace_enabled\n - marketplace_site\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - embed_cookieless_v2\n - embed_enabled\n - embed_config\n\n", + "description": "### Get Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - dashboard_auto_refresh_restriction\n - dashboard_auto_refresh_minimum_interval\n - extension_framework_enabled\n - extension_load_url_enabled\n - instance_config\n - managed_certificate_uri\n - marketplace_auto_install_enabled\n - marketplace_automation\n - marketplace_terms_accepted\n - marketplace_enabled\n - marketplace_site\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - embed_cookieless_v2\n - embed_enabled\n - embed_config\n\n", "parameters": [ { "name": "fields", @@ -26588,7 +26691,7 @@ ], "operationId": "user_credentials_embed", "summary": "Get Embedding Credential", - "description": "### Embed login information for the specified user.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled", + "description": "### Embed login information for the specified user.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.", "parameters": [ { "name": "user_id", @@ -26654,7 +26757,7 @@ ], "operationId": "delete_user_credentials_embed", "summary": "Delete Embedding Credential", - "description": "### Embed login information for the specified user.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled", + "description": "### Embed login information for the specified user.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.", "parameters": [ { "name": "user_id", @@ -26715,7 +26818,7 @@ ], "operationId": "all_user_credentials_embeds", "summary": "Get All Embedding Credentials", - "description": "### Embed login information for the specified user.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled", + "description": "### Embed login information for the specified user.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.", "parameters": [ { "name": "user_id", @@ -27648,7 +27751,7 @@ ], "operationId": "create_embed_user", "summary": "Create an embed user from an external user ID", - "description": "Create an embed user from an external user ID\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "Create an embed user from an external user ID\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "body", @@ -27673,6 +27776,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -32695,6 +32804,11 @@ "description": "Name of temporary database (if used)", "x-looker-nullable": true }, + "tmp_db_host": { + "type": "string", + "description": "Name of temporary host (if used)", + "x-looker-nullable": true + }, "jdbc_additional_params": { "type": "string", "description": "Additional params to add to JDBC connection string", @@ -33412,6 +33526,12 @@ "type": "boolean", "description": "When true, removes navigation to Looks from embedded dashboards and explores.", "x-looker-nullable": false + }, + "embed_enabled": { + "type": "boolean", + "readOnly": true, + "description": "True if embedding is licensed for this Looker instance.", + "x-looker-nullable": false } }, "x-looker-status": "stable" @@ -41840,6 +41960,11 @@ "type": "string", "description": "Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)", "x-looker-nullable": true + }, + "managed_certificate_uri": { + "type": "string", + "description": "URI pointing to the location of a private root certificate in Secret Manager", + "x-looker-nullable": true } }, "x-looker-status": "stable" diff --git a/spec/Looker.4.0.oas.json b/spec/Looker.4.0.oas.json index a42bb3392..ffd8d0eb9 100644 --- a/spec/Looker.4.0.oas.json +++ b/spec/Looker.4.0.oas.json @@ -1,8 +1,8 @@ { "openapi": "3.0.0", "info": { - "version": "4.0.24.20", - "x-looker-release-version": "24.20.9", + "version": "4.0.25.0", + "x-looker-release-version": "25.0.9", "title": "Looker API 4.0 Reference", "description": "\nAPI 4.0 is the current release of the Looker API. API 3.x has been removed.\n\n### Authorization\n\nThe classic method of API authorization uses Looker **API** credentials for authorization and access control.\nLooker admins can create API credentials on Looker's **Admin/Users** page.\n\nAPI 4.0 adds additional ways to authenticate API requests, including OAuth and CORS requests.\n\nFor details, see [Looker API Authorization](https://cloud.google.com/looker/docs/r/api/authorization).\n\n\n### API Explorer\n\nThe API Explorer is a Looker-provided utility with many new and unique features for learning and using the Looker API and SDKs.\n\nFor details, see the [API Explorer documentation](https://cloud.google.com/looker/docs/r/api/explorer).\n\n\n### Looker Language SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. SDKs for a variety of programming languages are also provided to streamline using the API. Looker\nhas an OpenSource [sdk-codegen project](https://github.com/looker-open-source/sdk-codegen) that provides several\nlanguage SDKs. Language SDKs generated by `sdk-codegen` have an Authentication manager that can automatically\nauthenticate API requests when needed.\n\nFor details on available Looker SDKs, see [Looker API Client SDKs](https://cloud.google.com/looker/docs/r/api/client_sdks).\n\n\n### API Versioning\n\nFuture releases of Looker expand the latest API version release-by-release to securely expose more and more of the core\npower of the Looker platform to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\n\nFor details, see [Looker API Versioning](https://cloud.google.com/looker/docs/r/api/versioning).\n\n\n### In This Release\n\nAPI 4.0 is the only supported API version for Looker starting with release 23.18. API 3.0 and 3.1 have been removed.\n\nAPI 4.0 has better support for strongly typed languages like TypeScript, Kotlin, Swift, Go, C#, and more.\n\nSee the [API 4.0 GA announcement](https://developers.looker.com/api/advanced-usage/version-4-ga) for more information\nabout API 4.0.\n\nThe API Explorer can be used to [interactively compare](https://cloud.google.com/looker/docs/r/api/explorer#comparing_api_versions) the differences between API 3.1 and 4.0.\n\n\n### API and SDK Support Policies\n\nLooker API versions and language SDKs have varying support levels. Please read the API and SDK\n[support policies](https://cloud.google.com/looker/docs/r/api/support-policy) for more information.\n\n\n", "contact": { @@ -486,7 +486,7 @@ ], "operationId": "query_task_results", "summary": "Get Async Query Results", - "description": "### Get Async Query Results\n\nReturns the results of an async query task if the query has completed.\n\nIf the query task is still running or waiting to run, this function returns 204 No Content.\n\nIf the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\nCall query_task_results only after the query task status reaches \"Complete\".\n\nYou can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\nresults of multiple async query tasks at the same time.\n\n#### SQL Error Handling:\nIf the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n\nFor `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\nwill be in the `errors` property of the response object. The 'data' property will be empty.\n\nFor all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\nwill be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\nThese data formats can only carry row data, and error info is not row data.\n", + "description": "### Get Async Query Results\n\nReturns the results of an async query task if the query has completed.\n\nIf the query task is still running or waiting to run, this function returns 202 Accepted.\n\nIf the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n\nUse [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\nCall query_task_results only after the query task status reaches \"Complete\".\n\nYou can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\nresults of multiple async query tasks at the same time.\n\n#### SQL Error Handling:\nIf the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n\nFor `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\nwill be in the `errors` property of the response object. The 'data' property will be empty.\n\nFor all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\nwill be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\nThese data formats can only carry row data, and error info is not row data.\n", "parameters": [ { "name": "query_task_id", @@ -514,7 +514,7 @@ } } }, - "204": { + "202": { "description": "The query is not finished", "content": { "text": { @@ -5627,6 +5627,34 @@ "schema": { "type": "string" } + }, + { + "name": "project_names", + "in": "query", + "description": "Optional list of project names to filter by", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "space_ids", + "in": "query", + "description": "Optional list of space ids to filter by", + "required": false, + "style": "simple", + "explode": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } } ], "responses": { @@ -11079,7 +11107,7 @@ ], "operationId": "create_embed_secret", "summary": "Create Embed Secret", - "description": "### Create an embed secret using the specified information.\n\nThe value of the `secret` field will be set by Looker and returned.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Create an embed secret using the specified information.\n\nThe value of the `secret` field will be set by Looker and returned.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "responses": { "200": { "description": "embed secret", @@ -11101,6 +11129,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -11165,7 +11203,7 @@ ], "operationId": "delete_embed_secret", "summary": "Delete Embed Secret", - "description": "### Delete an embed secret.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Delete an embed secret.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "embed_secret_id", @@ -11198,6 +11236,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -11231,7 +11279,7 @@ ], "operationId": "create_sso_embed_url", "summary": "Create Signed Embed Url", - "description": "### Create Signed Embed URL\n\nCreates a signed embed URL and cryptographically signs it with an embed secret.\nThis signed URL can then be used to instantiate a Looker embed session in a PBL web application.\nDo not make any modifications to the returned URL - any change may invalidate the signature and\ncause the URL to fail to load a Looker embed session.\n\nA signed embed URL can only be **used once**. After the URL has been used to request a page from the\nLooker server, it is invalid. Future requests using the same URL will fail. This is to prevent\n'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\nTo load a dashboard with id 56 and with a filter of `Date=1 years`, the looker URL would look like `https:/myname.looker.com/dashboards/56?Date=1%20years`.\nThe best way to obtain this `target_url` is to navigate to the desired Looker page in your web browser and use the \"Get embed URL\" menu option\nto copy it to your clipboard and paste it into the `target_url` property as a quoted string value in this API request.\n\nPermissions for the embed user are defined by the groups in which the embed user is a member (`group_ids` property)\nand the lists of models and permissions assigned to the embed user.\nAt a minimum, you must provide values for either the `group_ids` property, or **both** the models and permissions properties.\nThese properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n\nThe embed user's access is the union of permissions granted by the `group_ids`, `models`, and `permissions` properties.\n\nThis function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\nembed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\nBecause of this, **these parameters are not validated** when the API call is made.\n\nThe [Get Embed Url](https://cloud.google.com/looker/docs/r/get-signed-url) dialog can be used to determine and validate the correct permissions for signing an embed url.\nThis dialog also provides the SDK syntax for the API call to make. Alternatively, you can copy the signed URL into the Embed URI Validator text box\nin `/admin/embed` to diagnose potential problems.\n\nThe `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\nif not specified, the URL will be signed using the most recent active signing secret. If there is no active secret for signing embed urls,\na default secret will be created. This default secret is encrypted using HMAC/SHA-256.\n\nThe `embed_domain` parameter is optional. If specified and valid, the domain will be added to the embed domain allowlist if it is missing.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Create Signed Embed URL\n\nCreates a signed embed URL and cryptographically signs it with an embed secret.\nThis signed URL can then be used to instantiate a Looker embed session in a PBL web application.\nDo not make any modifications to the returned URL - any change may invalidate the signature and\ncause the URL to fail to load a Looker embed session.\n\nA signed embed URL can only be **used once**. After the URL has been used to request a page from the\nLooker server, it is invalid. Future requests using the same URL will fail. This is to prevent\n'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\nTo load a dashboard with id 56 and with a filter of `Date=1 years`, the looker URL would look like `https:/myname.looker.com/dashboards/56?Date=1%20years`.\nThe best way to obtain this `target_url` is to navigate to the desired Looker page in your web browser and use the \"Get embed URL\" menu option\nto copy it to your clipboard and paste it into the `target_url` property as a quoted string value in this API request.\n\nPermissions for the embed user are defined by the groups in which the embed user is a member (`group_ids` property)\nand the lists of models and permissions assigned to the embed user.\nAt a minimum, you must provide values for either the `group_ids` property, or **both** the models and permissions properties.\nThese properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n\nThe embed user's access is the union of permissions granted by the `group_ids`, `models`, and `permissions` properties.\n\nThis function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\nembed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\nBecause of this, **these parameters are not validated** when the API call is made.\n\nThe [Get Embed Url](https://cloud.google.com/looker/docs/r/get-signed-url) dialog can be used to determine and validate the correct permissions for signing an embed url.\nThis dialog also provides the SDK syntax for the API call to make. Alternatively, you can copy the signed URL into the Embed URI Validator text box\nin `/admin/embed` to diagnose potential problems.\n\nThe `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\nif not specified, the URL will be signed using the most recent active signing secret. If there is no active secret for signing embed urls,\na default secret will be created. This default secret is encrypted using HMAC/SHA-256.\n\nThe `embed_domain` parameter is optional. If specified and valid, the domain will be added to the embed domain allowlist if it is missing.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "responses": { "200": { "description": "Signed Embed URL", @@ -11253,6 +11301,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -11317,7 +11375,7 @@ ], "operationId": "create_embed_url_as_me", "summary": "Create Embed URL", - "description": "### Create an Embed URL\n\nCreates an embed URL that runs as the Looker user making this API call. (\"Embed as me\")\nThis embed URL can then be used to instantiate a Looker embed session in a\n\"Powered by Looker\" (PBL) web application.\n\nThis is similar to Private Embedding (https://cloud.google.com/looker/docs/r/admin/embed/private-embed). Instead of\nlogging into the Web UI to authenticate, the user has already authenticated against the API to be able to\nmake this call. However, unlike Private Embed where the user has access to any other part of the Looker UI,\nthe embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to\ncontent visible under the `/embed` context.\n\nAn embed URL can only be used once, and must be used within 5 minutes of being created. After it\nhas been used to request a page from the Looker server, the URL is invalid. Future requests using\nthe same URL will fail. This is to prevent 'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with \"/embed\" and query params.\nTo load a dashboard with id 56 and with a filter of `Date=1 years`, the looker Embed URL would look like `https://myname.looker.com/embed/dashboards/56?Date=1%20years`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy the URL shown in the browser address bar, insert \"/embed\" after the host/port, and paste it into the `target_url` property as a quoted string value in this API request.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Create an Embed URL\n\nCreates an embed URL that runs as the Looker user making this API call. (\"Embed as me\")\nThis embed URL can then be used to instantiate a Looker embed session in a\n\"Powered by Looker\" (PBL) web application.\n\nThis is similar to Private Embedding (https://cloud.google.com/looker/docs/r/admin/embed/private-embed). Instead of\nlogging into the Web UI to authenticate, the user has already authenticated against the API to be able to\nmake this call. However, unlike Private Embed where the user has access to any other part of the Looker UI,\nthe embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to\ncontent visible under the `/embed` context.\n\nAn embed URL can only be used once, and must be used within 5 minutes of being created. After it\nhas been used to request a page from the Looker server, the URL is invalid. Future requests using\nthe same URL will fail. This is to prevent 'replay attacks'.\n\nThe `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with \"/embed\" and query params.\nTo load a dashboard with id 56 and with a filter of `Date=1 years`, the looker Embed URL would look like `https://myname.looker.com/embed/dashboards/56?Date=1%20years`.\nThe best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\ncopy the URL shown in the browser address bar, insert \"/embed\" after the host/port, and paste it into the `target_url` property as a quoted string value in this API request.\n\n#### Security Note\nProtect this signed URL as you would an access token or password credentials - do not write\nit to disk, do not pass it to a third party, and only pass it through a secure HTTPS\nencrypted transport.\n\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "responses": { "200": { "description": "Embed URL", @@ -11339,6 +11397,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -11436,6 +11504,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -11479,7 +11557,7 @@ ], "operationId": "acquire_embed_cookieless_session", "summary": "Create Acquire cookieless embed session", - "description": "### Acquire a cookieless embed session.\n\nThe acquire session endpoint negates the need for signing the embed url and passing it as a parameter\nto the embed login. This endpoint accepts an embed user definition and creates or updates it. This is\nsimilar behavior to the embed SSO login as they both can create and update embed user data.\n\nThe endpoint also accepts an optional `session_reference_token`. If present and the session has not expired\nand the credentials match the credentials for the embed session, a new authentication token will be\ngenerated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that\nthe session is NOT extended in this scenario. In other words the session_length parameter is ignored.\n\n**IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user\nis NOT updated. This is done for performance reasons and to support the embed SSO usecase where the\nfirst IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not.\n\nIf the `session_reference_token` is provided but the session has expired, the token will be ignored and a\nnew embed session will be created. Note that the embed user definition will be updated in this scenario.\n\nIf the credentials do not match the credentials associated with an existing session_reference_token, a\n404 will be returned.\n\nThe endpoint returns the following:\n- Authentication token - a token that is passed to `/embed/login` endpoint that creates or attaches to the\n embed session. This token can be used once and has a lifetime of 30 seconds.\n- Session reference token - a token that lives for the length of the session. This token is used to\n generate new api and navigation tokens OR create new embed IFRAMEs.\n- Api token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into the\n iframe.\n- Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into\n the iframe.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Acquire a cookieless embed session.\n\nThe acquire session endpoint negates the need for signing the embed url and passing it as a parameter\nto the embed login. This endpoint accepts an embed user definition and creates or updates it. This is\nsimilar behavior to the embed SSO login as they both can create and update embed user data.\n\nThe endpoint also accepts an optional `session_reference_token`. If present and the session has not expired\nand the credentials match the credentials for the embed session, a new authentication token will be\ngenerated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that\nthe session is NOT extended in this scenario. In other words the session_length parameter is ignored.\n\n**IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user\nis NOT updated. This is done for performance reasons and to support the embed SSO usecase where the\nfirst IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not.\n\nIf the `session_reference_token` is provided but the session has expired, the token will be ignored and a\nnew embed session will be created. Note that the embed user definition will be updated in this scenario.\n\nIf the credentials do not match the credentials associated with an existing session_reference_token, a\n404 will be returned.\n\nThe endpoint returns the following:\n- Authentication token - a token that is passed to `/embed/login` endpoint that creates or attaches to the\n embed session. This token can be used once and has a lifetime of 30 seconds.\n- Session reference token - a token that lives for the length of the session. This token is used to\n generate new api and navigation tokens OR create new embed IFRAMEs.\n- Api token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into the\n iframe.\n- Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into\n the iframe.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "responses": { "200": { "description": "Embed cookieless acquire session response", @@ -11501,6 +11579,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -11565,7 +11653,7 @@ ], "operationId": "delete_embed_cookieless_session", "summary": "Delete cookieless embed session", - "description": "### Delete cookieless embed session\n\nThis will delete the session associated with the given session reference token. Calling this endpoint will result\nin the session and session reference data being cleared from the system. This endpoint can be used to log an embed\nuser out of the Looker instance.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Delete cookieless embed session\n\nThis will delete the session associated with the given session reference token. Calling this endpoint will result\nin the session and session reference data being cleared from the system. This endpoint can be used to log an embed\nuser out of the Looker instance.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "parameters": [ { "name": "session_reference_token", @@ -11598,6 +11686,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -11641,7 +11739,7 @@ ], "operationId": "generate_tokens_for_cookieless_session", "summary": "Generate tokens for cookieless embed session", - "description": "### Generate api and navigation tokens for a cookieless embed session\n\nThe generate tokens endpoint is used to create new tokens of type:\n- Api token.\n- Navigation token.\nThe generate tokens endpoint should be called every time the Looker client asks for a token (except for the\nfirst time when the tokens returned by the acquire_session endpoint should be used).\n\n#### Embed session expiration handling\n\nThis endpoint does NOT return an error when the embed session expires. This is to simplify processing\nin the caller as errors can happen for non session expiration reasons. Instead the endpoint returns\nthe session time to live in the `session_reference_token_ttl` response property. If this property\ncontains a zero, the embed session has expired.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "### Generate api and navigation tokens for a cookieless embed session\n\nThe generate tokens endpoint is used to create new tokens of type:\n- Api token.\n- Navigation token.\nThe generate tokens endpoint should be called every time the Looker client asks for a token (except for the\nfirst time when the tokens returned by the acquire_session endpoint should be used).\n\n#### Embed session expiration handling\n\nThis endpoint does NOT return an error when the embed session expires. This is to simplify processing\nin the caller as errors can happen for non session expiration reasons. Instead the endpoint returns\nthe session time to live in the `session_reference_token_ttl` response property. If this property\ncontains a zero, the embed session has expired.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "responses": { "200": { "description": "Generated api and navigations tokens for the cookieless embed session.", @@ -11663,6 +11761,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -18717,6 +18825,33 @@ "type": "integer", "format": "int64" } + }, + { + "name": "exclude_empty", + "in": "query", + "description": "Whether or not to exclude models with no explores from the response (Defaults to false)", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "exclude_hidden", + "in": "query", + "description": "Whether or not to exclude hidden explores from the response (Defaults to false)", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "include_internal", + "in": "query", + "description": "Whether or not to include built-in models such as System Activity (Defaults to false)", + "required": false, + "schema": { + "type": "boolean" + } } ], "responses": { @@ -22849,6 +22984,16 @@ } } }, + "405": { + "description": "Resource Can't Be Modified", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "409": { "description": "Resource Already Exists", "content": { @@ -25773,6 +25918,16 @@ } } }, + "405": { + "description": "Resource Can't Be Modified", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "409": { "description": "Resource Already Exists", "content": { @@ -28795,7 +28950,7 @@ ], "operationId": "set_setting", "summary": "Set Setting", - "description": "### Configure Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - dashboard_auto_refresh_restriction\n - dashboard_auto_refresh_minimum_interval\n - extension_framework_enabled\n - extension_load_url_enabled\n - instance_config\n - marketplace_auto_install_enabled\n - marketplace_automation\n - marketplace_terms_accepted\n - marketplace_enabled\n - marketplace_site\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - embed_cookieless_v2\n - embed_enabled\n - embed_config\n\nSee the `Setting` type for more information on the specific values that can be configured.\n\nIf a setting update is rejected, the API error payload should provide information on the cause of the rejection.\n", + "description": "### Configure Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - dashboard_auto_refresh_restriction\n - dashboard_auto_refresh_minimum_interval\n - extension_framework_enabled\n - extension_load_url_enabled\n - instance_config\n - managed_certificate_uri\n - marketplace_auto_install_enabled\n - marketplace_automation\n - marketplace_terms_accepted\n - marketplace_enabled\n - marketplace_site\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - embed_cookieless_v2\n - embed_enabled\n - embed_config\n\nSee the `Setting` type for more information on the specific values that can be configured.\n\nIf a setting update is rejected, the API error payload should provide information on the cause of the rejection.\n", "parameters": [ { "name": "fields", @@ -28900,7 +29055,7 @@ ], "operationId": "get_setting", "summary": "Get Setting", - "description": "### Get Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - dashboard_auto_refresh_restriction\n - dashboard_auto_refresh_minimum_interval\n - extension_framework_enabled\n - extension_load_url_enabled\n - instance_config\n - marketplace_auto_install_enabled\n - marketplace_automation\n - marketplace_terms_accepted\n - marketplace_enabled\n - marketplace_site\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - embed_cookieless_v2\n - embed_enabled\n - embed_config\n\n", + "description": "### Get Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - dashboard_auto_refresh_restriction\n - dashboard_auto_refresh_minimum_interval\n - extension_framework_enabled\n - extension_load_url_enabled\n - instance_config\n - managed_certificate_uri\n - marketplace_auto_install_enabled\n - marketplace_automation\n - marketplace_terms_accepted\n - marketplace_enabled\n - marketplace_site\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - embed_cookieless_v2\n - embed_enabled\n - embed_config\n\n", "parameters": [ { "name": "fields", @@ -36750,7 +36905,7 @@ ], "operationId": "user_credentials_embed", "summary": "Get Embedding Credential", - "description": "### Embed login information for the specified user.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled", + "description": "### Embed login information for the specified user.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.", "parameters": [ { "name": "user_id", @@ -36842,7 +36997,7 @@ ], "operationId": "delete_user_credentials_embed", "summary": "Delete Embedding Credential", - "description": "### Embed login information for the specified user.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled", + "description": "### Embed login information for the specified user.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.", "parameters": [ { "name": "user_id", @@ -36927,7 +37082,7 @@ ], "operationId": "all_user_credentials_embeds", "summary": "Get All Embedding Credentials", - "description": "### Embed login information for the specified user.\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled", + "description": "### Embed login information for the specified user.\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.", "parameters": [ { "name": "user_id", @@ -38213,7 +38368,7 @@ ], "operationId": "create_embed_user", "summary": "Create an embed user from an external user ID", - "description": "Create an embed user from an external user ID\n\nCalls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled\n", + "description": "Create an embed user from an external user ID\n\n**NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n", "responses": { "200": { "description": "Created embed user", @@ -38235,6 +38390,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -43342,6 +43507,11 @@ "description": "Name of temporary database (if used)", "nullable": true }, + "tmp_db_host": { + "type": "string", + "description": "Name of temporary host (if used)", + "nullable": true + }, "jdbc_additional_params": { "type": "string", "description": "Additional params to add to JDBC connection string", @@ -44054,6 +44224,12 @@ "type": "boolean", "description": "When true, removes navigation to Looks from embedded dashboards and explores.", "nullable": false + }, + "embed_enabled": { + "type": "boolean", + "readOnly": true, + "description": "True if embedding is licensed for this Looker instance.", + "nullable": false } }, "x-looker-status": "stable" @@ -52383,6 +52559,11 @@ "type": "string", "description": "Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)", "nullable": true + }, + "managed_certificate_uri": { + "type": "string", + "description": "URI pointing to the location of a private root certificate in Secret Manager", + "nullable": true } }, "x-looker-status": "stable" diff --git a/swift/looker/rtl/constants.swift b/swift/looker/rtl/constants.swift index 44ae341b8..862035639 100644 --- a/swift/looker/rtl/constants.swift +++ b/swift/looker/rtl/constants.swift @@ -51,7 +51,7 @@ extension String { } public struct Constants { - public static let lookerVersion = "24.20" + public static let lookerVersion = "25.0" 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 2b9eee85b..3b14f4505 100644 --- a/swift/looker/sdk/methods.swift +++ b/swift/looker/sdk/methods.swift @@ -703,7 +703,7 @@ open class LookerSDK: APIMethods { * * The value of the `secret` field will be set by Looker and returned. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed_config/secrets -> EmbedSecret */ @@ -721,7 +721,7 @@ open class LookerSDK: APIMethods { /** * ### Delete an embed secret. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed_config/secrets/{embed_secret_id} -> String */ @@ -781,7 +781,7 @@ open class LookerSDK: APIMethods { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/sso_url -> EmbedUrlResponse */ @@ -824,7 +824,7 @@ open class LookerSDK: APIMethods { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/token_url/me -> EmbedUrlResponse */ @@ -888,7 +888,7 @@ open class LookerSDK: APIMethods { * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into * the iframe. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/cookieless_session/acquire -> EmbedCookielessSessionAcquireResponse */ @@ -910,7 +910,7 @@ open class LookerSDK: APIMethods { * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed * user out of the Looker instance. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed/cookieless_session/{session_reference_token} -> String */ @@ -942,7 +942,7 @@ open class LookerSDK: APIMethods { * the session time to live in the `session_reference_token_ttl` response property. If this property * contains a zero, the embed session has expired. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * PUT /embed/cookieless_session/generate_tokens -> EmbedCookielessSessionGenerateTokensResponse */ @@ -2853,6 +2853,7 @@ open class LookerSDK: APIMethods { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -2893,6 +2894,7 @@ open class LookerSDK: APIMethods { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -3991,10 +3993,18 @@ open class LookerSDK: APIMethods { * @param {String} fields Requested fields. */ fields: String? = nil, + /** + * @param {DelimArray} project_names Optional list of project names to filter by + */ + project_names: DelimArray? = nil, + /** + * @param {DelimArray} space_ids Optional list of space ids to filter by + */ + space_ids: DelimArray? = nil, options: ITransportSettings? = nil ) -> SDKResponse { let result: SDKResponse = self.get("/content_validation", - ["fields": fields], nil, options) + ["fields": fields, "project_names": project_names as Any?, "space_ids": space_ids as Any?], nil, options) return result } @@ -6857,10 +6867,22 @@ open class LookerSDK: APIMethods { * @param {Int64} offset Number of results to skip before returning any. (Defaults to 0 if not set when limit is used) */ offset: Int64? = nil, + /** + * @param {Bool} exclude_empty Whether or not to exclude models with no explores from the response (Defaults to false) + */ + exclude_empty: Bool? = nil, + /** + * @param {Bool} exclude_hidden Whether or not to exclude hidden explores from the response (Defaults to false) + */ + exclude_hidden: Bool? = nil, + /** + * @param {Bool} include_internal Whether or not to include built-in models such as System Activity (Defaults to false) + */ + include_internal: Bool? = nil, options: ITransportSettings? = nil ) -> SDKResponse<[LookmlModel], SDKError> { let result: SDKResponse<[LookmlModel], SDKError> = self.get("/lookml_models", - ["fields": fields, "limit": limit, "offset": offset], nil, options) + ["fields": fields, "limit": limit, "offset": offset, "exclude_empty": exclude_empty as Any?, "exclude_hidden": exclude_hidden as Any?, "include_internal": include_internal as Any?], nil, options) return result } @@ -8224,7 +8246,7 @@ open class LookerSDK: APIMethods { * * Returns the results of an async query task if the query has completed. * - * If the query task is still running or waiting to run, this function returns 204 No Content. + * If the query task is still running or waiting to run, this function returns 202 Accepted. * * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. * @@ -11676,7 +11698,7 @@ open class LookerSDK: APIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> CredentialsEmbed */ @@ -11705,7 +11727,7 @@ open class LookerSDK: APIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> String */ @@ -11729,7 +11751,7 @@ open class LookerSDK: APIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed -> [CredentialsEmbed] */ @@ -12129,7 +12151,7 @@ open class LookerSDK: APIMethods { /** * Create an embed user from an external user ID * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /users/embed_user -> UserPublic */ diff --git a/swift/looker/sdk/models.swift b/swift/looker/sdk/models.swift index 697b59532..03fbb10e1 100644 --- a/swift/looker/sdk/models.swift +++ b/swift/looker/sdk/models.swift @@ -25,7 +25,7 @@ */ /** - * 342 API models: 259 Spec, 0 Request, 61 Write, 22 Enum + * 343 API models: 259 Spec, 0 Request, 62 Write, 22 Enum */ @@ -7014,6 +7014,7 @@ public struct DBConnection: SDKModel { case ssl case verify_ssl case _tmp_db_name = "tmp_db_name" + case _tmp_db_host = "tmp_db_host" case _jdbc_additional_params = "jdbc_additional_params" case _pool_timeout = "pool_timeout" case _dialect_name = "dialect_name" @@ -7229,6 +7230,15 @@ public struct DBConnection: SDKModel { set { _tmp_db_name = newValue.map(AnyString.init) } } + private var _tmp_db_host: AnyString? + /** + * Name of temporary host (if used) + */ + public var tmp_db_host: String? { + get { _tmp_db_host?.value } + set { _tmp_db_host = newValue.map(AnyString.init) } + } + private var _jdbc_additional_params: AnyString? /** * Additional params to add to JDBC connection string @@ -7459,7 +7469,7 @@ public struct DBConnection: SDKModel { set { _p4sa_name = newValue.map(AnyString.init) } } - public init(can: StringDictionary? = nil, name: String? = nil, dialect: Dialect? = nil, snippets: [Snippet]? = nil, pdts_enabled: Bool? = nil, host: String? = nil, port: String? = nil, username: String? = nil, password: String? = nil, uses_oauth: Bool? = nil, uses_instance_oauth: Bool? = nil, certificate: String? = nil, file_type: String? = nil, database: String? = nil, db_timezone: String? = nil, query_timezone: String? = nil, schema: String? = nil, max_connections: Int64? = nil, max_queries: Int64? = nil, max_queries_per_user: Int64? = nil, max_billing_gigabytes: String? = nil, ssl: Bool? = nil, verify_ssl: Bool? = nil, tmp_db_name: String? = nil, jdbc_additional_params: String? = nil, pool_timeout: Int64? = nil, dialect_name: String? = nil, supports_data_studio_link: Bool? = nil, created_at: String? = nil, user_id: String? = nil, example: Bool? = nil, user_db_credentials: Bool? = nil, user_attribute_fields: [String]? = nil, maintenance_cron: String? = nil, last_regen_at: String? = nil, last_reap_at: String? = nil, sql_runner_precache_tables: Bool? = nil, sql_writing_with_info_schema: Bool? = nil, after_connect_statements: String? = nil, pdt_context_override: DBConnectionOverride? = nil, managed: Bool? = nil, custom_local_port: Int64? = nil, tunnel_id: String? = nil, uses_tns: Bool? = nil, pdt_concurrency: Int64? = nil, disable_context_comment: Bool? = nil, oauth_application_id: String? = nil, always_retry_failed_builds: Bool? = nil, uses_application_default_credentials: Bool? = nil, impersonated_service_account: String? = nil, cost_estimate_enabled: Bool? = nil, pdt_api_control_enabled: Bool? = nil, connection_pooling: Bool? = nil, default_bq_connection: Bool? = nil, bq_storage_project_id: String? = nil, bq_roles_verified: Bool? = nil, p4sa_name: String? = nil) { + public init(can: StringDictionary? = nil, name: String? = nil, dialect: Dialect? = nil, snippets: [Snippet]? = nil, pdts_enabled: Bool? = nil, host: String? = nil, port: String? = nil, username: String? = nil, password: String? = nil, uses_oauth: Bool? = nil, uses_instance_oauth: Bool? = nil, certificate: String? = nil, file_type: String? = nil, database: String? = nil, db_timezone: String? = nil, query_timezone: String? = nil, schema: String? = nil, max_connections: Int64? = nil, max_queries: Int64? = nil, max_queries_per_user: Int64? = nil, max_billing_gigabytes: String? = nil, ssl: Bool? = nil, verify_ssl: Bool? = nil, tmp_db_name: String? = nil, tmp_db_host: String? = nil, jdbc_additional_params: String? = nil, pool_timeout: Int64? = nil, dialect_name: String? = nil, supports_data_studio_link: Bool? = nil, created_at: String? = nil, user_id: String? = nil, example: Bool? = nil, user_db_credentials: Bool? = nil, user_attribute_fields: [String]? = nil, maintenance_cron: String? = nil, last_regen_at: String? = nil, last_reap_at: String? = nil, sql_runner_precache_tables: Bool? = nil, sql_writing_with_info_schema: Bool? = nil, after_connect_statements: String? = nil, pdt_context_override: DBConnectionOverride? = nil, managed: Bool? = nil, custom_local_port: Int64? = nil, tunnel_id: String? = nil, uses_tns: Bool? = nil, pdt_concurrency: Int64? = nil, disable_context_comment: Bool? = nil, oauth_application_id: String? = nil, always_retry_failed_builds: Bool? = nil, uses_application_default_credentials: Bool? = nil, impersonated_service_account: String? = nil, cost_estimate_enabled: Bool? = nil, pdt_api_control_enabled: Bool? = nil, connection_pooling: Bool? = nil, default_bq_connection: Bool? = nil, bq_storage_project_id: String? = nil, bq_roles_verified: Bool? = nil, p4sa_name: String? = nil) { self.can = can self._name = name.map(AnyString.init) self.dialect = dialect @@ -7484,6 +7494,7 @@ public struct DBConnection: SDKModel { self.ssl = ssl self.verify_ssl = verify_ssl self._tmp_db_name = tmp_db_name.map(AnyString.init) + self._tmp_db_host = tmp_db_host.map(AnyString.init) self._jdbc_additional_params = jdbc_additional_params.map(AnyString.init) self._pool_timeout = pool_timeout.map(AnyInt.init) self._dialect_name = dialect_name.map(AnyString.init) @@ -8335,6 +8346,7 @@ public struct EmbedConfig: SDKModel { case strict_sameorigin_for_login case look_filters case hide_look_navigation + case embed_enabled } private var _domain_allowlist: [AnyString]? /** @@ -8407,7 +8419,12 @@ public struct EmbedConfig: SDKModel { */ public var hide_look_navigation: Bool? - public init(domain_allowlist: [String]? = nil, alert_url_allowlist: [String]? = nil, alert_url_param_owner: String? = nil, alert_url_label: String? = nil, sso_auth_enabled: Bool? = nil, embed_cookieless_v2: Bool? = nil, embed_content_navigation: Bool? = nil, embed_content_management: Bool? = nil, strict_sameorigin_for_login: Bool? = nil, look_filters: Bool? = nil, hide_look_navigation: Bool? = nil) { + /** + * True if embedding is licensed for this Looker instance. (read-only) + */ + public var embed_enabled: Bool? + + public init(domain_allowlist: [String]? = nil, alert_url_allowlist: [String]? = nil, alert_url_param_owner: String? = nil, alert_url_label: String? = nil, sso_auth_enabled: Bool? = nil, embed_cookieless_v2: Bool? = nil, embed_content_navigation: Bool? = nil, embed_content_management: Bool? = nil, strict_sameorigin_for_login: Bool? = nil, look_filters: Bool? = nil, hide_look_navigation: Bool? = nil, embed_enabled: Bool? = nil) { if let v = domain_allowlist { _domain_allowlist = v.map { AnyString.init($0) } } else { _domain_allowlist = nil } if let v = alert_url_allowlist { _alert_url_allowlist = v.map { AnyString.init($0) } } else { _alert_url_allowlist = nil } self._alert_url_param_owner = alert_url_param_owner.map(AnyString.init) @@ -8419,6 +8436,7 @@ public struct EmbedConfig: SDKModel { self.strict_sameorigin_for_login = strict_sameorigin_for_login self.look_filters = look_filters self.hide_look_navigation = hide_look_navigation + self.embed_enabled = embed_enabled } } @@ -20790,6 +20808,7 @@ public struct Setting: SDKModel { case _login_notification_text = "login_notification_text" case dashboard_auto_refresh_restriction case _dashboard_auto_refresh_minimum_interval = "dashboard_auto_refresh_minimum_interval" + case _managed_certificate_uri = "managed_certificate_uri" } public var instance_config: InstanceConfig? @@ -20920,7 +20939,16 @@ public struct Setting: SDKModel { set { _dashboard_auto_refresh_minimum_interval = newValue.map(AnyString.init) } } - public init(instance_config: InstanceConfig? = nil, extension_framework_enabled: Bool? = nil, extension_load_url_enabled: Bool? = nil, marketplace_auto_install_enabled: Bool? = nil, marketplace_automation: MarketplaceAutomation? = nil, marketplace_enabled: Bool? = nil, marketplace_site: String? = nil, marketplace_terms_accepted: Bool? = nil, privatelabel_configuration: PrivatelabelConfiguration? = nil, custom_welcome_email: CustomWelcomeEmail? = nil, onboarding_enabled: Bool? = nil, timezone: String? = nil, allow_user_timezones: Bool? = nil, data_connector_default_enabled: Bool? = nil, host_url: String? = nil, override_warnings: Bool? = nil, email_domain_allowlist: [String]? = nil, embed_cookieless_v2: Bool? = nil, embed_enabled: Bool? = nil, embed_config: EmbedConfig? = nil, login_notification_enabled: Bool? = nil, login_notification_text: String? = nil, dashboard_auto_refresh_restriction: Bool? = nil, dashboard_auto_refresh_minimum_interval: String? = nil) { + private var _managed_certificate_uri: AnyString? + /** + * URI pointing to the location of a private root certificate in Secret Manager + */ + public var managed_certificate_uri: String? { + get { _managed_certificate_uri?.value } + set { _managed_certificate_uri = newValue.map(AnyString.init) } + } + + public init(instance_config: InstanceConfig? = nil, extension_framework_enabled: Bool? = nil, extension_load_url_enabled: Bool? = nil, marketplace_auto_install_enabled: Bool? = nil, marketplace_automation: MarketplaceAutomation? = nil, marketplace_enabled: Bool? = nil, marketplace_site: String? = nil, marketplace_terms_accepted: Bool? = nil, privatelabel_configuration: PrivatelabelConfiguration? = nil, custom_welcome_email: CustomWelcomeEmail? = nil, onboarding_enabled: Bool? = nil, timezone: String? = nil, allow_user_timezones: Bool? = nil, data_connector_default_enabled: Bool? = nil, host_url: String? = nil, override_warnings: Bool? = nil, email_domain_allowlist: [String]? = nil, embed_cookieless_v2: Bool? = nil, embed_enabled: Bool? = nil, embed_config: EmbedConfig? = nil, login_notification_enabled: Bool? = nil, login_notification_text: String? = nil, dashboard_auto_refresh_restriction: Bool? = nil, dashboard_auto_refresh_minimum_interval: String? = nil, managed_certificate_uri: String? = nil) { self.instance_config = instance_config self.extension_framework_enabled = extension_framework_enabled self.extension_load_url_enabled = extension_load_url_enabled @@ -20945,6 +20973,7 @@ public struct Setting: SDKModel { self._login_notification_text = login_notification_text.map(AnyString.init) self.dashboard_auto_refresh_restriction = dashboard_auto_refresh_restriction self._dashboard_auto_refresh_minimum_interval = dashboard_auto_refresh_minimum_interval.map(AnyString.init) + self._managed_certificate_uri = managed_certificate_uri.map(AnyString.init) } } @@ -25468,6 +25497,7 @@ public struct WriteDBConnection: SDKModel { case ssl case verify_ssl case _tmp_db_name = "tmp_db_name" + case _tmp_db_host = "tmp_db_host" case _jdbc_additional_params = "jdbc_additional_params" case _pool_timeout = "pool_timeout" case _dialect_name = "dialect_name" @@ -25647,6 +25677,15 @@ public struct WriteDBConnection: SDKModel { set { _tmp_db_name = newValue.map(AnyString.init) } } + private var _tmp_db_host: AnyString? + /** + * Name of temporary host (if used) + */ + public var tmp_db_host: String? { + get { _tmp_db_host?.value } + set { _tmp_db_host = newValue.map(AnyString.init) } + } + private var _jdbc_additional_params: AnyString? /** * Additional params to add to JDBC connection string @@ -25816,7 +25855,7 @@ public struct WriteDBConnection: SDKModel { */ public var bq_roles_verified: Bool? - public init(name: String? = nil, host: String? = nil, port: String? = nil, username: String? = nil, password: String? = nil, certificate: String? = nil, file_type: String? = nil, database: String? = nil, db_timezone: String? = nil, query_timezone: String? = nil, schema: String? = nil, max_connections: Int64? = nil, max_queries: Int64? = nil, max_queries_per_user: Int64? = nil, max_billing_gigabytes: String? = nil, ssl: Bool? = nil, verify_ssl: Bool? = nil, tmp_db_name: String? = nil, jdbc_additional_params: String? = nil, pool_timeout: Int64? = nil, dialect_name: String? = nil, user_db_credentials: Bool? = nil, user_attribute_fields: [String]? = nil, maintenance_cron: String? = nil, sql_runner_precache_tables: Bool? = nil, sql_writing_with_info_schema: Bool? = nil, after_connect_statements: String? = nil, pdt_context_override: WriteDBConnectionOverride? = nil, custom_local_port: Int64? = nil, tunnel_id: String? = nil, uses_tns: Bool? = nil, pdt_concurrency: Int64? = nil, disable_context_comment: Bool? = nil, oauth_application_id: String? = nil, always_retry_failed_builds: Bool? = nil, uses_application_default_credentials: Bool? = nil, impersonated_service_account: String? = nil, cost_estimate_enabled: Bool? = nil, pdt_api_control_enabled: Bool? = nil, connection_pooling: Bool? = nil, bq_storage_project_id: String? = nil, bq_roles_verified: Bool? = nil) { + public init(name: String? = nil, host: String? = nil, port: String? = nil, username: String? = nil, password: String? = nil, certificate: String? = nil, file_type: String? = nil, database: String? = nil, db_timezone: String? = nil, query_timezone: String? = nil, schema: String? = nil, max_connections: Int64? = nil, max_queries: Int64? = nil, max_queries_per_user: Int64? = nil, max_billing_gigabytes: String? = nil, ssl: Bool? = nil, verify_ssl: Bool? = nil, tmp_db_name: String? = nil, tmp_db_host: String? = nil, jdbc_additional_params: String? = nil, pool_timeout: Int64? = nil, dialect_name: String? = nil, user_db_credentials: Bool? = nil, user_attribute_fields: [String]? = nil, maintenance_cron: String? = nil, sql_runner_precache_tables: Bool? = nil, sql_writing_with_info_schema: Bool? = nil, after_connect_statements: String? = nil, pdt_context_override: WriteDBConnectionOverride? = nil, custom_local_port: Int64? = nil, tunnel_id: String? = nil, uses_tns: Bool? = nil, pdt_concurrency: Int64? = nil, disable_context_comment: Bool? = nil, oauth_application_id: String? = nil, always_retry_failed_builds: Bool? = nil, uses_application_default_credentials: Bool? = nil, impersonated_service_account: String? = nil, cost_estimate_enabled: Bool? = nil, pdt_api_control_enabled: Bool? = nil, connection_pooling: Bool? = nil, bq_storage_project_id: String? = nil, bq_roles_verified: Bool? = nil) { self._name = name.map(AnyString.init) self._host = host.map(AnyString.init) self._port = port.map(AnyString.init) @@ -25835,6 +25874,7 @@ public struct WriteDBConnection: SDKModel { self.ssl = ssl self.verify_ssl = verify_ssl self._tmp_db_name = tmp_db_name.map(AnyString.init) + self._tmp_db_host = tmp_db_host.map(AnyString.init) self._jdbc_additional_params = jdbc_additional_params.map(AnyString.init) self._pool_timeout = pool_timeout.map(AnyInt.init) self._dialect_name = dialect_name.map(AnyString.init) @@ -25997,6 +26037,112 @@ public struct WriteDBConnectionOverride: SDKModel { } +/** + * Dynamic writeable type for EmbedConfig removes: + * embed_enabled + */ +public struct WriteEmbedConfig: SDKModel { + + private enum CodingKeys : String, CodingKey { + case _domain_allowlist = "domain_allowlist" + case _alert_url_allowlist = "alert_url_allowlist" + case _alert_url_param_owner = "alert_url_param_owner" + case _alert_url_label = "alert_url_label" + case sso_auth_enabled + case embed_cookieless_v2 + case embed_content_navigation + case embed_content_management + case strict_sameorigin_for_login + case look_filters + case hide_look_navigation + } + private var _domain_allowlist: [AnyString]? + /** + * List of domains to allow for embedding + */ + public var domain_allowlist: [String]? { + get { if let v = _domain_allowlist { return v.map { $0.value } } else { return nil } } + set { if let v = newValue { _domain_allowlist = v.map { AnyString.init($0) } } else { _domain_allowlist = nil } } + } + + private var _alert_url_allowlist: [AnyString]? + /** + * List of base urls to allow for alert/schedule + */ + public var alert_url_allowlist: [String]? { + get { if let v = _alert_url_allowlist { return v.map { $0.value } } else { return nil } } + set { if let v = newValue { _alert_url_allowlist = v.map { AnyString.init($0) } } else { _alert_url_allowlist = nil } } + } + + private var _alert_url_param_owner: AnyString? + /** + * Owner of who defines the alert/schedule params on the base url + */ + public var alert_url_param_owner: String? { + get { _alert_url_param_owner?.value } + set { _alert_url_param_owner = newValue.map(AnyString.init) } + } + + private var _alert_url_label: AnyString? + /** + * Label for the alert/schedule url + */ + public var alert_url_label: String? { + get { _alert_url_label?.value } + set { _alert_url_label = newValue.map(AnyString.init) } + } + + /** + * Is SSO embedding enabled for this Looker + */ + public var sso_auth_enabled: Bool? + + /** + * Is Cookieless embedding enabled for this Looker + */ + public var embed_cookieless_v2: Bool? + + /** + * Is embed content navigation enabled for this looker + */ + public var embed_content_navigation: Bool? + + /** + * Is embed content management enabled for this Looker + */ + public var embed_content_management: Bool? + + /** + * When true, prohibits the use of Looker login pages in non-Looker iframes. When false, Looker login pages may be used in non-Looker hosted iframes. + */ + public var strict_sameorigin_for_login: Bool? + + /** + * When true, filters are enabled on embedded Looks + */ + public var look_filters: Bool? + + /** + * When true, removes navigation to Looks from embedded dashboards and explores. + */ + public var hide_look_navigation: Bool? + + public init(domain_allowlist: [String]? = nil, alert_url_allowlist: [String]? = nil, alert_url_param_owner: String? = nil, alert_url_label: String? = nil, sso_auth_enabled: Bool? = nil, embed_cookieless_v2: Bool? = nil, embed_content_navigation: Bool? = nil, embed_content_management: Bool? = nil, strict_sameorigin_for_login: Bool? = nil, look_filters: Bool? = nil, hide_look_navigation: Bool? = nil) { + if let v = domain_allowlist { _domain_allowlist = v.map { AnyString.init($0) } } else { _domain_allowlist = nil } + if let v = alert_url_allowlist { _alert_url_allowlist = v.map { AnyString.init($0) } } else { _alert_url_allowlist = nil } + self._alert_url_param_owner = alert_url_param_owner.map(AnyString.init) + self._alert_url_label = alert_url_label.map(AnyString.init) + self.sso_auth_enabled = sso_auth_enabled + self.embed_cookieless_v2 = embed_cookieless_v2 + self.embed_content_navigation = embed_content_navigation + self.embed_content_management = embed_content_management + self.strict_sameorigin_for_login = strict_sameorigin_for_login + self.look_filters = look_filters + self.hide_look_navigation = hide_look_navigation + } + +} + /** * Dynamic writeable type for EmbedSecret removes: * created_at, id, secret, user_id @@ -28636,6 +28782,7 @@ public struct WriteSetting: SDKModel { case embed_config case dashboard_auto_refresh_restriction case _dashboard_auto_refresh_minimum_interval = "dashboard_auto_refresh_minimum_interval" + case _managed_certificate_uri = "managed_certificate_uri" } /** * Toggle extension framework on or off @@ -28724,7 +28871,11 @@ public struct WriteSetting: SDKModel { */ public var embed_cookieless_v2: Bool? - public var embed_config: EmbedConfig? + /** + * Dynamic writeable type for EmbedConfig removes: + * embed_enabled + */ + public var embed_config: WriteEmbedConfig? /** * Toggle Dashboard Auto Refresh restriction @@ -28740,7 +28891,16 @@ public struct WriteSetting: SDKModel { set { _dashboard_auto_refresh_minimum_interval = newValue.map(AnyString.init) } } - public init(extension_framework_enabled: Bool? = nil, extension_load_url_enabled: Bool? = nil, marketplace_auto_install_enabled: Bool? = nil, marketplace_automation: MarketplaceAutomation? = nil, marketplace_enabled: Bool? = nil, marketplace_terms_accepted: Bool? = nil, privatelabel_configuration: WritePrivatelabelConfiguration? = nil, custom_welcome_email: CustomWelcomeEmail? = nil, onboarding_enabled: Bool? = nil, timezone: String? = nil, allow_user_timezones: Bool? = nil, data_connector_default_enabled: Bool? = nil, host_url: String? = nil, override_warnings: Bool? = nil, email_domain_allowlist: [String]? = nil, embed_cookieless_v2: Bool? = nil, embed_config: EmbedConfig? = nil, dashboard_auto_refresh_restriction: Bool? = nil, dashboard_auto_refresh_minimum_interval: String? = nil) { + private var _managed_certificate_uri: AnyString? + /** + * URI pointing to the location of a private root certificate in Secret Manager + */ + public var managed_certificate_uri: String? { + get { _managed_certificate_uri?.value } + set { _managed_certificate_uri = newValue.map(AnyString.init) } + } + + public init(extension_framework_enabled: Bool? = nil, extension_load_url_enabled: Bool? = nil, marketplace_auto_install_enabled: Bool? = nil, marketplace_automation: MarketplaceAutomation? = nil, marketplace_enabled: Bool? = nil, marketplace_terms_accepted: Bool? = nil, privatelabel_configuration: WritePrivatelabelConfiguration? = nil, custom_welcome_email: CustomWelcomeEmail? = nil, onboarding_enabled: Bool? = nil, timezone: String? = nil, allow_user_timezones: Bool? = nil, data_connector_default_enabled: Bool? = nil, host_url: String? = nil, override_warnings: Bool? = nil, email_domain_allowlist: [String]? = nil, embed_cookieless_v2: Bool? = nil, embed_config: WriteEmbedConfig? = nil, dashboard_auto_refresh_restriction: Bool? = nil, dashboard_auto_refresh_minimum_interval: String? = nil, managed_certificate_uri: String? = nil) { self.extension_framework_enabled = extension_framework_enabled self.extension_load_url_enabled = extension_load_url_enabled self.marketplace_auto_install_enabled = marketplace_auto_install_enabled @@ -28760,6 +28920,7 @@ public struct WriteSetting: SDKModel { self.embed_config = embed_config self.dashboard_auto_refresh_restriction = dashboard_auto_refresh_restriction self._dashboard_auto_refresh_minimum_interval = dashboard_auto_refresh_minimum_interval.map(AnyString.init) + self._managed_certificate_uri = managed_certificate_uri.map(AnyString.init) } } diff --git a/swift/looker/sdk/streams.swift b/swift/looker/sdk/streams.swift index 41aca0d49..d54645586 100644 --- a/swift/looker/sdk/streams.swift +++ b/swift/looker/sdk/streams.swift @@ -701,7 +701,7 @@ open class LookerSDKStream: APIMethods { * * The value of the `secret` field will be set by Looker and returned. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed_config/secrets -> EmbedSecret */ @@ -719,7 +719,7 @@ open class LookerSDKStream: APIMethods { /** * ### Delete an embed secret. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed_config/secrets/{embed_secret_id} -> String */ @@ -779,7 +779,7 @@ open class LookerSDKStream: APIMethods { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/sso_url -> EmbedUrlResponse */ @@ -822,7 +822,7 @@ open class LookerSDKStream: APIMethods { * encrypted transport. * * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/token_url/me -> EmbedUrlResponse */ @@ -886,7 +886,7 @@ open class LookerSDKStream: APIMethods { * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into * the iframe. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /embed/cookieless_session/acquire -> EmbedCookielessSessionAcquireResponse */ @@ -908,7 +908,7 @@ open class LookerSDKStream: APIMethods { * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed * user out of the Looker instance. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /embed/cookieless_session/{session_reference_token} -> String */ @@ -940,7 +940,7 @@ open class LookerSDKStream: APIMethods { * the session time to live in the `session_reference_token_ttl` response property. If this property * contains a zero, the embed session has expired. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * PUT /embed/cookieless_session/generate_tokens -> EmbedCookielessSessionGenerateTokensResponse */ @@ -2851,6 +2851,7 @@ open class LookerSDKStream: APIMethods { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -2891,6 +2892,7 @@ open class LookerSDKStream: APIMethods { * - extension_framework_enabled * - extension_load_url_enabled * - instance_config + * - managed_certificate_uri * - marketplace_auto_install_enabled * - marketplace_automation * - marketplace_terms_accepted @@ -3989,10 +3991,18 @@ open class LookerSDKStream: APIMethods { * @param {String} fields Requested fields. */ fields: String? = nil, + /** + * @param {DelimArray} project_names Optional list of project names to filter by + */ + project_names: DelimArray? = nil, + /** + * @param {DelimArray} space_ids Optional list of space ids to filter by + */ + space_ids: DelimArray? = nil, options: ITransportSettings? = nil ) -> SDKResponse { let result: SDKResponse = self.get("/content_validation", - ["fields": fields], nil, options) + ["fields": fields, "project_names": project_names as Any?, "space_ids": space_ids as Any?], nil, options) return result } @@ -6855,10 +6865,22 @@ open class LookerSDKStream: APIMethods { * @param {Int64} offset Number of results to skip before returning any. (Defaults to 0 if not set when limit is used) */ offset: Int64? = nil, + /** + * @param {Bool} exclude_empty Whether or not to exclude models with no explores from the response (Defaults to false) + */ + exclude_empty: Bool? = nil, + /** + * @param {Bool} exclude_hidden Whether or not to exclude hidden explores from the response (Defaults to false) + */ + exclude_hidden: Bool? = nil, + /** + * @param {Bool} include_internal Whether or not to include built-in models such as System Activity (Defaults to false) + */ + include_internal: Bool? = nil, options: ITransportSettings? = nil ) -> SDKResponse { let result: SDKResponse = self.get("/lookml_models", - ["fields": fields, "limit": limit, "offset": offset], nil, options) + ["fields": fields, "limit": limit, "offset": offset, "exclude_empty": exclude_empty as Any?, "exclude_hidden": exclude_hidden as Any?, "include_internal": include_internal as Any?], nil, options) return result } @@ -8222,7 +8244,7 @@ open class LookerSDKStream: APIMethods { * * Returns the results of an async query task if the query has completed. * - * If the query task is still running or waiting to run, this function returns 204 No Content. + * If the query task is still running or waiting to run, this function returns 202 Accepted. * * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found. * @@ -11674,7 +11696,7 @@ open class LookerSDKStream: APIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> CredentialsEmbed */ @@ -11703,7 +11725,7 @@ open class LookerSDKStream: APIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> String */ @@ -11727,7 +11749,7 @@ open class LookerSDKStream: APIMethods { /** * ### Embed login information for the specified user. * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * GET /users/{user_id}/credentials_embed -> [CredentialsEmbed] */ @@ -12127,7 +12149,7 @@ open class LookerSDKStream: APIMethods { /** * Create an embed user from an external user ID * - * Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled + * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise. * * POST /users/embed_user -> UserPublic */